使用 GDAL 将 Robinson 转换为 EPSG:3857

Transforming Robinson to EPSG:3857 with GDAL

我正在尝试将完整的罗宾逊投影转换为墨卡托投影。比如我用这个image.

首先,我应用地理标记:

gdal_translate -a_ullr -180 90 180 -90 -a_srs ESRI:54030 source.jpg source_tagged.tif

最后将其变形为墨卡托:

gdalwarp -t_srs ESRI:54030 -s_srs EPSG:3857 source_tagged.tif target.tif

结果在垂直方向上略有拉伸,但离正确的墨卡托还差得很远。我做错了什么?

您的命令中有几个问题。首先是 -180 90 不在全局 Robinson 投影 GeoTIFF 的左上角像素中。左上角是 -338.2187147689 90,右下角是 338.2187147689 -90。但是,您还将 srs 指定为 ESRI:54030,因此这些边界需要位于投影坐标中,而不是 lat/lons。从图像生成 GeoTIFF 的命令是:

gdal_translate -a_ullr -17005833.3305252 8625154.47184994 17005833.3305252 -8625154.47184994 -a_srs ESRI:54030 source.jpg source_tagged.tif

您的第二个命令切换了 -t_srs 和 -s_srs。鉴于您要投影到 EPSG:3857,您还需要提供边界,因为墨卡托在极点处趋于无穷大。所以更新后的命令看起来像:

gdalwarp -s_srs ESRI:54030 -t_srs EPSG:3857 -te -180 -81 180 81 -te_srs EPSG:4326 source_tagged.tif target.tif

我使用这些命令根据您的示例制作了以下投影图像(在 运行 它们之前裁剪图像中的空白)。