ArcGIS沿面状图层要素外边缘构建TIN和进行网络分析求最短路径

来源:互联网 发布:eml文件 mac 编辑:程序博客网 时间:2024/06/05 08:44

需求是这样的:

某规划设计单位,需要沿建筑外墙布设线缆(假设要布的是网线)。要求沿楼宇的外墙布线,线路转弯的点为楼宇的转角,邻近楼宇之间需要进行架空连接,且需满足最短路径要求。所提供的数据为楼宇的平面图,为面状要素。

提供的数据如下图:


其中,Building图层为楼宇面,对应图上黄色部分。Frame图层为框面,是为方便后续处理而添加的一个面图层,只保存一个面状要素,该面状要素将楼宇面所有要素包含其中。


处理该问题思路如下:

从结果倒推过程。为进行最短路径分析,最好的办法是构建网络数据集。因要满足路径最短的要求,则相邻点之间的连线应构成不规则三角网。不规则三角网只能沿楼宇面的外围以及在楼宇之间布设,则应将楼宇面排除在构建不规则三角网的原始数据之外。为达到排除楼宇面的目的,我们需要使用一个面来包含所有的楼宇面要素,然后使用楼宇面与这个外包面进行对称差处理,即只取二者差别的部分。


于是,我们开始行动。步骤如下:

1.进行Symmetrical Difference对称差处理,以外包Frame为Input Features,以楼宇面Building为Update Features


2.使用生成的面图层Frame_SymDiff构建不规则三角网(Create TIN)


3.将不规则三角网从三维转换到二维(TIN Triangle)


4.转换后的三角网如图


5.这个不规则三角网是面状的,需要转化为线状的(Polygon To Line)


6.转化之后的结果如下图


7.我们在启动编辑时发现,虽然面已经转成线了,但它是多段线,不是简单线,还不能满足要求


8.于是我们再进行一次转化,将所有多段线在转角处打断(Split Line At Vertices)


9.转化成功后,开启编辑,删除与之前Frame要素四个角点直接相连的线段


10.最终得到一个初步的三角网图层,如下


11.整理一下图层目录,数据集MyDs中只保留最终我们用于构建网络数据集的线图层Triangle_Line_SplitLine,其他过程图层均移到外层去(不移除也不影响我们构建网络数据集,但在选择输入图层的时候需要注意一下)


12.确认已经启用了扩展模块


13.构建网络数据集(按向导创建完成后,将自动进行Build Network Dataset操作)

注意:本例中只按简单规则创建网络数据集,即在任意角点处均可转弯,允许双向通行。而不进行其他复杂规则设置。关于在ArcGIS中创建网络数据集的规则及步骤,请参考ArcGIS官方帮助文档。











14.创建完成后的网络数据集如下图。可将其添加到ArcMap中。


15.创建的网络数据集叠加原楼宇面的效果如下图

16.使用该网络数据集,进行简单的两点之间的最短路径分析如下


17.多点分析示例如下


18.添加障碍点、障碍线、障碍面,进行多点分析,示例如下







至此,问题得到圆满解决。后续考虑将这些处理过程脚本化,放到模型构建器里实现,以方便自动化运行及调用。

阅读全文
0 0