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

使用QGIS或Maperitive生成OpenStreetMap XYZ瓦片出现坏图问题求解

异常瓦片批量补渲染解决方案

提示:操作前建议先备份全部已有瓦片,避免误操作覆盖正常文件。

第一步:批量筛选异常瓦片

  • 第一轮快速筛选:空白、纯黑瓦片的文件体积远小于正常瓦片,你可以先统计10张正常瓦片的平均体积,设置阈值(建议设为正常体积的30%),用命令批量导出体积异常的瓦片路径:
    • Windows PowerShell命令:Get-ChildItem -Path "你的瓦片根目录路径" -Recurse -Filter *.png | Where-Object {$_.Length -lt 你设置的阈值字节数} | Select-Object FullName > 异常瓦片列表.txt
    • Linux/macOS Shell命令:find 你的瓦片根目录路径 -name "*.png" -size -[阈值]k > 异常瓦片列表.txt
  • 第二轮精准校验:如果担心体积筛选有误判,可以写简单Python脚本调用PIL库读取图片,判断所有像素是否为同一值(纯白/纯黑),进一步精准筛选出真正异常的瓦片路径。

QGis Result
Maperative Result

第二步:QGIS增量渲染异常瓦片

不需要全量重跑,两种可选方案:

  1. 插件方案:安装QGIS的「Generate XYZ Tiles」插件,使用自带的「仅更新缺失/损坏瓦片」模式,插件会自动校验已有瓦片完整性,仅渲染异常瓦片。
  2. 脚本方案:保存好你之前生成瓦片用的QGIS工程(确保数据源、样式、渲染范围和之前完全一致),从异常瓦片路径中提取XYZ坐标(标准XYZ瓦片路径格式为缩放级别/X/Y.png,拆分路径即可拿到z/x/y参数),用PyQGIS调用QgsMapRendererCustomPainterJob接口,计算对应瓦片的投影边界后单独渲染,输出覆盖原有异常文件即可。

第三步:Maperitive增量渲染异常瓦片

Maperitive默认支持跳过已存在的文件,你只需要先删除筛选出的异常瓦片,使用和之前完全一致的渲染配置重新启动任务,软件会自动跳过正常瓦片,仅渲染缺失的异常文件,无需全量重跑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:27:01