数据融合工具(5)面中心线提取

图片

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

提取中心线

一、需求背景

        说真的,当小编第一次使用ArcGIS中的Polygon To Centerline工具提取面要素中心线时,激动得无以言表,毕竟,以前要提取面中心线,是一件非常麻烦的事。

        但,还是存在一些问题增加了后期数据处理的工作量。

……

        第一,Polygon To Centerline工具 需要 Production Mapping许可;

图片

        第二,该工具通过使用发现,对“狭长”的河流面、道路面提取中心线效果很好,但对“形状指数”较大的面反而表现较差;

图片

        第三,该工具支持连接要素,但不能很好地处理自身面要素间共享边处的连接问题,以及面要素与其他连接线处的问题;

图片

        有没有其他好的解决方案,能兼顾性能、效果、更能正确解决连接处中心线的正确连接呢?

        后来,小编使用QGIS、FME,以及Centerline包测试了提取多边形的中心线,整体来说,各有优缺点,但是从性能、效果、使用便捷等方面,ArcGIS Pro中的Polygon To Centerline工具更胜一筹。感兴趣的同学可以自己尝试多种技术路线下实现多边形中心线的提取。

        是不是只能使用ArcGIS Pro中的面转中心线工具了呢?

图片

……

        于是,自力更生的时候到了。

二、为什么要提取面中心线?

图片

        在GIS(地理信息系统)数据中提取面中心线有多种重要用途,这些用途包括:

        1. 简化地理数据:面中心线提取可以将复杂的多边形要素简化为更简单的线要素,适用于小比例地图或地理信息系统中,这有助于提高地图的可读性和性能。

        2. 道路网络分析:面中心线通常用于道路网络分析,如路径规划、导航和交通模拟。它们帮助确定道路的核心线,以便更容易找到最佳路径和进行交通管理。

        3. 水文网络分析:提取水体多边形的中心线对水文网络分析非常有用。它们用于洪水模拟、水体流向分析和水文资源管理。

        4. 资源管理:面中心线提取可用于管理自然资源,如森林管理中的道路和河流,以及矿业资源中的采矿区域。

        5. 环境研究:在生态学和野生动物学中,提取面中心线有助于分析动物迁徙路径、栖息地边界和生态系统的连通性。

        6. 土地规划:在城市和区域土地规划中,面中心线可以用于确定道路和交通基础设施的位置,以更有效地规划土地用途和城市发展。

        7. 基础设施管理:面中心线可以用于公共事业管理,例如管理管道、电缆和电力线路,以及城市基础设施的维护。

        8. 地理数据可视化:提取面中心线有助于制作地图和地理数据可视化,使复杂地理信息更易于理解。

        9. 地理分析:面中心线提取可用于各种地理分析任务,如地理数据分析、地理统计和地理信息系统建模。

        总之,提取面中心线有助于简化地理数据、提高数据的可读性,同时为各种应用提供了更有用的地理信息,包括规划、导航、资源管理、环境研究和基础设施管理等。这使面中心线提取成为GIS数据处理中的重要步骤。

三、面中心线提取,有何难点?

图片

        提取面中心线虽然在许多情况下非常有用,但也面临一些挑战和难点,这些难点包括:

        1. 复杂多边形形状:面可以具有各种形状,包括不规则多边形、凹凸多边形、多个内部环等。提取中心线时需要考虑处理这种多样性。

        2. 多边形拓扑关系:当面具有拓扑关系,例如重叠或交叉时,提取中心线变得更加复杂。解决这些情况需要确保准确的几何拓扑操作。

        3. 数据质量:面数据的质量对中心线提取过程至关重要。不完整、有错误或不精确的数据可能导致不准确的中心线。

        4. 内部多边形和岛屿:如果面内部包含多个内部多边形或岛屿,提取中心线时需要处理这些内部边界,以确保正确的中心线。

        5. 非线性线段:面可能包含Bézier曲线、圆弧和椭圆弧线段,这些非线性线段可能增加提取中心线的复杂性。

        6. 交叉点:面中的交叉点(节点)需要正确处理,以避免在中心线中引入错误。

        7. 性能问题:处理大量面数据时,提取中心线可能会变得非常耗时,需要考虑性能优化和计算效率。

        8. 地理属性的保留:中心线提取通常不包括面的地理属性。如果需要将中心线与原始面的属性相关联,可能需要进行额外的数据处理。

        面中心线提取通常需要考虑这些难点,并根据具体的应用需求和数据质量采取相应的方法和工具,以确保准确性和可靠性。不同的GIS软件和算法也提供不同的解决方案,以满足不同情况下的需求。

        小编不说使了九牛二虎之力,但至少了花了一大把力气,证实了,自力更生才是实现数据处理工具自由的可靠途径。

