ArcGIS线转面的方法
ArcGIS作为GIS软件中的龙头老大,其功能是非常强大的,但是如果作为一个初学者,其部分常用的重要功能不容易掌握,今天就讲一讲在矢量化时非常重要的功能:线转面。
ArcGIS在进行大范围的矢量化时一般很少直接画多边形,这是因为shape文件不具备拓扑,在处理多个相邻多边形时不方便,因此,一般是先用线把地类图斑勾绘出来,然后将线转为多边形。在ArcGIS中,将线转为多边形有三种方法:
1. Feature to Polygon
这种方法,顾名思义,就是要素转多边形。在ArcToolBox中,依次找到Data Management Tools—>Features—>Feature to Polygon,在弹出的对话框中设置好线要素文件以及生成的多边形存储的位置和文件名,点击确定即可。多边形生成结束后会自动添加到ArcGIS的TOC窗口中。

图一 Feature to Polygon位置
2. Polygon Feature Class from Lines
首先说明,这种方法需要ArcGIS Geodatabase的支持,也就是你的shape数据需要放在ArcGIS的Geodatabase中,Personal Geodatabase或File Geodatabase都可。在存储线要素的要素数据集(Feature Dataset)中,在空白地区右击,选择New—>Polygon Feature Class from Lines…,在弹出的窗口中输入生成面要素的名称,选择要生成面要素的线要素,往下看我们惊喜的发现了"Select a point feature class to establish attributes for the polygon feature"这句话,这就意味着在这里我们可以指定一个点要素文件,来建立面要素的属性。为什么说是惊喜呢?因为在矢量化的死后,很大一部分工作都是来为图斑赋属性(比如说土地利用类型),有了这个功能,我们在用线勾绘图斑时,可以新建一个点文件,每个图斑中画一个点,为其附上图斑应该赋的属性,这样在先转为多边形时就可以利用这个功能将点的属性直接赋予多边形,省却了我们大量的时间。

图二 Polygon Feature Class from Lines位置
3. Construct Features
这个还是首先要说明一下,实现这种方法,除了需要方法2中Geodatabase的支持外,还需要ArcGIS Topology模块(ArcGIS拓扑模块)的支持,方法是这样的:新建一个面要素文件,用来存储生成的多边形。将线要素和面要素同时添加到ArcGIS的TOC窗口中,在Editor工具条上点击Start Editing开始编辑,在Topology工具条上点击Map Topology(地图拓扑)按钮,在打开的对话框中将需要建立多边形的线要素选中,然后关闭对话框。在Editor工具条上将Target(编辑目标)设为新建的面文件,然后选择相应的线要素(注意:选中的这些线要素要能形成闭合的多边形才可以),这时Topology工具条上的Construct Features按钮变为可用,点击该按钮,弹出Construct Features对话框,在其中设置容差及其它选项,点击OK即可生成多边形。

图三 Constrct Features
比较3这种方法,第一种方法是最差的,因为其只能一次将所有的线全部转成多边形,且不能同时赋属性;第二种方法笔者个人认为是最好的,除了可以将线转为面,还可以同时将点的属性赋给面图斑;第三种方法笔者认为也不错,很灵活,想创建哪个多边形就创建哪个多边形,创建多边形后可以同时给它赋属性。
ArcGIS线转面的方法的更多相关文章
- 【转】ArcGIS 创建切片缓存方法工具总结
ArcGIS 创建切片缓存方法工具总结 http://wenku.baidu.com/link?url=Bm8AkmcJBzfiyat9N_Me6vlfSHEDCC_D1qBk5IB4X4CIDeKI ...
- 多线程之join方法
join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方 ...
- VS2012中丢失ArcGIS模板的解决方法
VS2012中丢失ArcGIS模板的解决方法 由于ArcGIS10.0(for .NET)默认是用VS2010作为开发工具的,所以在先安装VS2012后装ArcGIS10.0 桌面版及ArcObjec ...
- JS关闭当前页面的方法
JS关闭当前页面的方法 一.不带任何提示关闭窗口的js代码 1 <a href="javascript:window.opener=null;window.open('','_self ...
- CubieBoard开发板不用ttl线也不用hdmi线的安装方法
本文重点在于CubieBoard开发板系统的初始化安装,并且不用ttl和hdmi线,开机就可以远程ssh进系统.本文适合没有配线的同学参考操作.事实上,无论有没有ttl线,按照本文的方法安装效率都是一 ...
- ArcGIS学习记录—Arcgis中点、线、面的相互转换方法
本文使用的工具在Arctoolbox.Data Management Tools.Features (一)面--面转线.面转点 面转线 Polygon To Line .Feature To Lin ...
- jQuery 表格中实现“删除线”的增进方法
之前做了一个删除线的效果,就是类似这样的,在内容的中间加一条线. 但是又有点不同的是,这种删除线不是单纯的在文字之上,而是给一个Table中的一行加上这种删除线效果. 这里有两个方法,是在不同时期写的 ...
- 获取Linux进程运行在哪个CPU内核上面的方法
首先,当某些时候,在一段程序或者借助第三方软件进行程序协助的时候,在性能的优化,以及程序bug的排除上面,可能会想知道该程序执行的进程被调度到了哪一个CPU内核进行工作,从而可以推断是否是受限于硬件还 ...
- [转]ps/2键盘线序识别方法
from: http://www.360doc.com/content/11/0816/19/844619_140875056.shtml 经常看到有人询问ps/2线坏了,更换的时候如何测线序连线,或 ...
随机推荐
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中web相关的知识(概述)
Spring Framework中web相关的知识 1.概述: 参考资料:官网documentation中第22小节内容 关于spring web mvc: spring framework中拥有自 ...
- linux 命令之comm
1. 简介 comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集.求差.以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的且不相同的行. 差集 ...
- Ubuntu 安装 mysql 并修改数据库目录
. . . . . 今天折腾了一下午的时间,恢复了无数次虚拟机快照,终于在 Ubuntu 上把 mysql 安装好了. mysql 是从官网下载的:mysql-server_5.7.16-1ubunt ...
- Android之ProgressBar
今天复习一下以前的知识,补充一下ProgressBar控件 progressBar是进度条组件,通常用于用户展示某个耗时操作完成的进度,而不让用户感觉是程序失去了响应,从而更好地提升用户界面的友好性. ...
- 如何用Unity制作自定义字体——Custom Font
一.效果图 二.步骤 将美术做好的字体分块导入BMFont,使用BMFont工具生成艺术字库: 将上面的数据导入unity资源目录下:*.fnt文件中记录每个文字的状态信息: 导入*.png图片并设置 ...
- call
-------siwuxie095 call 调用另一个批处理程序或自身程序段,调用完,程序会回到原来 call 的地方继续执行 如果在脚本或批处理文件外使用 call,则不会在命令行起作用 语法 c ...
- Brainstorm-the walkthrough example: Image Classification
(1) 运行create data,其中包括下载cifar10,并转换为hdf5格式(详见百度百科:http://baike.baidu.com/view/771949.htm#4_2): cifar ...
- es6新特性(一)
关于es6,阮一峰的<ECMAScript 6入门> http://es6.ruanyifeng.com/写的非常详尽,可以经常看看,这里是对这本书进行一个缩略,可能有误,欢迎大家纠正.
- C#实现简单的委托异步调用
delegate void textAsy(); static void Main(string[] args) { textAsy t = texts; AsyncCallback callBack ...
- css 字间距、CSS字体间距、css 字符间距设置
1.text-indent设置抬头距离css缩进 2.letter-spacing来设置字与字间距_字符间距离,字体间距css样式