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”。

同样,我们看一下它的特征(请忽略图中的2,4字样注记,截图疏忽,忘记删掉):

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面转线的几种方式的更多相关文章

  1. 不停止MySQL服务增加从库的两种方式

    不停止MySQL服务增加从库的两种方式 转载自:http://lizhenliang.blog.51cto.com/7876557/1669829 现在生产环境MySQL数据库是一主一从,由于业务量访 ...

  2. Spring依赖注入三种方式详解

    在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...

  3. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  4. 创建线程的两种方式比较Thread VS Runnable

    1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...

  5. IOS--实现滤镜效果的四种方式

    IOS–实现滤镜效果 demo地址: https://github.com/AbeDay/ios–.git 使用CIFilter来完成IOS中滤镜效果 在IOS中可以使用系统自带的方法来达到路径效果: ...

  6. 加载xib文件的两种方式

    一.加载xib文件的两种方式 1.方法一(NewsCell是xib文件的名称) NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@&quo ...

  7. 不停止MySQL服务增加从库的两种方式【转载】

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

  8. HBase读写的几种方式(三)flink篇

    1. HBase连接的方式概况 主要分为: 纯Java API读写HBase的方式: Spark读写HBase的方式: Flink读写HBase的方式: HBase通过Phoenix读写的方式: 第一 ...

  9. MySQL InnoDB 备份与恢复七种方式

    有几种方式: 1 mysqldump, 这种方式不仅适用于InnoDB,还适用于其它类型的存储引擎,如MyISAM.备份的时候将数据库备份成SQL(包含drop,create,insert等语句),恢 ...

随机推荐

  1. 解决图片插入word文档后清晰度降低的问题

    解决图片插入word文档后清晰度降低的问题 在默认情况下,word程序会自动压缩插入word文档中的图片以减小整个word文档的.当我们需要插入word文档中的图片保持原始清晰度时,可以通过设置wor ...

  2. go语言从例子开始之Example33.工作池

    在这个例子中,我们将看到如何使用 Go 协程和通道实现一个工作池 . Example: package main import "fmt" import "time&qu ...

  3. 初学Java 从控制台读取输入

    代码 import java.util.Scanner; public class ComputeArea { public static void main(String[] args) { Sca ...

  4. 逗号导致hive报“SemanticException Error in parsing”错误

    > select p.dt, p.cookie_qunar_global, p.refer_domain, p.kwid, p.query_word, p,traffic_type--, p.p ...

  5. 【LeetCode】几何学 geometry(共2题)

    [587]Erect the Fence [892]Surface Area of 3D Shapes

  6. JVM内存组成

    JVM的内存区域模型 1.方法区 也称永久代.非堆. 用于存储虚拟机加载的类信息.常量.静态变量,是各个线程共享的内存区域. 默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize和 ...

  7. new和malloc申请内存失败后的处理

    1.c++ 标准 new 失败是抛出异常的,Visual C++ 6.0中返回一个NULL指针. 使用new(std::nothrow)可以保证失败时返回NULL; 因此完全可以 #define ne ...

  8. 牛客网NOIP赛前集训营-提高组(第六场)A-最长路

    题目描述 有一张 n 个点 m 条边的有向图,每条边上都带有一个字符,字符用一个数字表示. 求以每个点为起点的最长路,输出走过的边的字符构成的字符串的字典序最小的方案. 为了方便,你需要这样输出方案: ...

  9. UVa1636 Headshot 【迁移自洛谷博客】

    说明:小蒟蒻hkk现在正在做一些概率的题目,由于这方面和数学还有点关系,所以需要一些数学的思维,也需要表述出来,如夏军所述"把自己给讲懂",所以写了些blog,主要为帮助自己理解. ...

  10. 前端每日实战:76# 视频演示如何用纯 CSS 创作一组单元素办公用品(内含2个视频)

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/oMgmwB 可交互视频 此视频是可 ...