四、面中心线提取工具

        面中心线提取工具,用于解决面要素图层中任意多边形的中心线提取,正确处理面要素图层中面要素之间,面要素图层与其他连接要素(点、线、面)图层间的连接,并对提取的中心线进行平滑和简化处理。

4.1 工具概述

        “面中心线提取”工具,支持的功能如下:

        1)对面要素提取中心线,面要素形状可以是任意多边形,能很好的处理狭长多边形,非狭长多边形,有孔洞多边形。

         2)当面要素有其他连接要素图层,如点、线、面图层,将按照输入面要素与与之相交的其他要素的公共点(共享边中点)进行有效连接;

         3)对提取的中心线进行了平滑和简化处理;

         4)输出的中心线记录了原始多边形的ID,可用于源数据字段的连接和传递;并在每一个连接点处记录构成连接点的源图层名称和要素ID,用于区分连接点类型,和解决汇入段属性值的连续性问题。

4.2 功能流程

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

图片

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

        小编工具提取结果 VS ArcGIS Pro工具提取结果1:

图片

        小编工具提取结果 VS ArcGIS Pro工具提取结果2:

图片

        小编工具提取结果 VS ArcGIS Pro工具提取结果3:

图片

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

图片

        (4)工具输出:

        要素类(FeatureClass),输出两个要素类,要素类1名称使用“要素类名称+_centerline”组成,用于存放提取的中心线数据;要素2名为“keep_con_points”,用于记录每个与中心线连接的连接要素图层的图层名。输出的要素类存放在输出目录中的scratch.gdb中。若scratch.gdb不存在,则自动创建,若已存在,不会覆盖其中已有的要素。

        输出的两个要素类,介绍如下图:

图片

        (5)注意事项:

        连接要素与输入的面要素需保持相同的坐标系。

图片

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

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

相关文章

[CTF]-PWN:House of Cat堆题型综合解析

原理: 调用顺序: exit->_IO_wfile_jumps->_IO_wfile_seekoff->_IO_switch_to_wget_mode _IO_wfile_seekoff源码: off64_t _IO_wfile_seekoff (FILE *fp, off64_t offset, int dir, int mode) {off64_t result;off64_t delta, new…

AI绘画小白必备!Stable Diffusion常用插件合集,好用推荐!(附插件下载)

前言 宝子们,早上好啊~Stable Diffusion 常用插件,月月已经给大家整理好了,自取就好。 拥有这些SD常用插件,让您的图像生成和编辑过程更加强大、直观、多样化。以下插件集成了一系列增强功能,覆盖从自动补全提示词到…

无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。【解决办法】

问题描述 新建好一台windows虚拟机,两台设备网络是互通的,但是物理机在访问虚拟机的网络共享文件资源时,出现图下所示的报错:XXX无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。用户…

echarts无法加载Map地图的问题

项目场景: echarts无法加载Map地图的问题 详情 查阅相关资料讲,echarts4.9以上版本已经移除了map,那么我们就得重新打包echarts文件了。打包echarts.min.js的链接:https://echarts.apache.org/zh/builder.html 在这个链接页面可…

考完软考之后,如何评职称?是否有有效期?

一、软考和职称之间的关系 软考和职称之间的关系可以这样理解:拿到软考证书并不意味着就能获得职称。软考证书是技术等级证书,而职称则是一种资格。如果单位聘用你做工程师,那么你的软考证书就可以发挥作用,相当于获得了职称证。…

MES:连接计划与执行的桥梁

想象一下,你的企业拥有一份完美的生产计划,但如何将这份计划准确无误地转化为实际生产中的每一步操作?这就是MES大展身手的地方。MES作为ERP(企业资源计划)与车间自动化控制之间的桥梁,确保生产计划能够顺畅…

hf-mirror (huggingface 的国内镜像)

官网: https://hf-mirror.com/ 网站域名 hf-mirror.com,用于镜像 huggingface.co 域名。作为一个公益项目,致力于帮助国内AI开发者快速、稳定的下载模型、数据集。 如何使用HF-Mirror 方法一:网页下载 在https://hf-mirror.com/…

边框插画:成都亚恒丰创教育科技有限公司

边框插画:艺术与生活的精致边界 在视觉艺术的广阔天地里,边框插画以其独特的魅力和细腻的表达方式,成为连接艺术与生活的一道精致边界。成都亚恒丰创教育科技有限公司它不仅仅是图像的外框装饰,更是情感、故事与创意的延伸&#…

看到指针就头疼?这篇文章让你对指针有更全面的了解!

文章目录 1.什么是指针2.指针和指针类型2.1 指针-整数2.2 指针的解引用 3.野指针3.1为什么会有野指针3.2 如何规避野指针 4.指针运算4.1 指针-整数4.2 指针减指针4.3 指针的关系运算 5.指针与数组6.二级指针7.指针数组 1.什么是指针 指针的两个要点 1.指针是内存中的一个最小单…

MVC 返回集合方法,以及分页

返回一个数据集方法 返回多个数据集方法 》》定义一个Model public class IndexMoel {public List<UserGroup> UserGroup{get;set;}public List<User> User{get;set;}}》》》控制器 //db 是 EF 中的上下文 var listnew IndexModel(); list.UserGroupdb.UserGro…

微信小程序中wx.navigateBack()页面栈返回上一页时执行上一页的方法或修改上一页的data属性值

let pages getCurrentPages();let prevPage pages[pages.length - 2]; // 获取上一个页面实例对象console.log(prevPage) //打印信息// 在 wx.navigateBack 的 success 回调中执行需要的方法wx.navigateBack({delta: 1, // 返回上一页success: function() {//修改上一页的属性…

秒懂设计模式--学习笔记(8)【结构型-组合模式】

目录 7、组合模式7.1 组合模式&#xff08;Composite&#xff09;7.2 叉树结构7.3 文件系统7.4 目录树展示7.5 自相似性的涌现7.6 组合模式的各角色定义7.7 组合 7、组合模式 7.1 组合模式&#xff08;Composite&#xff09; 是针对由多个节点对象&#xff08;部分&#xff0…

关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论

目录 问题一&#xff1a;关于string的\0问题讨论 问题二&#xff1a;C标准库中的string内存是分配在堆上面吗&#xff1f; 问题三&#xff1a;string与vector的capacity大小设计的特点 问题四&#xff1a;string的流提取问题 问题五&#xff1a;迭代器失效 问题六&#xf…

个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)

