将坐标从 SVY21 转换为 WGS84

Converting coordinates from SVY21 to WGS84

我正在尝试将我拥有的 SVY21 坐标转换为 WGS84 坐标系。

我尝试使用 GDAL software 并在安装后将以下内容粘贴到命令中: ogr2ogr -f GeoJSON –t_srs WGS84 <jsonFileName>.json <shapefile>.shp

导致失败:

Unable to open datasource 'WGS84' with the following drivers

并列出了驱动程序。

我也试过用pythonutm package把N48 utm坐标转换成WGS48,但是我没能把SVY21坐标转换成N48 utm参考点。

我发现此 old post 中提出的解决方案在术语方面令人困惑,我更愿意使用一些现有的解决方案。

是否有 "easy" 解决方案可以利用我以前的方法或快速适用于我的问题?如果有人能为我提供更准确的解释,我也会很高兴在旧 post.

提前致谢。

编辑:我尝试编写一个 python 脚本来实现前面提到的 "old post" 的 vicenty 直接计算。如果有人可以确认从原始 svy21 (e,n) 中减去投影原点的错误坐标 (28001.642mE,38744.572mN) 并使用投影原点(未标记点)(103° 50' 00",这也会有所帮助1° 22' 00") 是正确的。

我正在手动编译 gdal,我可以使用以下命令来执行您想要的操作:

  1. 您必须复制 ogr2ogr-command 旁边的 *.shp(和 *.shx)文件(来源:https://gis.stackexchange.com/questions/56652/how-to-move-and-open-shapefiles-with-ogr2ogr

  2. gdal 不会立即知道 "EPSG:3414" - SCY21 的 EPSG 名称,所以给它一个提示,这是在 [INSTALL LOCATION]/data 中(我不知道它在哪里在已安装的版本上,尤其是在 windows 上。搜索名为 "gcs.csv" 的文件,然后将 GDAL_LOCATION 指向包含的文件夹。

  3. 相应地定义t_srs和s_srs

  4. 定义输出格式("GEOJson")

总结总结:

GDAL_DATA="../data" ./ogr2ogr -f "GEOJson" "LaneMarking_wgs84.json" "LaneMarking.shp" -t_srs WGS84 -s_srs "EPSG:3414"

玩得开心:)