数据融合工具(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.mfbz.cn/a/788986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

完美解决ImportError: cannot import name ‘idnadata‘的正确解决方法,亲测有效!!!

完美解决ImportError: cannot import name idnadata’的正确解决方法,亲测有效!!! 亲测有效 完美解决ImportError: cannot import name idnadata的正确解决方法,亲测有效!!!报错问题…

python parser.add_argument

7->prefix_chars:前缀可选参数的字符集(默认值:’ - ) import argparseparser argparse.ArgumentParser(descriptionTesting...) #创建对象parser.add_argument(test,typeint) ##添加单个命令参数 parser.add_argument(test_1,typefloat) ##type是输入的指定类型…

为什么要安装HTTPS证书?

安装HTTPS证书对于确保网站数据的安全性、增强用户信任度、提升品牌形象和优化搜索引擎排名至关重要。在互联网时代,信息传输的安全性和隐私保护已成为公众和企业最为关注的问题之一。HTTPS证书的引入,正是为了解决这些问题,为网站和用户提供…

MySQL之基本查询(上)-表的增删查改

目录 Create(创建) 案例建表 插入 单行数据 指定列插入 单行数据 全列插入 多行数据 全列插入 插入是否更新 插入时更新 替换 Retrieve(读取) 建表插入 select列 全列查询 指定列查询 查询字段为表达式 为查询结果指定别名 结果去重 where条件 比较运算符 逻辑运…

Greenplum(三)【分布式事务和两阶段提交协议】

1、事务实现原理和 WAL(单机) 属性含义数据库系统实现Atomic(原子性)事务中的操作要么全部正确执行,要么完全不执行(要么成功、要么失败)Write Ahead Logging 预写日志,分布式事务&…

Canvas:掌握图像变换合成与裁剪状态像素操作

想象一下,用几行代码就能创造出如此逼真的图像和动画,仿佛将艺术与科技完美融合,前端开发的Canvas技术正是这个数字化时代中最具魔力的一环,它不仅仅是网页的一部分,更是一个无限创意的画布,一个让你的想象…

LabVIEW优化氢燃料电池

太阳能和风能的发展引入了许多新的能量储存方法。随着科技的发展,能源储存和需求平衡的方法也需要不断创新。智慧城市倡导放弃石化化合物,采用环境友好的发电和储能技术。氢气系统和储存链在绿色能源倡议中起着关键作用。然而,氢气密度低&…

git为文件添加可执行权限

查看文件权限 git ls-files --stage .\SecretFinder.py100644 表示文件的所有者有读取和写入权限 添加可执行权限 git update-index --chmod x .\SecretFinder.py再次查看文件权限 git ls-files --stage .\SecretFinder.py100755 表示文件的所有者有读取、写入和执行权限

记录|C#安装+HslCommunication安装

记录线索 前言一、C#安装1.社区版下载2.VS2022界面设置 二、HslCommunication安装1.前提2.安装3.相关文件【重点】 更新记录 前言 初心是为了下次到新的电脑上安装VS2022做C#上机位项目时能快速安装成功。 一、C#安装 1.社区版下载 Step1. 直接点击VS2022,跳转下…

Python基于you-get下载网页上的视频

​ 1.python 下载地址 下载 : https://www.python.org/downloads/ 2. 配置环境变量 配置 python_home 地址 配置 python_scripts 地址 在path 中加入对应配置 3. 验证 ​ C:\Users>python --version Python 3.12.4C:\Users>wheel version wheel 0.43.04. 下载 c…

JS之防抖和节流

防抖 (debounce) 所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。 ps: 重置普攻,百度翻译要输完停止一定时间后才翻译。 没有防抖和节流的缺点: 函数触发…

一天20MW!天途推出无人机全自主光伏巡检平台

01 光伏电站的运维挑战 光伏发电为人类提供了可持续的清洁能源供给。一般集中式电站建设在空旷的地区,如荒地、沙漠等地区;分布式电站建设在用户的屋顶和建筑物表面,如住宅、商业建筑、工业厂房等地区。 随着光伏电站的大规模的使用&#x…

解决:WPS,在一个表格中,按多次换行,无法换到下一页

现象:在一个表格里面,多次按下回车,始终无法到下一页 解决方法:右击—>表格属性—>选择行—>勾选 允许跨页断行 效果演示 对比展示

Centos7 被停用!如何利用 Ora2Pg 将 Oracle 迁移至 IvorySQL?

在过去的社区讨论中,想要使用或正在使用IvorySQL的社区用户,经常问到Oracle 如何迁移到 IvorySQL 中,而且近期随着 Centos7 官方已经停止维护,这一变动促使了很多将 Oracle 部署在 Centos7 上的 Oracle 用户,开始准备 …

Qt开发 | Qt绘图技术 | 常见图像绘制 | Qt移动鼠标绘制任意形状 | Qt绘制带三角形箭头的窗口

文章目录 一、基本绘图技术介绍二、常见的18种图形、路径、文字、图片绘制三、Qt移动鼠标绘制任意形状四、Qt绘制带三角形箭头的窗口 一、基本绘图技术介绍 Qt提供了绘图技术,程序员可以在界面上拖动鼠标,或者在代码里指定参数进行绘图。 Qt绘图技术介绍…

Linux开发板(正点原子阿尔法_IMX6U)QT5.12.9交叉编译到ARM开发板(已解决)

问题记录:Qt下ctrlR直接构建项目,然后在build-01_led-Desktop_Qt_5_12_9_GCC_64bit-Debugz中将构建的执行文件,scp到ARM开发板下,发现通过指令./01_led后出现以下报错。 问题原因:因为Qt构建默认使用的是64bit的gcc&am…

钉钉扫码登录第三方

钉钉文档 实现登录第三方网站 - 钉钉开放平台 (dingtalk.com) html页面 将html放在 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>登录</title>// jquery<script src"http://code.jqu…

【优先级队列PriorityQueue】

目录 1&#xff0c;优先级队列 1.1 概念 2&#xff0c;优先级队列的模拟实现 2.1 堆的概念 2.2 堆的存储方式 2.3 堆的创建 2.3.1 堆的向下调整&#xff08;大根堆&#xff09; 2.3.2 建堆的时间复杂度​编辑 2.4 堆的插入与删除 2.4.1 堆的插入 2.4.2 堆的删除 3&a…

香橙派5plus上跑云手机方案二 waydroid

前言 上篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)说了怎么跑带GPU加速的redroid方案&#xff0c;这篇说下怎么在香橙派下使用Waydroid。 温馨提示 虽然能运行&#xff0c;但是体验下来只能用软件加速&#xff0c;无法使用GPU加速&#xff0c;所有会很卡。而且…

SpringCloudAlibaba Nacos配置中心与服务发现

目录 1.配置 1.1配置的特点 只读 伴随应用的整个生命周期 多种加载方式 配置需要治理 1.2配置中心 2.Nacos简介 2.1特性 服务发现与服务健康检查 动态配置管理 动态DNS服务 服务和元数据管理 3.服务发现 1.配置 应用程序在启动和运行的时候往往需要读取一些配置信…