You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gdalwarp重投影tif时,将CRS保存至.tif而非.aux.xml

GDAL坐标转换CRS存储问题排查

问题描述

我使用命令gdalwarp -t_srs EPSG:8857 -r bilinear -wo NUM_THREADS=20 -multi in.tif out.tif对in.tif进行CRS转换,得到目标文件out.tif的同时生成了存储CRS信息的out.tif.aux.xml文件。删除该.xml文件后,out.tif的CRS信息丢失,执行gdalinfo out.tif无法查看CRS信息。请问能否指定将CRS信息保存至out.tif中?这应该是可行的,因为in.tif本身就包含CRS信息。另外,在另一台机器执行完全相同的命令时,out.tif却能正常包含CRS信息,我需要排查哪些点?编辑补充:使用EPSG:4326时一切正常,EPSG:8857存在什么问题?


一、能否将CRS信息直接写入out.tif?

可以。默认情况下GDAL会将CRS写入TIFF内部的GeoTIFF元数据,但EPSG:8857的特殊属性可能导致默认行为异常,可通过添加输出参数强制CRS嵌入:

gdalwarp -t_srs EPSG:8857 -r bilinear -wo NUM_THREADS=20 -multi -co PROFILE=GeoTIFF -co TFW=NO in.tif out.tif
  • -co PROFILE=GeoTIFF:强制使用标准GeoTIFF规范,确保CRS信息写入TIFF内部的专用标签
  • -co TFW=NO:禁用外部世界文件生成,避免GDAL将CRS信息分流到外部文件

二、不同机器结果差异的排查点

  • GDAL版本:不同版本对EPSG:8857的支持程度不同,老版本(低于3.0)可能无法将该坐标系完整嵌入TIFF,建议统一升级到3.0及以上版本
  • EPSG数据库:GDAL依赖的EPSG空间参考数据库版本不一致,部分机器的数据库可能缺少EPSG:8857的完整定义,导致只能通过外部aux.xml存储参数
  • TIFF驱动配置:通过gdalinfo --format GTiff查看两台机器的TIFF驱动默认配置,确认是否开启了GeoTIFF元数据支持,以及元数据存储的默认策略
  • 环境变量:检查GDAL_PAM_ENABLED、GDAL_TIFF_INTERNAL_MASK等环境变量,这些变量会控制GDAL是否生成外部aux.xml文件,确保两台机器的设置一致

三、EPSG:8857的特殊问题

EPSG:8857是CGCS2000系的3度带高斯克吕格投影,和EPSG:4326(标准地理坐标系)的差异导致了问题:

  • 该坐标系包含较多自定义投影参数,部分老版本GDAL无法用标准GeoTIFF标签完整表示这些参数,只能通过外部aux.xml存储扩展信息
  • EPSG:4326参数简单通用,GDAL可以直接将其写入TIFF内部的标准GeoTIFF标签,因此不会生成外部文件

内容的提问来源于stack exchange,提问作者cmosig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:30:30