将GTiff转换为PDF时如何保留地理空间数据?
解决GTiff转带地理配准的Geospatial PDF问题
一、修正GDAL Translate的用法
你当前的代码未明确指定输出格式为GeoPDF,GDAL默认可能生成普通PDF而非带地理空间信息的版本。需补充格式参数及GeoPDF专属配置:
from osgeo import gdal pdfTarget = 'pdf/output.pdf' mapSource = 'map_images/input.tif' # 配置GeoPDF核心创建参数 creation_options = [ 'GEO_ENCODING=OGC_BP', # 采用OGC标准地理编码,确保兼容性 'LAYERS=ON' # 保留图层结构,可选 ] # 生成带地理配准的PDF gdal.Translate( pdfTarget, mapSource, format='PDF', outputSRS='EPSG:4326', creationOptions=creation_options )
注意:需确保你的GDAL版本在2.0及以上,旧版本可能不支持GeoPDF输出。
二、使用GDAL命令行工具(更易调试)
如果代码方式仍有问题,直接用gdal_translate命令行操作,参数更直观:
gdal_translate -of PDF -co GEO_ENCODING=OGC_BP -a_srs EPSG:4326 map_images/input.tif pdf/output.pdf
如需调整分辨率或压缩,可追加-outsize 100% 100%(控制输出尺寸)或-co COMPRESS=DEFLATE(启用压缩)等参数。
三、QGIS图形界面操作(适合非编程场景)
- 打开QGIS,加载目标GTiff文件
- 点击菜单栏
项目->打印布局,新建空白布局 - 在布局中添加「地图项」,选择加载的GTiff图层,调整至合适大小
- 点击
布局->导出为PDF,在导出设置中勾选「导出地理参考数据」 - 保存即可得到带地理配准的PDF
四、其他工具选项
- ArcGIS Pro/Desktop:加载GTiff后,通过「导出地图」功能选择PDF格式,在设置中启用「地理参考」选项。
- Global Mapper:导入GTiff后,选择
文件->导出->导出PDF,勾选「包含地理参考数据」。
内容的提问来源于stack exchange,提问作者Erik
相关产品推荐
相关产品推荐

