在矢量叠加,即将同一区域、同一比例尺的两组或两组以上的多边形要素的数据文件进行叠加产生一个新的数据层,其结果综合了原来图层所具有的属性。矢量叠加操作分为:交集(Intersect)、擦除(Erase)、标识叠加(又称交补集,Identify)、裁减(Clip)、更新叠加(Update)、对称差(Symmetrical Difference)、分割(Split)、合并叠加(Union)、添加(Append)、合并(Merge)以及融合(Dissolve)等类型。
 
这里首先提醒一下:
编辑里边的merge是将同一要素类里边的要素合并生成新的要素,并将原要素删除,其属性按指定的要素修改。
编辑里边的union可将同一要素类或不同要素类的要素合并生成新的要素,不删除原要素,新要素的属性为系统默认值(空格或0等,根据字段属性而定)。
编辑里的merge和union是对选中的要素进行操作,而arctoolbox里的是对要素类进行操作。
 
交集(Intersect),计算两个图层几何对象相交的部分。对于ArcToolBox中的Intersect工具来说,可以选择保留所有的属性字段或是只有FID或是除了FID所有的字段。而相应的Editor Tool中也有一个类似于Intersect的工具,对于这个工具来说,与我们ArcToolBox中Intersect不同的是,它所产生的最后结果是没有属性的,是需要人工输入属性值的。
此工具要求input features是简单要素类,如point、line、polygon,不能是复杂要素类,如annotation、network等。
当input features是不同的要素类型时(如point和polygon、line和polygon),输出的结果默认是维数较低的类型,如line和polygon的默认结果是line,point与line的默认结果是point。结果类型可以降低维数,比如polygon和polygon的默认结果是polygon,但可指定为line或point。
结果可能有多部件要素(multipart features),可用multipart to singlepart工具打散。
擦除叠加(Erase),目标特征与要擦除区域多边形进行叠加,只有落在要擦除区域外的特征方可能保留下来,并拷贝到输出特征集中。使用中需注意,用于擦除的区域必须是多边形,不能是点线。 erase后的结果可能有多部件要素(multipart features),可用multipart to singlepart工具打散。
标识叠加(Identify,这个工具最让人迷惑了,说实话,当时我就没记得还有这样一种工具,呵呵。现在看起来,这个工具还是挺有用的嘛,至少从ArcGIS的帮助文档看来。该工具只能在拥有ArcInfo许可的时候才能使用。它的功能是,将输入特征与标识叠加对象进行Intersect操作,输入对象中与标识对象叠加的部分也获得了标识叠加对象的属性信息,其他部分保持不变。
此工具要求input features是简单要素类,identity features必须是polygon要素类。
结果可能有多部件要素(multipart features),可用multipart to singlepart工具打散。
当选中keep_relationships选项时,结果的属性表中将会增加input features和identity features空间相关的字段。当input features是line时,结果的属性表将会增加两个字段left_poly和right_poly,分别存放左边和右边identity features的fid值。
裁减(Clip,这个工具最能让人与Erase工具弄混了,与Erase功能相反,它保留了输入特征与裁减特征相重的部分。Clip工     具可以裁减特征集、栅格数据与coverages(裁减Coverages需要有ArcInfo级的许可)。需要注意的是在Editor Tool中也有Clip这样的一个工具,其功能与矢量叠加中的Clip功能并不相同,它既可以保留相重部分,也可以减去相重的部分。当然,Editor Tool中的Clip就不属于我们这里讨论的矢量叠加的范围之中了。
更新叠加(Update,两者相交的部分属性信息为更新特征所有的属性信息,其他不相交的部分保持不变。
update features全部写入输出结果中。
结果可能有多部件要素(multipart features),可用multipart to singlepart工具打散。
此工具要求input features和update features必须是polygon类型的,且属性表结构要一致,否则将丢失属性。当borders选项选中时,update features中的每个要素的外轮廓都将保留在结果中,即保持update features原来的形状,这是默认选项。当borders选项未选中时,update features的所有要素及与之相交的input features的要素会融合在一起,形成重叠的几个要素,重叠要素的个数和update features的要素的个数形同,这几个要素分别赋予update features的每个要素的属性。
对称差(Symmetrical Difference,即计算输入特征与更新特征不相交的部分形成新的文件。
结果文件的属性表根据joinattributes选项的不同而不同。当选项为no_fid时,将input features和update features的属性表中除fid外的所有字段传递到结果的属性表中;当选项为only_fid时,只将input features和update features的属性表中的fid传递到结果的属性表中;当选项为all时,将input features和update features的属性表中的所有字段传递到结果的属性表中;
从属性表中可区分各个要素原属于input features还是update features中。例如某个要素的fid_fa为-1时表示此要素原来不在input features中而是位于update features中。
此工具要求input features和update features均为polygon要素类。
分割(Split,即将一个特征对象分割成多个对象。这个比较好理解,可能是用以分割特征对象的那个分割文件中的任何一个多边形的边界都会起到分割的作用。
合并叠加(Union,平行输入一组特征对象,所有对象的所有属性信息都将被写入到输出文件当中去。与Update的区别在于Union保留了所有的信息而update则没有,update在输入特征与更新特征相交的部分只保留了更新特征的属性信息。
图形:union只能合并polygon类型的要素类。两个要素类合并时会处理相交部分,使之单独形成多部件要素,并且有选项选择允许缝隙(gaps)或不允许缝隙。如果过选择不允许缝隙,两个要素类合并后的缝隙将生成要素。
属性表:union合并属性表的选项有三个:all、no_fid和only_fid。all将两个要素类的属性表字段按顺序全部放在输出要素类的属性表中,包括fid。同名的字段(除fid外)在字段名后加数字以示区别(fid后加要素类名称)。no_fid将两个要素类的属性表中除fid外的字段按顺序全部放在输出要素类的属性表中。only_fid只将两个要素类的属性表中的fid放到输出要素类的属性表中,在fid后加要素类名称
添加(Append,合并输入要素类、表、栅格影像及栅格目录到一个已有的要素类、表、栅格影像及栅格目录中。感觉上是将几个图层合并成一个图层,可以把相互重合的部分融合起来。当schema type选项为test时,输入输出的要素类属性表结构必须一致,既字段名、类型、排列顺序必须完全相同,当schema type选项为no_test时可以不同。
图形:append可以合并点、线、多边形等要素类和表、栅格影像及栅格目录,但必须是相同类型的。append不处理要素,只简单地把要素放到一个要素类里,因此输出的要素类可能会有重叠或缝隙。
属性表:同输出要素类的属性表。输入要素类属性表中的字段如果在输出要素类属性表中没有将会被丢弃,但可做字段映射,将输入要素类的某个字段映射到输出要素类的某个字段。
合并(Merge,合并输入要素类、表到新的要素类、表中。就是应该是Split的反操作,把有公共边的相邻的对象连接起来。与Append有些差别,可能,据我理解,Append容许操作的数据有相重叠的部分,而Merge一般只操作相邻的对象。
图形:merge可以合并点、线、多边形等要素类和表,但必须是相同类型的。merge不处理要素,只简单地把要素放到一个要素类里,因此输出的要素类可能会有重叠或缝隙。
属性表:merge处理属性表时会把相同名字的字段合成一个,不同名字的字段按原名字、顺序全部加入输出要素类属性表中,原fid将会丢弃。merge可以进行字段映射。
融合(Dissolve,将数据按属性信息进行整合,将具有相同指定属性信息的对象融合成一个对象。这个比较简单,一般会用于大量细块操作后的整合,可以减少数据量吧。
 

Some ArcGIS Tools的更多相关文章

  1. ArcGIS之Cartogram地图变形记

    一.地图会说谎 地图作为真实世界的抽象,是“用图说话”最可靠的工具,但是有的时候地图也会撒一些小小的谎言,其中最著名的例子当属美国总统大选.如图1是2012年美国总统大选后网上给出的一个结果图,红色代 ...

  2. ArcGIS JS 使用Proxy之 Printing Tools unable to connect to mapServer

    ArcGIS JS使用Proxy.ashx将地图服务隐藏,并在微博服务器端增加了地图服务权限判断. Proxy.ashx做了如下设置, <serverUrl url="http://l ...

  3. 安装ArcGIS Desktop 9.3

    本文仅用于学习交流,商业用途请支持正版!转载请注明: http://www.cnblogs.com/mxbs/p/6216865.html 准备: ArcGIS Desktop 9.3.crack_f ...

  4. arcgis server10.2.2之地理编码服务发布

    1.地理编码工具(Geocoding Tools)locator制作     打开arcCatalog,找到工具箱ArcToolbox中的Geocoding Tools---Create Addres ...

  5. arcgis arcengine Using environment settings

    In this topic About using environment settings Environment settings summary table About using enviro ...

  6. ArcGIS中的坐标系统定义与投影转换【转】

    ArcGIS中的坐标系统定义与投影转换 坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统 ...

  7. [转]ArcIMS 中地图坐标参考设置(ArcGIS Unknown Spatial Reference)

    "ArcGIS Unknown Spatial Reference"问题: shp文件在Arcgis打开后经常因为原有坐标系无法识别而丢失信息,出现以下提示信息: "Un ...

  8. 【转】ArcGIS地图缓存制作简介

    [PDF]ArcGIS 地图缓存制作简介 - Esri中国 ArcGIS地图缓存制作简介 制作好的电子地图只有发布为服务后才能为更多的用户所查看与使用.ArcGIS Server 为共享 GIS 资源 ...

  9. ArcGIS二次开发实践— — 遍历ToolBox中的工具!

    在AO中,打开“文件A”的基本流程是: 1.创建对应“文件A”类型的WorkspaceFactory: 2.用WorkspaceFactory创建“文件A”的Workspace,Workspace可以 ...

随机推荐

  1. python之xml数据解析

    因为项目需求需要查询一些网站的ALEXA排名,百度后得到的方法是,访问http://data.alexa.com/data?cli=10&dat=snbamz&url=%YOURURL ...

  2. 项目使用Hbase进行数据快速查询的代码案例

    之前项目中对于数据详情的查询使用的ddb技术,由于成本过高,现考虑使用开源的hbase框架,借此机会进行hbase的代码案例记录,之前已经对 hbase的原理进行介绍,介绍了hbase中的rowkey ...

  3. lua的table库中的常用函数总结

    table是Lua语言中的一种重要的数据类型, table 的一些特性简单列举如下: (1).table 是一个“关联数组”,数组的索引可以是数字或者是字符串; (2).table 的默认初始索引一般 ...

  4. 【Python】【demo实验18】【练习实例】【统计输入字符串中,数字的个数、英文字母的个数及其他符号的个数】

    原题: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. (本题暂时不支持中文字符及汉字) 我的代码: #!/usr/bin/python # encoding=utf-8 # -* ...

  5. Linux系列(2):入门之线上求助

    前言:Linux命令那么多,你是否为记不住Linux的命令而烦恼呢? 这一章节就是来解决这个问题的. 1.Linux系统的线上求助 1.指令补全 在上一章节提到过使用[Tab]快捷键可以根据用户输入的 ...

  6. 方格取数--状压DP or 网络流

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=1565 取不相邻的点是权值最大. 这题可以网络流做,暂时先DP一下,网络流明天学一下~~ #define I ...

  7. Python面试常考点之深入浅出链表操作

    Python面试常考点之深入浅出链表操作 在Python开发的面试中,我们经常会遇到关于链表操作的问题.链表作为一个非常经典的无序列表结构,也是一个开发工程师必须掌握的数据结构之一.在本文中,我将针对 ...

  8. python设计购物车

    设计购物车 一需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提 ...

  9. NYOJ 石子合并(一) 区间dp入门级别

    描述    有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆.求出总的代价 ...

  10. Java 时间不一致

    1.new Date() 得到的时间?和系统相差 相差8个小时 2.eclipse控制台打印的时间与系统相差 相差8个小时 3.log4j日志的时间与与系统相差 相差8个小时 上述问题其实是同一个问题 ...