瓦片检查工具使用方法
作者:xiaoyan
瓦片检查工具有以下几个功能:

-
将错误数据保存到CacheTask\check\check.udb文件中,可将该文件打开查看错误信息,或者根据该文件,通过多任务切图,对于错误部分重新切图。
-
补切错误瓦片,会检测CacheTask\fail文件夹下是否有错误瓦片的任务信息。如有错误信息,在检查瓦片之前会提示是否重切错误瓦片。
-
检查纯色瓦片(支持检查纯白瓦片)
-
舍去边界外瓦片,支持通过数据集制定边界范围,将边界外瓦片舍去。(慎用,使用前请对瓦片文件进行备份,进行该操作将直接改变瓦片文件,该操作无法回滚)
-
检查白线,可以通过遍历瓦片像素的方法,检测瓦片中的白色部分。适用于检测瓦片的边界,如下图所示类似瓦片。

界面介绍:
- 工作目录
工作目录指包含CacheTask,cache.property,瓦片文件夹的父文件夹。选择如图所示红圈中文件夹即可。

- 检查范围与边界范围:
通过设置检查范围可以避免全幅检测消耗时间长等问题,针对问题瓦片专门检测。
通过设置边界范围可以将边界范围外瓦片舍去,缩小瓦片体积。
推荐使用数据集范围,相较GeoJSON格式文件更加方便。
udbx制作步骤:a>

在选择文件界面设置成使用udbx文件,然后选择已经生成好的数据源。制作udbx文件方法在末尾。
- 选择好数据集后界面会有所改变,将制作好的面数据集在界面上选中。

边界范围设置方法同理,边界范围是针对舍去边界外瓦片专用,如不使用舍去边界外瓦片功能,则边界范围不可设置。
检查范围与边界范围不设置则默认范围全部瓦片。
- 任务数与切图任务数设置相同即可,设置任务数则可启用多进程处理,提高瓦片检查效率,若不知道切图时任务数量,则根据检查瓦片所用机器CPU核心数*2,例如4核处理器使用8任务数,则能发挥电脑最大性能,该功能经过实测,对于硬盘读取能力要求较高,若通过任务管理器查看CPU占用率较低,请检查磁盘读写情况。
运行原理:在该工具运行阶段,CacheTask文件夹中会生成多个新文件夹,组织形式如下图所示。

执行过程中会将build文件夹中的sci后缀的任务文件读取&#xff0c;并转移到checking文件夹中&#xff0c;checking文件夹中的sci即是正在检查的瓦片的任务文件&#xff0c;数量为<&#61;任务数*3。
检查无误的瓦片文件任务会进入checked文件夹&#xff0c;有误的文件会进入failed文件夹。同时check文件夹中的udb会获得有误的瓦片信息&#xff0c;可以在iDesktopX&#xff0c;iDesktop中打开该数据源查看。


每个瓦片层级都会生成一个面数据集&#xff0c;通过桌面端处理可以比较清楚看到瓦片错误情况。如下图所示。

同时可以参考该数据集中属性表&#xff0c;通过属性统计的方法确定错误瓦片数量。

瓦片的错误类型记录在errordesc字段中&#xff0c;blockWhite代表瓦片存在白边&#xff0c;SolidWhite表明瓦片是纯白色的&#xff0c;missing表示不存在该瓦片。
每次检查完成时会在iDesktopX的输出窗口中输出表格。

瓦片错误修正&#xff1a;利用生成地图瓦片&#xff08;多任务更新/追加瓦片功能&#xff09;

选择瓦片目录下的sci文件作为地图瓦片配置文件。点击下一步

去除正常瓦片的比例尺。单击下一步。

选择自定义表达式。

红框处选择check数据源中包含错误的数据集。
绿框处双击可以快速填入字段&#xff0c;在蓝框处写SQL表达式选择需要重切的瓦片部分&#xff0c;如
SmID>&#61;0即选择全部瓦片&#xff0c;也可以根据错误类型来选择。之后选择下一步重切瓦片即可。
不同场景需要填入界面的内容。
场景1.检查缺失瓦片

根据上文应填入的部分&#xff0c;勾选保存错误数据checkbox&#xff0c;填入工作目录&#xff0c;任务数即可&#xff0c;检查范围可不填&#xff0c;不填则默认全幅检查。
场景2&#xff1a;检查指定界限外瓦片

设置工作目录&#xff0c;边界范围&#xff0c;任务数&#xff0c;勾选舍去边界外瓦片复选框。边界范围中选择的面数据集即作为边界。强烈建议将瓦片进行备份后执行该操作&#xff0c;边界外瓦片将被直接删除&#xff0c;该操作无法回滚。
场景3&#xff1a;检测空白瓦片
空白瓦片形成的原因可能有两种&#xff0c;一种为纯白色瓦片&#xff0c;另一种为瓦片缺失&#xff0c;这两种情况在桌面或者前端加载时均为空白瓦片。所以应有针对性的运用场景1中的检测缺失瓦片或者检测纯白色瓦片两个功能。

场景4&#xff1a;检查纯黑瓦片

选择以上功能&#xff0c;纯黑瓦片会被统计在CacheTask\check\check.udb文件夹下的数据集中&#xff0c;数据集属性为SolidBlack。
以上检查结果均可在输出窗口以及CacheTask\check\check.udb下查看。
后记补充&#xff0c;1.真实瓦片丢失和边界上无色部分都会被检测成missing&#xff0c;在重切瓦片过程中应对此部分进行处理。
2.制作范围&#xff1a;在工作空间中新建数据源&#xff0c;选择和瓦片相同的坐标系&#xff0c;在该数据源中新建面数据集&#xff0c;然后将瓦片和数据集加到同一张地图中&#xff0c;对面数据集进行地物编辑&#xff0c;绘制面&#xff0c;作为瓦片的检测范围和边界范围。