ArcGIS根据相邻关系提取相邻面&提取面公共线
需求分析
这是一份建筑面数据建筑面数据,这个面图层中有很多个面,有些面相互挨着的,有些单独分布,不与其他任何面相邻。如何把有相邻面的面全部给提出来
提取公共边
面转线
提取相邻边界公共线,注意勾选识别和存储面邻域信息
生成的线要素属性表中LEFT_FID 和 RIGHT_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均为正数的字段即为公共边
提取相邻面
使用公共边选择建筑面图层即可提取出有相邻面的面
而提取不相邻的面只需要切换选择即可