目录 一、效果展示 二、项目概述 三、手把手快速搭建实现本项目 3.1 前端实现 3.2 后端方向 五、后续开发计划 一、效果展示 默认展示 一般对话展示&#xff1a; 代码对话展示&#xff1a; 二、项目概述 本项目是一个基于Web的智能对话服务平台&#xff0c;通过后端与第…

【C语言】指针(4):深入理解指针

目录 ​编辑 一、回调函数 二、qsort使用举例 2.1 使用qsort排序整型数据 2.2 使用qsort排序结构体数据 三、qsort的模拟实现 四、NULL、\0、0、0、null、NUL的区别 五、C99中的变长数组 一、回调函数 函数指针是将函数的地址取出来&#xff0c;再通过函数地址去调用&a…

untiy 在菜单栏添加自定义按钮 点击按钮弹出一个Unity窗口,并在窗口里添加属性

using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Rendering.PostProcessing;public class AutoGenerateWindow : EditorWindow //这是定义一个窗口 {public string subjecttName "科目名字";//科目的名字public GameOb…

url链接地址,#前的参数 和 #后的参数有什么区别

例如 http://localhost:8080/?beforeParams1#/workSchemelist/index?afterParams1 beforeParams 和 afterParams 区别 打印出来可以发现&#xff1a; beforeParams 是 url 的search参数&#xff0c;通过window.location.search获取 afterParams 是 route 的query参数&#…

外贸网站设计的要点

外贸网站设计是一种专门针对国际贸易领域的网站设计&#xff0c;需要考虑到不同国家和文化背景的用户&#xff0c;因此设计过程要更加细致和精准。以下是外贸网站设计的关键要点&#xff1a; 首先&#xff0c;多语言支持是不可或缺的&#xff0c;因为外贸网站的用户可能来自不同…

[Python自动化办公]--从网页登录网易邮箱进行邮件搜索并下载邮件附件

[Python自动化办公]–从网页登录网易邮箱进行邮件搜索并下载邮件附件 使用说明 ​ 本文使用Python的selenium库进行操作邮箱登录、固定名称搜索邮件并下载附件&#xff0c;Python版本&#xff1a;3.9.16, selenium版本&#xff1a;4.19.0&#xff0c;EdgeBrowser版本:126.0.2…

LVS集群及其它的NAT模式

1.lvs集群作用&#xff1a;是linux的内核层面实现负载均衡的软件&#xff1b;将多个后端服务器组成一个高可用、高性能的服务器的集群&#xff0c;通过负载均衡的算法将客户端的请求分发到后端的服务器上&#xff0c;通过这种方式实现高可用和负载均衡。 2.集群和分布式&#…