ArcGIS中各种合并要素(Union、Merge、Append、Dissolve)的异同点分析 转载
标签: arcgis 杂谈 分类: GIS
ArcGIS中将两个要素类合并成一个要素有Union、Dissolve、Append、Merge等,在Arctoolbox中均有相应工具,但功能上有所不同:
Union:合并输入要素类到新的要素类中。
图形:union只能合并polygon类型的要素类。两个要素类合并时会处理相交部分,使之单独形成多部件要素,并且有选项选择允许缝隙(gaps)或不允许缝隙。如果过选择不允许缝隙,两个要素类合并后的缝隙将生成要素。
属性表:union合并属性表的选项有三个:all、no_fid和only_fid。all将两个要素类的属性表字段按顺序全部放在输出要素类的属性表 中,包括fid。同名的字段(除fid外)在字段名后加数字以示区别(fid后加要素类名称)。no_fid将两个要素类的属性表中除fid外的字段按顺 序全部放在输出要素类的属性表中。only_fid只将两个要素类的属性表中的fid放到输出要素类的属性表中,在fid后加要素类名称以示区别。 union不做字段映射。
Merge:合并输入要素类、表到新的要素类、表中。
可以联合一般的属性表,合并属性或者说挂接属性!
例如:县polygon,只有name属性,现在需要添加他的邮编、区号、人口、面积、代码等等信息,现在搜集到了这些信息,并且放到一般的属性数据库如 access里面。属性表和图形属性存有共同的name属性字段,可以joins一起,然后用 Merge工具,选择需要的属性字段,生成独立的新要素!
图形:merge可以合并点、线、多边形等要素类和表,但必须是相同类型的。merge不处理要素,只简单地把要素放到一个要素类里,因此输出的要素类可能会有重叠或缝隙。
属性表:merge处理属性表时会把相同名字的字段合成一个,不同名字的字段按原名字、顺序全部加入输出要素类属性表中,原fid将会丢弃。merge可以进行字段映射。
Append:合并输入要素类、表、栅格影像及栅格目录到一个已有的要素类、表、栅格影像及栅格目录中。
如果源数据的字段属性相同,则可以用append 合并多个shapefile文件为一个。
如不同级别的河流shapefile文件,可以合并在一个shapefile中,显示专题还可以分开描述。
当schema type选项为test时,输入输出的要素类属性表结构必须一致,既字段名、类型、排列顺序必须完全相同,当schema type选项为no_test时可以不同。
图形:append可以合并点、线、多边形等要素类和表、栅格影像及栅格目录,但必须是相同类型的。append不处理要素,只简单地把要素放到一个要素类里,因此输出的要素类可能会有重叠或缝隙。
属性表:同输出要素类的属性表。输入要素类属性表中的字段如果在输出要素类属性表中没有将会被丢弃,但可做字段映射,将输入要素类的某个字段映射到输出要素类的某个字段。
Dissolve:可以把多个要素,通过指定的属性(属性值相同),溶解成一个要素;
例如:可以把县 溶解成市。 条件:县要素里面有共同的 市 标志~!
dissolve/////丢失没有指定的不同的属性
异同点:merge、union、append均为合并,开始,过程,结果,有什么不同?
merge和union一般来说是对要素类中的“要素”来说的,也就是说,对某一部分要素进行操作。
merge 是对同一个要素类中的要素的操作,操作完成后原来的要素消失。
union 则灵活一些,可以对不同图层的要素进行操作,新生要素在目标图层中产生
append 一般拿来用于将多个要素类合并。比如将两个省的数据合并到一个要素类中。
ArcGIS中各种合并要素(Union、Merge、Append、Dissolve)的异同点分析 转载的更多相关文章
- ArcGIS Desktop和Engine中对点要素图层Graduated Symbols渲染的实现 Rotation Symbol (转)
摘要 ArcGIS中,对于要素图层的渲染,支持按照要素字段的值渲染要素的大小,其中Graduated Symbols可以对大小进行分级渲染.在个人开发系统的过程中,也可以用来美化数据显 ...
- ArcGIS中如何导出单个矢量要素图形
原文:ArcGIS中如何导出单个矢量要素图形 在ARCGIS中载入了一张含有省界的中国地图,是SHP文件.现在我只想要其中一块地区的,实现方法如下: 加入到ArcGIS后,右击图层,打开属性表(att ...
- C#+ArcGIS Engine 获取地图中选中的要素
转自 C#+ArcGIS Engine 获取地图中选中的要素 C#+ArcGIS Engine 获取地图中选中的要素 提供一种简单遍历获取地图中选中要素的方法,代码如下: List<IFeatu ...
- ArcGIS 中要素的查询与修改
转自nimeila的回答 求C# ArcGIS Engine修改选中要素的属性,单要素都行 RLAlterFrm RLalter = new RLAlterFrm(); RLalter.ShowDia ...
- arcgis中的Join(合并连接)和Relate(关联连接)
arcgis中的Join(合并连接)和Relate(关联连接) 一.区别 1.连接关系不一样. Relate(关联连接)方式连接的两个表之间的记录可以是“一对一”.“多对一”.“一对多”的关系 Joi ...
- arcgis中栅格矢量计算技巧收藏
编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...
- ARCGIS中怎么去除重复的面?(转)
ARCGIS中怎么去除重复的面? https://blog.csdn.net/gswwldp/article/details/66974522 第一种: 1.用polygon to line将面转 ...
- Java中的合并与重组(下)
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习. Java中的合并与重组上部分链接:https://www.cnblogs.com/youruike1/p ...
- ArcGIS中的坐标系统定义与投影转换【转】
ArcGIS中的坐标系统定义与投影转换 坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统 ...
随机推荐
- [转载]Java抽象类和接口的学习
http://android.blog.51cto.com/268543/385282/ 抽象类 abstract class 包含抽象方法的类,叫抽象类.而抽象的概念就是抽象出共同属性:成员 ...
- checkbox选中的问题(Ajax.BeginForm)
判断checkbox选中的方法方法一:if ($("#checkbox-id")get(0).checked) { // do something} 方法二:if($('#chec ...
- new BigDecimal(0.01) 与 new BigDecimal(String.valueOf(0.01))的区别 (转)
转自:http://blog.csdn.net/major1985/article/details/50210293 一般我们使用BigDecimal进行比较精密的计算,我这里计算金额.注意使用dou ...
- AI人工智能专业词汇集
作为最早关注人工智能技术的媒体,机器之心在编译国外技术博客.论文.专家观点等内容上已经积累了超过两年多的经验.期间,从无到有,机器之心的编译团队一直在积累专业词汇.虽然有很多的文章因为专业性我们没能尽 ...
- BZOJ1718: [Usaco2006 Jan] Redundant Paths 分离的路径【边双模板】【傻逼题】
LINK 经典傻逼套路 就是把所有边双缩点之后叶子节点的个数 //Author: dream_maker #include<bits/stdc++.h> using namespace s ...
- flask第二十一篇——练习题
自定义url转化器 实现一个自定义的URL转换器,这个转换器需要满足的是获取从多少到多少的url,例如,你输入的地址是http://127.0.0.1:8000/1-5/,那么页面返回[1,2,3,4 ...
- 【消息队列值Beanstalk】beeanstalk初识
Beanstalk是一个高性能.轻量级的.分布式的.内存型的消息队列系统.最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟.其实Beanstalkd是典型的类Mem ...
- test20181029 宝藏
题意 分析 考场做法 一眼看出是支持换根的树形dp. 用\(f(x,0/1)\)表示x及其子树中,从x出发,不一定/一定回到x的最大收益. 然后子树很好做. 换根的时候,我先计算后还原,需要考虑很多, ...
- vue项目之webpack打包静态资源路径不准确
摘自:https://blog.csdn.net/viewyu12345/article/details/83187815 问题 将打包好的项目部署到服务器,发现报错说图片找不到. 静态资源如js访问 ...
- C#多线程应用:子线程更新主窗体控件的值(二)
在上篇文章中,我已经给大家列了一个在主线程中实现的方式,这篇文章来给大家说说使用Invoke的方式的例子: 对于不代理不太熟悉的朋友,建议先查查相关资料: 例子一: 在C#中,直接在子线程中对窗体上的 ...