gdalwarp正射投影转经纬度时极点截断问题及相关疑问咨询

问题解析与解决方案
极点截断&空白区域的本质原因
你用的正射投影(ortho)中心设在北纬85度,这种投影是透视类投影,只能覆盖以投影中心为顶点的半个地球,对跖点附近的区域(比如南极)根本不在原投影的覆盖范围内。gdalwarp只能转换已有数据的区域,没有数据的地方自然就是空白,这不是GDAL的缺陷,是正射投影本身的特性——它本来就看不到地球的另一半。
eqc、longlat、Plate-Carre的区别与联系
- Plate-Carre投影(
+proj=eqc):就是等距圆柱投影,把经纬度直接映射成平面坐标,默认单位是度,也可配置为米。 - Longlat(
+proj=longlat):严格来说不算投影,是地理坐标系(球面坐标),用经纬度表示位置。GDAL里会把它当作Plate-Carre的特例处理,所以可视化效果和eqc几乎一致。 - 你命令里给
longlat加+units=m是错误的——经纬度的单位必须是度(+units=deg),这个错误可能会导致坐标解析异常,进一步加剧截断问题。
如何处理截断问题
原正射数据本身没覆盖南极,不可能凭空生成那里的图像。如果要让输出文件覆盖完整的-90°到+90°纬度范围,可以在gdalwarp里加-te参数强制指定输出范围:
gdalwarp -t_srs "+proj=longlat +datum=WGS84 +ellps=WGS84 +units=deg" -te -180 -90 180 90 # 强制覆盖全球经纬度范围 QQQQ-kat-ortho.tif QQQQ-kat-latlon.tif
但空白区域还是会存在,因为原数据没有这些区域的信息。如果要得到完整的全球图,只能靠你用的NE1_50M_SR_W_tenth.tif这类底图来填充空白部分。
命令修正
你的gdalwarp命令里单位参数错误,修正后的正确命令:
gdalwarp -t_srs "+proj=longlat +datum=WGS84 +ellps=WGS84 +units=deg" QQQQ-kat-ortho.tif QQQQ-kat-latlon.tif
内容的提问来源于stack exchange,提问作者Molly
相关产品推荐
相关产品推荐

