数据融合工具(11)悬挂点自动检测和修复

news2024/9/22 5:33:01

一、需求背景

        GIS数据通常需要满足拓扑规则,即点、线和面之间的拓扑关系应该正确。

        悬挂点是指在地图数据中孤立存在的点,它们不与任何线或面的节点相连接。悬挂点通常是数据中的异常情况,可能是由于数字化或数据编辑错误而导致的。

        下图以橙色显示要素 1,以灰色和绿色显示其他要素并以蓝色显示容差。

图片

图片

        在图像 A 中,要素 1 未与容差范围内的任何其他要素连接。会将此视为具有未及的悬挂。在图像 B 中,要素 1 与灰色要素连接,未与绿色要素连接。从绿色要素来看,这是一个未及情景。但是,由于要素 1 与容差内的至少一个要素连接,因此不会将此视为悬挂。

图片

        在图像 A 中,要素 1 的端点未与容差范围内的任何其他要素连接。会将此视为具有过伸的悬挂。在图像 B 中,要素 1 的端点与绿色要素连接,未与灰色要素连接。从灰色要素来看,这是一个过伸情景。但是,由于要素 1 与容差内的至少一个要素连接,因此不会将此视为悬挂。

图片

        图像 A 显示线端点和面位于容差范围(以蓝色显示)内,但是线端点未接触面边或折点;会将此视为悬挂并作为错误返回。图像 B 不会视为悬挂并且不会作为错误返回。

1.1、消除悬挂点的原因

        拓扑一致性:GIS数据通常需要满足拓扑规则,即点、线和面之间的拓扑关系应该正确。悬挂点可能破坏这些拓扑关系,导致分析和查询时产生错误的结果。

        数据准确性:悬挂点可能是由于错误的数字化或编辑操作引起的。清理悬挂点可以提高数据的准确性,确保地图与实际地理空间相匹配。

        空间分析的准确性:如果进行空间分析,如缓冲区分析、路径分析等,悬挂点可能导致分析结果不准确。

1.2 消除悬挂点的方法

        手动编辑:通过GIS编辑工具手动删除悬挂点,重新编辑与其他要素连接的线段。

        自动化处理:使用GIS工具或算法,如拓扑修复工具,自动检测和修复悬挂点。这可以是GIS软件的内置工具或第三方工具。

1.3 悬挂点修复有哪些挑战或麻烦的场景呢?

        复杂拓扑关系:当数据集包含复杂的拓扑关系,例如网络数据、水系等,悬挂点修复可能更为复杂。修复悬挂点可能需要考虑相邻要素之间的关系,以避免引入新的拓扑错误。

        自动修复算法的限制:自动修复悬挂点的算法可能在某些情况下表现不佳。例如,对于位于线段中间的悬挂点,算法可能无法确定正确的连接线。这需要额外的人工干预来解决。

        多源数据融合:当数据来自不同源头或不同精度的数据集时,悬挂点修复可能更为复杂。不同数据集之间可能存在不一致性,修复悬挂点时需要谨慎处理。

        大规模数据集:对于大规模数据集,悬挂点修复可能需要大量的计算资源和时间。在这种情况下,效率是一个挑战,可能需要采用分布式计算或优化算法来处理。

        准确性要求:某些应用对准确性要求非常高,例如导航系统或地理空间分析。在这些情况下,修复悬挂点可能需要更精确的方法,同时要确保不引入新的错误。

        数据编辑历史记录:当数据集有多个编辑历史版本时,悬挂点可能是由于编辑操作引起的。在修复悬挂点时,需要考虑编辑历史记录,以避免影响先前的编辑决策。

……

二、线要素悬挂点修复工具

        线要素悬挂点修复工具用于解决,在指定距离容差(距离为扇形半径,扇形角度默认180)范围内,沿着线走向向前自动检测线要素图层存在的悬挂点,并按更为合理的方式将悬挂点给予修复,可根据需要是否输出被修剪、延伸、连接的部分。同时,工具支持另存修复结果或直接原地修复源数据。

        扇形搜索示意如下:

        对于道路、水系等线状网络数据,我们知道线要素整体上是往一个方向迂回前进的,通过扇形搜索,能有效解决线要素往反方向连接的问题。

图片

2.1 工具概述

        工具功能对悬挂点的修复方式包括三个方面:

        (1)裁剪

        移除线上超过交点指定距离的部分(悬挂线),并在交点位置,对线要素进行打断。

图片

        (2)延伸

        将线段延伸至指定距离范围内的第一个相交要素。如果在指定距离范围内不存在相交的要素,则不会延伸该线段。

           a)悬挂点与临近线要素间,存在一个合适的节点,可连接悬挂点与此节点,解决悬挂问题;

