在矢量叠加,即将同一区域、同一比例尺的两组或两组以上的多边形要素的数据文件进行叠加产生一个新的数据层,其结果综合了原来图层所具有的属性。矢量叠加操作分为:交集(Intersect)、擦除(Erase)、标识叠加(又称交补集,Identify)、裁减(Clip)、更新叠加(Update)、对称差(Symmetrical Difference)、分割(Split)、合并叠加(Union)、添加(Append)、合并(Merge)以及融合(Dissolve)等类型
关于union、merge、append、dissolve区别
1、union(合并叠加)
要求输入的要素必须是多边形,即求得两个及以上多边形的并集,对输入要素的属性字段没有要求,输出要素是所有输入的属性的集合。如下图输入三个要素面,输出要素面为7个。
将数据类型相同的多个输入数据集合并为新的单个输出数据集,属性字段也合并成两个要素属性全集
将多个输入数据集追加到现有目标数据集,与合并区别是合并生成新的要素集,追加是在现有要素基础上。
对于融合需要选择一个或者多个指定的属性字段,融合的要素必须具有相同的几何类型,可以简单理解为具有相同属性要素集合成一个要素集。融合后的属性字段仅输出融合前指定的。
编辑里边的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值更新叠加(Update),两者相交的部分属性信息为更新特征所有的属性信息,其他不相交的部分保持不变结果可能有多部件要素(multipart features),可用multipart to singlepart工具打散此工具要求input features和update features必须是polygon类型的,且属性表结构要一致,否则将丢失属性。当borders选项选中时,update features中的每个要素的外轮廓都将保留在结果中,即保持update features原来的形状,这是默认选项。当borders选项未选中时,update features的所有要素及与之相交的input features的要素会融合在一起,形成重叠的几个要素,重叠要素的个数和update features的要素的个数形同,这几个要素分别赋予update features的每个要素的属性合并叠加(Union),平行输入一组特征对象,所有对象的所有属性信息都将被写入到输出文件当中去。与Update的区别在于Union保留了所有的信息而update则没有,update在输入特征与更新特征相交的部分只保留了更新特征的属性信息
裁减(Clip),这个工具最能让人与Erase工具弄混了,与Erase功能相反,它保留了输入特征与裁减特征相重的部分。Clip工 具可以裁减特征集、栅格数据与coverages(裁减Coverages需要有ArcInfo级的许可)。需要注意的是在Editor Tool中也有Clip这样的一个工具,其功能与矢量叠加中的Clip功能并不相同,它既可以保留相重部分,也可以减去相重的部分。当然,Editor Tool中的Clip就不属于我们这里讨论的矢量叠加的范围之中了
对称差(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只能合并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),将数据按属性信息进行整合,将具有相同指定属性信息的对象融合成一个对象。这个比较简单,一般会用于大量细块操作后的整合,可以减少数据量吧在ArcMap中加载点和区层,右击区层,选择“Joins and Relates”-->“Join...”,在弹出的对话框中,第一个下拉框选择“Join data from another layer based on spatial location”,在第二个下拉框选择点层,然后在联接后属性选择第二个单选框,然后选择输出图层名称,点击“OK”。这样区和点就根据空间位置把属性联接上了,但是在Arcgis中,区内即使没有点,也会和最近的点联接上,要想把没有点的区所连接的属性去掉,就根据空间位置选择面图层“completely contain”点图层,这样包含点的那些区就被选中了,然后再反选(switch selection),把后来联接上的字段值均设为空即可
↓↓↓点击下方“阅读原文”查看更多精彩内容...