一种地图瓦片数据空白漏洞快速检测及修复方法技术

技术编号:25550956 阅读:27 留言:0更新日期:2020-09-08 18:50
本发明专利技术涉及一种地图瓦片数据空白漏洞快速检测及修复方法。将待检测瓦片大小与预设阈值比较,若较小,则认为瓦片可能有问题,根据该瓦片的行列号,计算瓦片坐标范围,通过WMS服务请求切片服务器对应坐标范围数据,若新瓦片数据比原始瓦片数据大,说明确实存在切片空白漏洞问题,若设置自动更新功能,则将新获取的瓦片数据替换原来的瓦片数据,替换保存相应数据,若未设置自动更新功能或若新瓦片数据与原始瓦片数据一致或更小,则根据瓦片编号,调取瓦片数据及其周边九宫格的瓦片数据与对应切片服务器的数据进行比较,若确认是切片问题,进行更新,记录更新日志,若是瓦片数据本身有问题,修正数据后再进行更新;而后进行人工核查。

【技术实现步骤摘要】
一种地图瓦片数据空白漏洞快速检测及修复方法
本专利技术属于地图瓦片更新
,具体涉及一种地图瓦片数据空白漏洞快速检测及修复方法。
技术介绍
地图瓦片,是一种改善地图浏览用户体验的优化策略。目前流行的在线地图服务,例如天地图、百度地图等,对地图浏览速度和并发性要求都比较高,均采用使用地图瓦片技术的方式满足快速访问地图的需求。地图瓦片是包含了一系列比例尺、一定地图范围内的地图切片文件。地图瓦片按照金字塔结构组织,每张瓦片都可通过级别、行列号唯一标记。在平移、缩放地图时,浏览器根据金字塔规则,计算出所需的瓦片,从瓦片服务器获取并拼接。随着测绘技术的发展,地图数据的体量越来越大,更新越来越频繁,一般情况下,地图生成地图瓦片少则需要几天,多则一个月乃至更长时间,地图切图任务完成后,对瓦片数据进行结果检测,是必不可少的步骤,经常会发现有空白图漏洞出现,这严重影响了地图的完整性,而为了文件管理方便,一般都采用紧凑型缓存方式,将128*128张图片打包到一个文件中,要检查出空白图、纯色图片,人工的检查是无法有效检测并修复的。地图切片出现空白漏洞,一般由以下几个方面引起:1、使用了数据库的数据源,数据库服务器不稳定,或数据库软件负荷重,或网络不稳定,会造成切片空白;2、ArcGISServer发布了过多的地图服务,导致服务延时严重。一般来说ArcGISServer对应的地图实例数为一个核对应两个实例,如果服务数量太多,就会出现问题;3、切图服务器在切图过程中受到干扰太多,如文件读写、CPU运算、内存占用等;4、数据存在问题,这些问题一般存在线和面的数据中,如八字形环状数据、非闭合的环等。以上因素可以通过配置,数据几何检查修复等一些设置尽量减少空白漏洞的发生,但无法完全避免空白漏洞的发生,因此需要通过其他方法对已经切图完成的数据进行检测、修复。
技术实现思路
本专利技术的目的在于提供一种地图瓦片数据空白漏洞快速检测及修复方法,能够提升地图瓦片数据检测的效率,且能够快速定位数据问题,并提供自动进行修复数据及人工审核,发现具体数据问题修改后再修复瓦片功能,大大提高工作效率,确保瓦片数据的完整性。为实现上述目的,本专利技术的技术方案是:一种地图瓦片数据空白漏洞快速检测及修复方法,包括如下步骤:步骤S1、将待测瓦片数据中每一瓦片的大小与设定的空白图片、纯色图片的阀值进行比较,若瓦片大小比阀值小,则认为瓦片可能有问题,执行步骤S2;步骤S2、根据判断可能有问题的瓦片的行列号,计算瓦片坐标范围,通过WMS服务请求切片服务器对应坐标范围数据,执行步骤S3;瓦片坐标计算公式:Y=原点Y-(128*(行号/128))*(精度*图片垂直大小)X=(128*(列号/128))*(精度*图片水平大小)+原点X其中,切图原点为左上角;步骤S3、若切片服务器获得的新瓦片数据比原始瓦片数据大,说明确实存在切片空白漏洞问题,若设置自动更新功能,则执行步骤S4,若未设置自动更新功能,则记录位置,执行步骤S5;若切片服务器获得的新瓦片数据与原始瓦片数据一致或更小,则执行步骤S5;步骤S4、将新获取的瓦片数据替换原始瓦片数据,写入瓦片文件包中,同时调整新获取的瓦片数据索引文件对应瓦片的偏移量及该索引文件中在其之后所有瓦片的偏移量,然后记录更新日志,同时保存变更前后的瓦片数据,以便需要人工进行核查时可以进行核对;步骤S5、根据瓦片编号,调取瓦片数据及其周边九宫格的瓦片数据与对应切片服务器的数据进行比较,若确认是切片空白漏洞问题,进行更新,记录更新日志;若是瓦片数据本身有问题,修正数据后再进行更新;更新后的瓦片数据,通过人工核查,进行查看再确认。在本专利技术一实施例中,步骤S1之前,还包括一步骤,即:选择待检测瓦片数据,读取瓦片切片参数,而后通过瓦片切片参数中的比例尺搜索瓦片路径,遍历所有瓦片索引文件,根据瓦片索引文件遍历所有瓦片的大小。在本专利技术一实施例中,对于ArcGIS,其瓦片数据包含bundlx索引文件和bundle图片文件,bundlx图片文件中索引的只包括瓦片数据的偏移量,由5个字节表示,而bundle图片文件中每个瓦片数据的前4个字节是以低位到高位的方式标示后续这个切片数据的长度,因此可通过bundlx索引文件首先找到bundle图片文件中切片内容的偏移,然后从bundle图片文件中取出4个字节的长度数据,随后根据这个长度数据读取真实的切片数据。在本专利技术一实施例中,所述瓦片切片参数,包括切图原点、每英寸像素点、图片格式、分块大小、比例尺、精度、提供瓦片缓存的服务地址。相较于现有技术,本专利技术具有以下有益效果:1、检测速度快:地图瓦片生成缓存过程,由于数据问题、数据源、切图服务器的IO、CPU、内存等因素的干扰,无法避免的可能会出现瓦片空白漏洞,所以切图完成,对瓦片进行结果检查,是必不可少的步骤,传统的人工检查效率低下且无法有效完整的进行检测,本专利技术提供遍历切片数据索引文件,提取每个瓦片数据的大小,与设定的空白图片文件的阀值进行比较,快速的定位出可能存在问题的瓦片数据。支持同时开启多个任务进行瓦片结果检测,提升地图瓦片数据检测的效率;2、提供自动修复及人工审核修复功能:传统的瓦片数据,如果发现数据存在空白漏洞或纯色瓦片数据问题,需要进行数据的补切或全部重切,需要花费大量的人力及时间,效率低且无法确保新的数据没有问题,本方法能快速定位数据问题,并提供自动进行修复数据及人工审核,发现具体数据问题修改后再修复瓦片功能,大大提高工作效率,确保瓦片数据的完整性。附图说明图1为本专利技术地图瓦片数据空白漏洞快速检测及修复方法流程图。具体实施方式下面结合附图,对本专利技术的技术方案进行具体说明。本专利技术提供了一种地图瓦片数据空白漏洞快速检测及修复方法,包括如下步骤:步骤S1、将待测瓦片数据中每一瓦片的大小与设定的空白图片、纯色图片的阀值进行比较,若瓦片大小比阀值小,则认为瓦片可能有问题,执行步骤S2;步骤S2、根据判断可能有问题的瓦片的行列号,计算瓦片坐标范围,通过WMS服务请求切片服务器对应坐标范围数据,执行步骤S3;瓦片坐标计算公式:Y=原点Y-(128*(行号/128))*(精度*图片垂直大小)X=(128*(列号/128))*(精度*图片水平大小)+原点X其中,切图原点为左上角;步骤S3、若切片服务器获得的新瓦片数据比原始瓦片数据大,说明确实存在切片空白漏洞问题,若设置自动更新功能,则执行步骤S4,若未设置自动更新功能,则记录位置,执行步骤S5;若切片服务器获得的新瓦片数据与原始瓦片数据一致或更小,则执行步骤S5;步骤S4、将新获取的瓦片数据替换原始瓦片数据,写入瓦片文件包中,同时调整新获取的瓦片数据索引文件对应瓦片的偏移量及该索引文件中在其之后所有瓦片的偏移量,然后记录更新日志,同时保存变更前本文档来自技高网
...

