是经度/纬度还是纬度/经度?
在 Google 地图等网络制图 API 中,空间坐标通常按纬度后接经度的顺序排列。
在 PostGIS 和 SQL Server 等空间数据库中,空间坐标按经度后接纬度的顺序排列。将两者混淆可能会导致诸如“为什么这个欧洲城市在我的地图上显示在非洲?”之类的疑问。
如果你不小心以纬度/经度的顺序加载了数据,你可以轻松地使用 ST_FlipCoordinates 函数来修复此错误。
用于几何的示例用法
ALTER TABLE sometable
ALTER COLUMN geom
TYPE geometry(LineString,4326)
USING ST_FlipCoordinates(geom);
用于地理
ALTER TABLE sometable
ALTER COLUMN geog
TYPE geography(LineString,4326)
USING geography(ST_FlipCoordinates(geometry(geom)));