一种基于Key-Value的不合理悬挂点质检方法及系统与流程

专利检索2026-01-31  3


本发明涉及数据处理,具体涉及一种基于key-value的不合理悬挂点质检方法及系统。


背景技术:

1、悬挂点是线层矢量数据的一种表示形式,若某节点位于线要素的端点,且不与其他线要素完全相邻,这个节点就是悬挂点。有些悬挂点在线图层中是合理的,如道路、河流、管线等线状地物的尽头,或是在图廓的边界处等。有些悬挂点则是不合理的,如两条本该捕捉的折线(实际未完全相邻)、一条折线本应捕捉到另一条折线(实际差一点未捕捉或捕捉出去了)、一条折线捕捉到了另一条折线本应相交打断(实际未打断)。这些不合理悬挂点会影响项目成果数据的质量和相关统计分析,甚至会影响后期的制图效果。

2、不合理悬挂点的质检几乎是所有矢量数据的必查质检项,工作量巨大,人工检查非常费时费力,极容易出现漏检或误报极多的情况。

3、针对不合理悬挂点的检查方法,刘雨霞充分利用micro station中fence工具功能,提出了一种基于fence判断悬挂点质检的方法,即在每一条弧段的端点构建半径为限差的围栅,再由围栅去选择弧段,如果只选择了一条弧段,则判断其为悬挂点。赵永兰提出了基于重心坐标自动检查悬挂点的方法,即两个要素的重心坐标如果超出了设定阈值则不可能出现悬挂点,如果小于阈值则逐个计算比较是否存在悬挂点。陈琰如提出了一种基于过滤条件的不合理悬挂点检查方法,针对所有存在的悬挂点,根据一定的特征和过滤条件,先将合理的悬挂点提取出来并进行滤除,剩下的悬挂点再进行人工排查,进而提高检查效率。

4、已有的悬挂点检查方法,虽然一定程度上提高了检查质量,但其仍存在如下缺陷:

5、1)如果是针对一个市或一个省的海量矢量数据成果时,计算量大,运算时间长,检查效率较低,不能满足实际生产需求;

6、2)部分算法误报太多,后期人工排查量巨大,严重影响项目进度;

7、3)部分算法容易出现漏检的情况,不能保证成果质量。


技术实现思路

1、针对现有技术中存在的不足之处,为了对海量矢量数据悬挂点错误进行质检,本发明提供一种基于key-value的不合理悬挂点质检方法及系统,其能够高效、准确、全面的识别不合理悬挂点错误,不会出现误报、漏报的情况,经过实践推广应用表明:该方法能够在保证成果质量的前提下,提高生产效率,降低生产成本,产生良好的社会价值和经济价值。

2、本发明公开了一种基于key-value的不合理悬挂点质检方法,包括:

3、步骤1、依次读取待检查矢量数据库中的每个图层,判断图层类型,若是线图层,则进入步骤2;

4、步骤2、读取线图层的每个折线要素,判断该要素是否闭合;若不闭合,则记录该要素的端点,并将所有端点保存在列表lstallnodes中;

5、步骤3、定义字典dictionary<key,value>dic,其中key为string字符串类型,value为countandpoint,countandpoint为一种自定义数据结构,count表示string的个数,point即lstallnodes列表中的点元素;

6、步骤4、将lstallnodes转换为字典dic,依次读取lstallnodes中的每个点坐标(x,y),按照项目要求的保存小数位个数,并将其组成x′+y′的字符串形式;当dic的键值不包含x′+y′时,添加键值,此时countandpoint中的count为1;当dic的键值包含x′+y′时,dic的键不变,countandpoint中的count自加1,point不变;

7、步骤5、将dic转换为列表lstalldangles,lstalldangles表示线图层中的所有悬挂点,根据键依次读取字典dic中的值countandpoint,当count为1时,则表示countandpoint中的point为悬挂点,并将其保存在列表lstalldangles中;

8、步骤6、依次读取lstalldangles中的悬挂点,判断该悬挂点与线图层中在阈值范围内的要素个数,当个数大于1时,表明此悬挂点是该图层中的不合理悬挂点,并将其保存。

9、作为本发明的进一步改进,所述步骤1,还包括:

10、若不是线图层,则进行下个图层类型的判断。

11、作为本发明的进一步改进,所述步骤2,还包括:

12、若折线要素闭合,则进行下个折线要素的判断。

13、本发明还公开了一种基于key-value的不合理悬挂点质检系统,包括:

14、第一读取及判断模块,用于依次读取待检查矢量数据库中的每个图层,判断图层类型,若是线图层,则进行折线要素的读取;

15、第二读取及判断模块,用于当图层类型是线图层时,读取线图层的每个折线要素,判断该要素是否闭合;若不闭合,则记录该要素的端点,并将所有端点保存在列表lstallnodes中;

16、定义模块,用于定义字典dictionary<key,value>dic,其中key为string字符串类型,value为countandpoint,countandpoint为一种自定义数据结构,count表示string的个数,point即lstallnodes列表中的点元素;

17、第一转换模块,用于将lstallnodes转换为字典dic,依次读取lstallnodes中的每个点坐标(x,y),按照项目要求的保存小数位个数,并将其组成x′+y′的字符串形式;当dic的键值不包含x′+y′时,添加键值,此时countandpoint中的count为1;当dic的键值包含x′+y′时,dic的键不变,countandpoint中的count自加1,point不变;

18、第二转换模块,用于将dic转换为列表lstalldangles,lstalldangles表示线图层中的所有悬挂点,根据键依次读取字典dic中的值countandpoint,当count为1时,则表示countandpoint中的point为悬挂点,并将其保存在列表lstalldangles中;

19、第三读取及判断模块,用于依次读取lstalldangles中的悬挂点,判断该悬挂点与线图层中在阈值范围内的要素个数,当个数大于1时,表明此悬挂点是该图层中的不合理悬挂点,并将其保存。

20、作为本发明的进一步改进,所述第一读取及判断模块,还包括:

21、若不是线图层,则进行下个图层类型的判断。

22、作为本发明的进一步改进,所述第二读取及判断模块,还包括:

23、若折线要素闭合,则进行下个折线要素的判断。

24、与现有技术相比,本发明的有益效果为:

25、1.针对矢量数据,本发明自定义了dictionary<string,countandpoint>字典类型,解决了不合理悬挂点的质检漏报、误报难题;

26、2.本发明主要涉及矢量数据的读取和相关的数学计算,中间未涉及数据的存储,因此效率较高,能够很好的满足实际生产项目的相关质检;

27、3.本发明可以一键实现以下四种不合理悬挂的质检:(a)l1和l2为两条折线,p1是l1的端点,p2是l2的端点,p1与p2两点之间距离小于软件设置的阈值,表明p1、p2是不合理悬挂点;(b)l1和l2为两条折线,p1是l2的端点,p1点距离l1的距离小于软件设置的阈值,表明p1是不合理悬挂点;(c)l1和l2为两条折线,p1是l2的端点,p1点距离l1的距离小于软件设置的阈值,表明p1是不合理悬挂点;(d)l1和l2为两条折线,l1与l2相交,p1是l2的端点,p1点距离l1的距离为0,小于软件设置的阈值,表明p1是不合理悬挂点,同时表明此处相交未打断。


技术特征:

1.一种基于key-value的不合理悬挂点质检方法,其特征在于,包括:

2.如权利要求1所述的基于key-value的不合理悬挂点质检方法,其特征在于,所述步骤1,还包括:

3.如权利要求1所述的基于key-value的不合理悬挂点质检方法,其特征在于,所述步骤2,还包括:

4.一种基于key-value的不合理悬挂点质检系统,其特征在于,包括:

5.如权利要求4所述的基于key-value的不合理悬挂点质检系统,其特征在于,所述第一读取及判断模块,还包括:

6.如权利要求4所述的基于key-value的不合理悬挂点质检系统,其特征在于,所述第二读取及判断模块,还包括:


技术总结
本发明公开了一种基于Key‑Value的不合理悬挂点质检方法及系统,包括:读取线图层的每个折线要素,记录不闭合的折线要素的端点并保存在列表LstAllNodes中;定义字典Dictionary<Key,Value>Dic;将LstAllNodes转换为字典Dic;将Dic转换为列表LstAllDangles;依次读取LstAllDangles中的悬挂点,判断该悬挂点与线图层中在阈值范围内的要素个数,当个数大于1时,表明此悬挂点是该图层中的不合理悬挂点,并将其保存。本发明能够高效、准确、全面的识别不合理悬挂点错误,不会出现误报、漏报的情况。

技术研发人员:王海恒,梁爽,谢飞,王璐,雷宝佳,李超,刘国发
受保护的技术使用者:自然资源部第一地理信息制图院(陕西省第六测绘地理信息工程院)
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1160515.html

最新回复(0)