【技术保护点】
1.一种地图瓦片数据空白漏洞快速检测及修复方法,其特征在于,包括如下步骤:/n步骤S1、将待测瓦片数据中每一瓦片的大小与设定的空白图片、纯色图片的阀值进行比较,若瓦片大小比阀值小,则认为瓦片可能有问题,执行步骤S2;/n步骤S2、根据判断可能有问题的瓦片的行列号,计算瓦片坐标范围,通过WMS服务请求切片服务器对应坐标范围数据,执行步骤S3;/n瓦片坐标计算公式:/n

【技术特征摘要】
1.一种地图瓦片数据空白漏洞快速检测及修复方法,其特征在于,包括如下步骤:
步骤S1、将待测瓦片数据中每一瓦片的大小与设定的空白图片、纯色图片的阀值进行比较,若瓦片大小比阀值小,则认为瓦片可能有问题,执行步骤S2;
步骤S2、根据判断可能有问题的瓦片的行列号,计算瓦片坐标范围,通过WMS服务请求切片服务器对应坐标范围数据,执行步骤S3;
瓦片坐标计算公式:

Y=原点Y-(128*(行号/128))*(精度*图片垂直大小)


X=(128*(列号/128))*(精度*图片水平大小)+原点X

其中,切图原点为左上角;
步骤S3、若切片服务器获得的新瓦片数据比原始瓦片数据大,说明确实存在切片空白漏洞问题,若设置自动更新功能,则执行步骤S4,若未设置自动更新功能,则记录位置,执行步骤S5;若切片服务器获得的新瓦片数据与原始瓦片数据一致或更小,则执行步骤S5;
步骤S4、将新获取的瓦片数据替换原始瓦片数据,写入瓦片文件包中,同时调整新获取的瓦片数据索引文件对应瓦片的偏移量及该索引文件中在其之后所有瓦片的偏移量,然后记录更新日志,同时保存变更前后的瓦片数据,以便需要人工进行核查时可以进行核对;
步骤S5、根据瓦片编号,调取瓦片数据及其周边九宫格的瓦片数据与对应切片服务...

【专利技术属性】
技术研发人员:王昌平姚路
申请(专利权)人:福州市勘测院
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1