图片

            b)悬挂点与临近线要素间,找不到一个合适的节点,可延长此悬挂点至临近线合适位置,解决悬挂问题;

图片

        合适点:线节点与悬挂点最为接近;悬挂点与该节点连接后,以连接点为中心,与之连接的线之间构成的夹角不小于指定角度(默认30°);且连接后,不能与邻近线存在立交(跨越)的情况。

        (3)连接

        悬挂点附近有其他悬挂点,通过连接两个悬挂点解决悬挂问题,且连接段不会与其他线要素相交;

图片

2.2 功能流程

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

图片

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

        a 连接

        在悬挂点处,寻找最近的悬挂点进行连接,且连接后不能与其他要素相交;

图片

        “连接”修复后的要素,不是简单的生成一条线段对悬挂点进行补充,而是通过增加折点完成悬挂点的修复;

图片

        可选择输出因悬挂修复带来的数据变化情况的记录;

图片

b 裁剪

        裁剪功能除了包含arcgis中的“修剪线”功能外,将在裁剪处对线进行打断,一步到位解决网络连通问题,且可以将被裁剪的部分输出,使用该记录可用于数据修复情况的检查和验证。

图片

c 延伸

        延伸功能算是三种修复类型(裁剪、延伸、连接)中更为有特殊的功能。


小编            VS          ArcGIS

        “延伸”功能,不是简单的解决两条线要素的延长相交问题。而是优先寻找“合适点”,找不到合适点的线将不进行延伸处理,避免因为延伸带来的极小角、自相交、增加新的点位等额外的数据问题,且没有修复情况记录。

        此外,“延伸”功能将在连接处打断线,一步到位解决网络连通问题。

        ArcGIS中的“延伸线”工具,是一种不考虑延伸后线要素之间夹角的“粗暴”做法。

        将线段延伸至指定距离范围内的第一个相交要素。如果在指定距离范围内不存在相交的要素,则不会延伸该线段。

arcgis中“延伸线”插图如下:

图片


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

图片

        (4)工具输出:

        要素类(FeatureClass),每一个修复类型输出两个要素类,要素类1名称使用“dangle_to+[clip/dangle/polyline]”组成,用于存放因为修复悬挂对数据进行的更改;要素2名与输入要素名称相同,用于记录悬挂点修复的结果。输出的要素类存放在输出目录中的scratch.gdb中。若scratch.gdb不存在,则自动创建,若已存在,不会覆盖其中已有的要素。

        (5)注意事项:

        工具支持是否原地修改,请按实际需要进行选择。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1932998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【关闭个人数据跨境传输】

现象 :WIN10更新补丁重启就有了这; 解决办法: 第一步:按shiftF10 第二步:按winR 第三步:输入taskmgr,回车 第四步:结束Microsoft账户进程,就可以进入桌面&#xff1…

Android中OkHttp3中超时时间概述

目录 前言connectTimeoutreadTimeoutwriteTimeoutcallTimeoutpingInterval拓展 前言 可以看到,使用还是很简单的。主要相关的有这五个参数,其中我们常用到是就是connectTimeout、readTimeout和writeTimeout。 再看上图,可以看到默认下connec…

matlab小白入门的基本使用

一.基本运算 加:a55 减:a5-2 立方:a2^3 乘:a2*3 ans默认变量名,应答最近依次操作运算结果eps浮点数的相对误差i,j虚数单位,定义-1inf代表无穷大NaN代表不定值(不是数字)pi圆周率…

【内网安全】横向移动-Wmi-Smb-CME密码喷射

目录 环境介绍域信息收集-横向移动前置判断是不是在域内获取域控主机的内网ip端口扫描内网获取主机密码 域横向移动-WMI-自带&命令&套件&插件1.wmic系统自带:(单执行:即无回显) 2.cscript系统自带:(交互式) 3.wmiexec-impacket&a…

[RuoYi-Vue] - 6. 若依二次开发

文章目录 🌳1. 模块定制(修改包名)1.1 若依框架修改器1.2 使用示例 🌿2. 新建业务模块2.1 新建子模块2.2 版本锁定2.3 添加模块依赖 🌾3. 菜品管理开发3.1 准备SQL并导入数据库3.2 配置代码生成信息3.3 下载代码并导入项目 🍃4. 通…

【Linux】深入了解`rm`命令:删除文件与目录的终极指南

文章目录 一、rm命令概述二、rm命令的基本用法三、rm命令的常用选项1. -i:交互式删除2. -f:强制删除3. -r或-R:递归删除目录4. -v:详细模式 四、rm命令的高级用法1. 结合其他命令使用2. 删除空目录 五、rm命令的注意事项 在Linux操…

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题解决

