我有一个具有特定 SRID 的点云。现在我想使用选择查询将整个点云转换为不同的 SRID(这里:4326 lat, lon)。我的第一个超级低效的方法是:
SELECT
ST_X
(
ST_GeometryN( p , n )
) as lon ,
ST_Y
(
ST_GeometryN( p , n )
) as lat
FROM
ST_Ttransform
(
ST_SetSRID
(
ST_GeomFromText
(
'MULTIPOINT
(
10.0 20.0 30.0 , 40.0 50.0 60.0 , 70.0 80.0 90
)' -- three example 3d coordinates
) ,
SRID_FROM -- current pointcloud srid
) ,
SRID_TO -- desired pointcloud srid
)
AS p
CROSS JOIN
generate_series
(
1 ,
ST_NumGeometries( p )
) n
有没有更好的方法来实现这种转变?我需要一次转换大约 10k - 100k 点。