ArcGIS根据相邻关系提取相邻面&提取面公共线

2021-09-14 11:44:54 浏览数 (2)

需求分析

这是一份建筑面数据建筑面数据,这个面图层中有很多个面,有些面相互挨着的,有些单独分布,不与其他任何面相邻。如何把有相邻面的面全部给提出来

提取公共边

面转线

提取相邻边界公共线,注意勾选识别和存储面邻域信息

生成的线要素属性表中LEFT_FIDRIGHT_FID字段均不为-1即是该相邻面的公共线

按属性选择LEFT_FID为-1的字段,然后切换选择,导出要素即可获得公共边

公共边如图所示

原理(参考arcgis帮助)

1.在面几何中,外边界始终以顺时针方向存储。如果面内含有孔洞,那么将始终以逆时针方向存储孔洞(或内部)边界。因此,如果某面的外边界左侧(外部)和孔洞边界左侧(内部)均没有相邻点,则生成线的 LEFT_FID 值为 -1,而 RIGHT_FID 则设为面要素 ID。 2.如果面内包含另一个面,则会生成一条顺时针方向的输出线来表示公共边界,该线的 LEFT_FID 设置为外部面要素 ID,而 RIGHT_FID 设置为内部面要素 ID。 3.如果两个面共用一部分边界,则将生成一条输出线表示该公共线段。该线的方向可以是任意的;LEFT_FID 和 RIGHT_FID 将相应地设置为左侧或右侧面要素 ID。 4.如果一个面与另一个面重叠,那么将生成两条输出线以便分别表示每个相交边界:第一条线表示其中一个重叠面的外边界,因此该线的 LEFT_FID 为与其相交的面的要素 ID,而 5.RIGHT_FID 将为它自己的面要素 ID;第二条线呈反方向,并会分割另一个面,因此该线的 LEFT_FID 和 RIGHT_FID 将与这第二个面的要素 ID 相同。 6.输入面中的多部件不会保留;输出线均为单部件。

可以看出如果两个面之间如果存在公共边界,则输出的属性字段为该线左侧或右侧面要素 ID。而要素ID不能为复数,故LEFT_FID 和 RIGHT_FID均为正数的字段即为公共边

提取相邻面

使用公共边选择建筑面图层即可提取出有相邻面的面

而提取不相邻的面只需要切换选择即可

0 人点赞