在 gdal2tiles.py 中使用空间参考 EPSG:3440 时出错

Error when using spatial reference EPSG:3440 in gdal2tiles.py

我使用 gdal2tiles.py 空间参考 WSG84,它运行良好。但是,当我更改为空间参考时 EPSG:3440。我收到以下错误:

首先,我运行命令:

gdal_translate -of VRT -a_srs EPSG:3440 -gcp 0 0 58.068451479718924 23.65512391903488 -gcp 21816 0 58.126966134442846 23.65512391903488 -gcp 21816 14871 58.126966134442846 23.6185834507829  myinputimage.png myoutput.vrt

比起,我运行命令:

python gdal2tiles.py  myoutput.vrt

我收到以下错误:

是否有办法修复此错误或使用没有此错误的类似空间参考。请注意,此错误仅在使用 WSG84 以外的空间参考时发生。

编辑:我想问题可能是没有包含空间参考 EPSG:3440,但问题仍然存在,是否可以将其添加到 gdal 参考数据库中。

EPSG:3440是一个投影系统。精度 0.5 米的正确定义可能是:

+proj=utm +zone=40 +ellps=clrk80 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_defs 

如果我看一下 http://epsg.io/3440-1439 它会告诉我:

Projected bounds:
-35283.71 1840661.51
789562.66 2942956.58

在上面的命令中,您分配了看起来像大地测量(纬度经度数字)的地面控制点,例如 58.068451479718924。这很可能是错误的——因为您分配的数字不在预计范围内。

您必须在 -gcp 参数中使用更大的 gdal_translate 数字 - 已经投影并在上述范围内。

可以通过以下在线界面从 WGS84 转换您的 lat/lon: http://epsg.io/3440-1439/map 并在 -gcp 参数中分配转换后的数字。

您已使用引用 http://www.maptiler.com/ 的标签 maptiler 标记了您的查询。该工具也能够在视觉上分配坐标,而无需创建 VRT - 因此您可以单击图像并将上述坐标复制并粘贴到投影系统中。 MapTiler 生成一个查看器,它在 OpenLayers 中显示 EPSG:3440 图块,或将这些图块转换为球形墨卡托图块,以便与 Google 或 OSM 叠加或在移动应用程序中使用。

顺便说一句,很高兴听到您使用我们开发的系统 gdal2tiles、maptiler 和 http://epsg.io/...