一、系统环境变量中添加tomcatjdk的环境变量声明 1、右击此电脑->属性->高级系统设置 可复制粘贴下面的变量名 CATALINA_HOME 点击path->编辑->新建 可将下面值粘入 %CATALINA_HOME%\bin 2、配置jdk的系统变量 系统变量->新建->如图 可将下面变量名粘入 J…

【java】力扣 H指数

文章目录 题目链接题目描述思路代码 题目链接 274.H指数 题目描述 思路 设置n为citations的长度,也就是发表论文的篇数,h肯定是不能超过n的,所以当有引用次数大于n时,我们要看成n, 要创建一个数组arr,来…

牛客 7.13 月赛(留 C逆元 Ddp)

B-最少剩几个?_牛客小白月赛98 (nowcoder.com) 思路 奇数偶数 奇数;奇数*偶数 奇数 所以在既有奇数又有偶数时,两者结合可以同时删除 先分别统计奇数,偶数个数 若偶个数大于奇个数,答案是偶个数-奇个数 若奇个数…

揭秘失眠的幕后黑手:你为何辗转难眠?

揭秘失眠的幕后黑手:你为何辗转难眠? 在这个快节奏的时代,失眠已经成为许多人的“隐形杀手”。你是否也曾在夜深人静时,躺在床上辗转反侧,望着天花板发呆,数着绵羊也无法入睡?今天,…

【CSS in Depth 2 精译_018】3.1.2 逻辑属性 + 3.1.3 用好逻辑属性的简写形式

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…

在 Windows 上运行 Linux:WSL2 完整指南(二)

系列文章目录 在 Windows 上运行 Linux:WSL2 完整指南(一)🚪 在 Windows 上运行 Linux:WSL2 完整指南(二)🚪 文章目录 系列文章目录前言四、常见问题及解决方法问题二:0…

本地部署,edge-tts文本转语音解决方案

目录 什么是 edge-tts? 主要特点 应用场景 优势 开始使用 edge-tts 命令行安装 edge-tts 库: docker安装 未来展望 总结 https://github.com/rany2/edge-ttshttps://github.com/rany2/edge-tts 随着科技的进步,文本转语音&#xff…

PyCharm查看文件或代码变更记录

背景: Mac笔记本上有一个截图的定时任务在运行,本地Python使用的是PyCharm IDE,负责的同事休假,然后定时任务运行的结果不符合预期,一下子不知道问题出现在哪里。 定位思路: 1、先确认网络、账号等基本的…

Flutter动画详解第二篇之显式动画(Explicit Animations)

目录 前言 一、定义 1.AnimationController 1.常用属性 1. value 2. status 3. duration 2.常用方法 1.forward 2.reverse 3.repeat 4.stop 5. reset 6. animateTo(double target, {Duration? duration, Curve curve Curves.linear}) 7.animateBack(double ta…

android R ext4 image打包脚本介绍

一、Android R打包指令使用介绍 (1)mkuserimg_mke2fs #./mkuserimg_mke2fs --help usage: mkuserimg_mke2fs [-h] [--android_sparse] [--journal_size JOURNAL_SIZE][--timestamp TIMESTAMP] [--fs_config FS_CONFIG][--product_out PRODUCT_OUT][--b…

Nginx、LNMP万字详解

目录 Nginx 特点 Nginx安装 添加Nginx服务 Nginx配置文件 全局配置 HTTP配置 状态统计页面 Nginx访问控制 授权用户 授权IP 虚拟主机 基于域名 测试 基于IP 测试 基于端口 测试 LNAMP 解析方式 LNMP转发php-fpm解析 Nginx代理LAMP解析 LNMP部署示例 实…

live555 rtsp服务器实战之doGetNextFrame

live555关于RTSP协议交互流程 live555的核心数据结构值之闭环双向链表 live555 rtsp服务器实战之createNewStreamSource live555 rtsp服务器实战之doGetNextFrame 注意:该篇文章可能有些绕,最好跟着文章追踪下源码,不了解源码可能就是天书…

message from server: “Too many connections“

theme: nico 你们好,我是金金金。 场景 启动服务时,报错如上:数据源拒绝建立连接,服务器发送消息:“连接过多” 排查 看报错信息提示的很明显了 查看MySQL 数据库中最大允许连接数的配置信息(我mysql是部…

LabVIEW Communications LTE Application Framework 读书笔记

目录 硬件要求一台设备2台USRPUSRP-2974 示例项目的组件文件夹结构DL Host.gcompeNodeB Host.gcompUE Host.gcompBuildsCommonUSRP RIOLTE 操作模式DLeNodeBUE 项目组件单机双机UDP readUDP writeMAC TXMAC RXDL TX PHYDL RX PHYUL TX PHYUL RX PHYSINR calculationRate adapta…