数据融合工具(8)缠绕线检查和修复

图片

这是一个重磅工具,建议先看视频,多看几遍。

一、需求背景

        做数据融合时,经常碰到这样的问题?

        我获取的数据源有A、B、C,……,在数据分析阶段,需要选择表达准确、现势性好、精度高、内容全的要素进行融合更新,通过对比分析,A、B的几何都好,C中有几个属性项需扩展到成果数据中。

        问题来了,……

  1. A,B几何都好,那势必存在表达同一段实体的线要素,要么选A,要么选B,或者A选一小段,B选一小段,再或者,选A、选B都差点意思?

    图片

  2. 假设几何已经确定,将C中的属性项传递到几何,你又该如何?

图片

        解决类似上述出现的数据问题,小编称之为“缠绕线的检查和修复”。

二、解释一下,什么是“缠绕线”?

        “缠绕线”这个名称,是小编胡诌的,主要是指表达同一段实体的多条折线存在来回穿插相交,或整体偏移,在数据处理编辑时,不能简单的通过删除其中一条线要素而实现网络的构建,这种数据现象,小编取名“缠绕线”。

        上个图解释一下:

图片

三、如何将缠绕“指标化”?

        这种缠绕,可能是内业使用的底图不一样,空间参考不一致,……,导致的表达同一实体的线要素,它们的节点,特征和数量不相同。

        做数据处理方面的功能,小编一直做的,就是发现问题,找足够多的问题示例,归纳问题,提取问题共同点,将问题指标化,然后写工具处理。

         轨迹线相似性示例一:

图片

        轨迹线相似性示例二: 

图片

        轨迹线相似性示例三: 

图片

        轨迹线相似性示例四: 

图片

        比如道路,水系等线图层数据,它们一般是基于影像数据提取采集的,在真实的世界,某一段路,它是唯一的,形状特征是相对确定的,无论是谁来做数据采集,采集的结果,在形状上一定是极其相似的。

        基于此,我们需要将这种缠绕线的“相似性”指标化。

图片

        实现缠绕线相似性度量的方法很多,各种算法都有其比较适用的场景。选用那种算法,应充分了解该算法的原理,和分析数据的特点。

图片

        是的,难度又提高了……

图片

四、要解决那些问题?

        1.将所有存在“缠绕”的地方找出来;

        2.对缠绕的区域,进行相似度计算;

        3.在指定容差允许范围内,提取缠绕线对之间的最优路径;

        4.使用最优路径替换缠绕线对,并正确处理线两端的连接;

        5.记录缠绕线对的ID,实现属性字段的传递;

        ……

        针对此需求,小编写了两个工具。

        工具一:“线缠绕查找和修复工具”,用于解决缠绕线的查找、缠绕线对中心线的提取以及缠绕线的修复;

        工具二:“根据相似性曲线更新缠绕线工具”,当工具一只查找,不修复时,将输出缠绕线对处最优路径线,作业员可在此线上进一步确认和编辑,最后运行工具二,实现缠绕线的修复。

        总的来说,工具一通过指定容差允许值,自动完成缠绕线的修复;工具二允许作业员对缠绕线的情况进一步分析比对,再实现缠绕线的修复。

五、缠绕线查找和修复工具

        缠绕线查找和修复工具,用于解决线图层中,存在线缠绕的数据质量问题,在查找出缠绕线的基础上,提供直接修复的功能。能非常便捷的实现这一类数据质量问题的查找和修复,尤其是当数据量较大时,工具将极大的提高数据融合的效率和质量。

5.1 工具概述

        “缠绕线查找和修复”工具,支持的功能如下:

  1. 在指定搜索距离范围内,分析线要素周边的其他线要素,计算其与自身的曲线相似度,对相似度值满足指定阈值的曲线,计算两条曲线间的最优路径,使用最优路径替换原曲线。

  2. 能有效解决线要素图层中存在的线缠绕数据质量问题,以及提取双线至单线的需求。

5.2 功能流程

        (1)工具打开界面如下图所示:

图片

        (2)工具测试数据执行结果如下图所示:

        截图1:

图片

        截图2:

图片

        (3)工具参数介绍如下:

图片

        (4)工具输出

        要素类(FeatureClass),输出两个要素类,要素类1名为“要素类名称+_cross_repair”组成;要素2名“要素类名称+_cross_repair_correction_curve”。输出的要素类存放在输出目录中的scratch.gdb中。若scratch.gdb不存在,则自动创建,若已存在,不会覆盖其中已有的要素。

图片

        “要素类名称+_cross_repair_correction_curve”记录的是缠绕线提取的最优路径线;

        “要素类名称+_cross_repair”,当“是否修复”参数为True时,其要素图层与最优路径线要素图层完整构成修复后的结构;当“是否修复”参数为False时,其要素图层为输入要素的备份,用于后续“根据相似性曲线更新缠绕线工具”执行时,输入的线要素图层。

        (6)注意事项:

        无。

图片

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

craybb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值