Bootstrap

数据融合工具(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)注意事项:

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

图片

;