我正在使用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参考数据库。
答案 0 :(得分:1)
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。这很可能是错误的 - 因为您指定的数字不在预计的边界范围内。
你必须使用更大的gdal_translate数字的-gcp参数 - 已经预测并且在上面的范围内。
可以通过以下在线界面从WGS84转换lat / lon: http://epsg.io/3440-1439/map并在-gcp参数中指定转换后的数字。
您已使用引用http://www.maptiler.com/的标记maptiler
标记了您的查询。此工具可以在不需要创建VRT的情况下直观地分配坐标 - 因此您可以单击图像并将上述坐标复制并粘贴到投影系统中。
MapTiler生成一个查看器,在OpenLayers中显示EPSG:3440图块或将其转换为球形墨卡托图块,以便与Google或OSM叠加或在移动应用中使用。
BTW很高兴听到您使用我们开发的系统gdal2tiles,maptiler和http://epsg.io/ ......