在矢量叠加,即将同一区域、同一比例尺的两组或两组以上的多边形要素的数据文件进行叠加产生一个新的数据层,其结果综合了原来图层所具有的属性。矢量叠加操作分为:交集(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. uni-app 实现热更新

    前端打包 app 即把写好的静态资源文件套壳打包成 app ,而热更新即下载并替换 app 内部的静态资源文件,实现 app 的版本升级. 在uni-app 中,我们是如何实现热更新的呢?下面来看代码 ...

  2. C学习笔记-字符串的格式化输出和输入

    存储方式 字符串是内存中一段连续的char空间,以'\0'结尾 字符串就是0结尾的连续char的内存 '\0' <=> 0 <=> null printf函数,putchar函 ...

  3. vue-wechat-title动态修改title

    在使用Vue制作项目的过程中,发现title没有变化 所以使用vue-wechat-title插件动态修改tilte 一.安装 npm vue-wechat-title --save 二.引入和使用 ...

  4. ESXi 制作模板并优化 Centos

    1.修改网络配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑network配置文件修改以下两项 (eth1同理) ONBOOT=yes BOOTP ...

  5. Windows 下部署 hadoop spark环境

    一.先在本地安装jdk 我这里安装的jdk1.8,具体的安装过程这里不作赘述 二.部署安装maven 下载maven安装包,并解压 设置环境变量,MAVEN_HOME=D:\SoftWare\Mave ...

  6. Tcpdump移植

    摘要: tcpdump对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.n ...

  7. GIT SSH-KEY配置以及问题解决

    GIT SSH-KEY 生成 我们在使用git的时候需要生成ssh key,我在这里说一下生成key和一些个性化操作,如:保存key的位置,如何解决Could not open a connectio ...

  8. 切换PHP版本导致Phalcon拓展失效

    公司使用PHP的Phalcon框架做后端.Phalcon最大的特点就是底层由C语言实现,使用Phalcon框架必须要安装php_phalcon.dll扩展.之前的是使用PHP7.2的版本,后面考虑性能 ...

  9. 关于python中的包,模块导入的问题详解(二)

    from import导入 紧接着的是from xx import xx  语法 1 ################ 2 from my_moudule import name 3 print(na ...

  10. Jmeter之梯度式加压(Stepping Thread Group)

    1.添加线程组(Stepping Thread Group) 2.设置数据 学习参考网址:https://www.cnblogs.com/imyalost/p/7658816.html   这个大大的 ...