【问题标题】:Error when using spatial reference EPSG:3440 in gdal2tiles.py在 gdal2tiles.py 中使用空间参考 EPSG:3440 时出错
【发布时间】:2015-09-11 00:01:06
【问题描述】:

我使用带有空间参考 WSG84 的 gdal2tiles.py,它工作正常。但是,当我更改为空间参考 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 参考数据库中。

【问题讨论】:

  • 可以尝试使用对应的Proj4字符串代替EPSG代码——“+proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs”。这通常对我有用。

标签: google-maps gdal maptiler


【解决方案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 转换您的纬度/经度: http://epsg.io/3440-1439/map 并在 -gcp 参数中分配转换后的数字。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 2019-09-10
    相关资源
    最近更新 更多