ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

小议ArcMap面转线的几种方式

2019-10-27 12:55:26  阅读:360  来源: 互联网

标签:小议 面转线 重叠 要素 ArcMap 公共 Line 工具


ArcMap是一个功能丰富的复杂系统,但凡对它有些认知的会同意这个观点。

它的丰富与复杂体现在一个objective有多种implementation,还体现在多种implementation有类似的result。这里,博主单拎出“面转线”这个objective小议一下。

Preparation

1、演示使用软件版本为ArcGIS Desktop 10.1,其他版本不保证可能存在结果不一致的可能(这也是“复杂”的一种表现),演示中会使用ArcToolbox组件。

2、搞一个面要素类,最好存在如下图所示的孔洞、岛屿、重叠面等要素,保证我们测试数据的复杂性。

Implementation 1—Feature To Line

第一种实现方式我们选择“要素转线”,它在ArcToolbox的“数据管理”工具箱——“要素”工具集中,具体的工具功能可以阅读其说明。

输入的要素类是我们准备的面要素类,输出结果博主这里是"p2_FeatureToLine"面要素类,使该要素类图层进入编辑状态,我们看一下结果的特征:

1、线是根据面相接或者面重叠断开的

2、所有的交界部分的公共边(下图高亮部分)生成了2次

需要特别说明的是最下边的圆形是一个岛屿与外围面的公共边。

Implementation 2—Polygon To Line

第二种实现方式使用“面转线”工具,它的路径与“要素转线”工具路径一致。

输入的要素类仍然是我们准备的面要素类,输出结果博主这里是"p2_PolygonToLine"面要素类,使该要素类图层进入编辑状态,我们看一下结果的特征:

1、线是根据面相接或者面重叠断开的(同上一种公具,不再附图)

2、公共边界只生成了一条线

3、重叠面的边界生成了2次,重叠面覆盖的公共边生成了4次

Implementation 3—Polygon Copy To Polyline

这是一种简单生硬的操作方式。

新建一个线要素类(注意空间参考与面要素类一致),将要转线的面要素类在编辑状态选中所有要素图斑,复制→粘贴到这个新建的要素类,博主这里该要素类的名字是“Polygon2Polyline”。

同样,我们看一下它的特征:

1、所有的面要素均转为了独立的线要素,不受要素图斑空间关系的影响

2、多部件面要素会转换为多部件线要素

 需要补充一下的是不知道如何验证是否多部件的翻翻博主的这一篇博文→解析ArcGis的字段计算器(二)——有玄机的要素Geometry属性,在属性表就能查出孔洞、多部件

Implementation 4—Intersect

这个工具有一个快捷打开入口,在工具栏——“地理处理”下拉。

可以将输出类型设置为“LIne”,从而输出面公共边为线要素类。

接下来,编辑一下,看看特征:

1、结果不受重叠面的影响,只是将公共边生成线要素(如下图,红色)

2、所有公共边生成2次线要素

Summary

1、如果需要获取面要素根据邻接关系转换成多线,使用Polygon To Line工具,需要注意的是先排除一下面要素类可能存在的重叠问题,再进行转换。

2、如果需要获取面要素完全转换成单个线要素,使用上述的第3种实现方式,即Polygon Copy To Polyline,借助这种操作可以变相使用线要素类的自相交拓扑检查面要素的自相交。

3、如果需要获取面要素的公共边,使用Interset工具,注意设置输出类型为“Line”。

4、对于“面转线”这个objective,想不出Feature To Line工具有啥鸟用。

 

标签:小议,面转线,重叠,要素,ArcMap,公共,Line,工具
来源: https://www.cnblogs.com/yzhyingcool/p/11746998.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有