QGIS中自定义网格并生成单格TIFF文件的实现方法问询
在QGIS中自定义网格并生成独立TIFF文件的实现方案
可以在QGIS中实现自定义网格并为每个网格单元生成独立TIFF文件,以下是完整操作流程及相关问题解答:
一、完整操作流程
1. 加载OpenStreetMap底图
打开QGIS,在浏览器面板的XYZ Tiles选项中添加OpenStreetMap瓦片服务,完成后加载该底图图层。
2. 创建目标区域自定义网格
使用QGIS内置的创建网格工具:
- 打开
Processing Toolbox(快捷键Ctrl+Alt+T),搜索并启动Create Grid工具; - 设置网格范围:可选择画布范围、目标图层范围,或手动输入坐标指定区域;
- 选择网格类型(矩形、六边形等),设置单元格的宽度、高度参数;
- 指定输出的网格矢量图层保存路径,运行工具生成网格。
3. 按指定投影和比例尺批量生成TIFF
通过QGIS的Atlas布局功能实现批量导出:
- 先将网格图层和底图图层切换到目标投影(右键图层→
Set CRS→选择指定投影); - 创建新布局:点击顶部菜单栏
Layout→New Layout,设置布局尺寸(根据比例尺和网格单元格大小计算,比如比例尺1:100000、网格单元格1km×1km时,布局尺寸设为10cm×10cm); - 在布局中添加地图框,设置地图框的CRS为目标投影,比例尺调整为选定值;
- 启用Atlas功能:在布局右侧面板切换到
Atlas选项卡,选择网格图层作为Atlas覆盖层,勾选Controlled by Atlas,设置地图框跟随Atlas要素自动适配范围; - 配置导出设置:在Atlas选项卡中指定输出格式为TIFF,选择输出文件夹,设置文件名规则(可使用网格的属性字段如ID命名);
- 点击
Export Atlas,即可批量为每个网格单元生成独立的TIFF文件。
二、相关问题解答
是否有现成的QGIS工具可实现该功能?
有,QGIS内置工具组合即可完成:Create Grid(生成自定义网格)+Layout Atlas(批量导出TIFF)。此外还可通过Processing Toolbox调用GDAL的gdal_translate或gdalwarp工具,实现更灵活的批量导出逻辑。是否有对应的QGIS插件?
有第三方插件可简化流程,比如:
- Tile Generator:专门用于批量生成地图分块TIFF或瓦片,支持基于网格或自定义范围导出;
- Batch Processing Plugin:增强批量处理能力,可配合网格图层快速实现批量导出;
- Atlas Tools:扩展Atlas功能,提供更多自定义导出选项。
是否需要编写自定义脚本或插件?
如果内置工具和现有插件能满足需求,无需编写自定义脚本。但如果需要特殊逻辑(如复杂命名规则、超大区域自动化处理、定制化投影转换),可通过QGIS的Python Console编写脚本,利用qgis.core和processing模块实现自动化流程,比如遍历网格要素并调用导出接口生成TIFF。是否有工具可将大TIFF按指定行列数分割为小TIFF文件?
有多种免费工具可选:
- QGIS内置工具:Processing Toolbox中的
Split Raster工具,支持按指定行列数、瓦片大小或矢量网格分割大TIFF; - GDAL命令行工具:使用
gdal_retile.py脚本,适合处理瑞典全域这类超大TIFF,示例命令:
其中gdal_retile.py -r bilinear -ps 1024 1024 -targetDir ./output_tiles input.tif-ps参数指定瓦片的像素尺寸,-targetDir指定输出文件夹; - 这类工具均支持按行列数设置分割规则,满足大地图场景的处理需求。
内容的提问来源于stack exchange,提问作者JoeliP




