如何从WMS层导出多份GeoTIFF格式文件?
WMS图层批量导出高分辨率分块GeoTIFF操作方案
完全可以实现批量导出需求,你之前导出的文件分辨率差,是因为默认的图层保存功能只会拉取WMS服务当前视口的低分辨率预览层级,没有指定最高分辨率和分块规则导致。
前置准备
- 确认目标WMS服务支持的最高空间分辨率,以及你需要的分块规则:可以按像素分块(比如每块1024×1024像素),也可以按地理范围分块(比如每块对应1°×1°的经纬度格网,具体规则匹配你所用游戏的高程数据加载要求即可)
- 本地安装GDAL地理数据处理工具,Windows可直接使用预编译安装包,Mac/Linux可通过对应系统的包管理器直接安装
批量导出操作步骤
生成WMS服务本地配置文件
运行命令:gdal_translate "WMS:<你的WMS服务根地址>" wms_config.xml
该命令会将WMS服务的图层列表、坐标系、可用分辨率等元数据写入本地配置文件,避免后续导出时重复请求服务元信息。单块高分辨率导出命令模板
gdal_translate -of GTiff -projwin <左上经度> <左上纬度> <右下经度> <右下纬度> -tr <横向分辨率> <纵向分辨率> -ot <数据类型> wms_config.xml <输出路径/块编号.tif>
参数说明:
-tr参数需填你之前确认的WMS服务最高分辨率,不要使用默认值,这是避免导出文件模糊的核心设置- 高程类WMS服务一般返回16位整型数据,对应
-ot Int16,如果是浮点型高程可替换为-ot Float32,避免默认转成8位RGB格式丢失高程精度
- 批量导出实现
按照你定的分块规则,遍历所有分块的四至坐标,循环调用上述单块导出命令,修改对应-projwin的四至参数和输出文件名,即可得到批量符合精度要求的分块GeoTIFF文件。
导出后校验
可运行gdalinfo <导出的tif文件路径>命令,检查单文件的分辨率、数据类型、坐标范围是否符合预期,确认无误后即可导入游戏使用。
内容的提问来源于stack exchange,提问作者Boris
相关产品推荐
相关产品推荐

