ARCGIS中怎么去除重复的面?(转)
ARCGIS中怎么去除重复的面?
https://blog.csdn.net/gswwldp/article/details/66974522
第一种:
1、用polygon to line将面转成线new_line
2、用feature to polygon将线再转成面new_polygon
注:若要保持原面的属性,用feature to point将面转成点,然后用spatial join与new_polygon进行空间连接
第二种:
直接用软件,esri论坛发了对重复图斑编号的工具。
第三种:
FME软件进行
第四种:
将数据导成MDB格式。通过SQL语句进行处理
select * from layer where:
[A] in (select [A] from 层名 group by [A] having count([A]) >1)
第五种:
通过拓扑进行处理。
二次编辑
1、使用ArcGIS工具,组合解决删除重复面
思路:面生成线——线转面——获取面属性(1) Featureto line,将面生成线
Data Management Tools\Features\Featuretoline。
(2)featuretopolygon将线再转成面new_polygon(3)Spatialjoin空间连接属性
若要保持原面的属性,用feature to point将原面要素类转成点,然后用spatialjoin与new_polygon进行空间连接,或者在上一步线转面时,LabelFeatures选项勾上原面生成的点。
2、工具Delete Identical
(1) 计算面质心坐标
添加两个字段分别记录质心的x和y坐标值,用CalculateGeometry计算XCoordinate of Centroid、YCoordinate of Centroid。
(2) 用Delete Identical删除重复的面
工具界面里勾上2.1中计算的质心x、y坐标字段,此工具会比较属性值相同的要素,并进行删除。(注:Delete Identical工具可比较shape字段,即要素的位置,但执行起来效果不佳)
3、Dissolve工具
可以把多个要素,通过指定的属性(属性值相同),溶解成一个要素。同2.1,用CalculateGeometry计算面的质心坐标xcenter、ycenter。用Dissolve工具,按字段xcenter、ycenter进行溶解。重复的面要素会被溶解掉。但dissolve会丢失没有指定的不同的属性,例如没有勾选的parcelID。因此,该工具适合几何和属性完全重合的面数据。
4、创建拓扑
对该面要素创建拓扑,使用拓扑规则Must not overlap。色的部分,即发生的面的重合。借助拓扑内置的解决方案,可以解决该类问题。在错误监视器里,选中单条错误,右键Merge,让重合的两个面融合,可选择融合到哪一个面中去。
但是该方法较花费时间,如果有太多的面重合,不推荐。
ARCGIS中怎么去除重复的面?(转)的更多相关文章
- DataTable中如何去除重复的项【转】
上周在项目中遇到一个问题,就是获取DataTable中某一列的值,因为从数据库中检索数据时,按照2个字段进行分组,而要获得的那一列刚好在分组这两列中,所以该列的值必然有重复,于是就想到了去除重复,有了 ...
- DataTable中如何去除重复的项 (获得某个字段中的不重复项)
就是获取DataTable中某一列的值,因为从数据库中检索数据时,按照2个字段进行分组,而要获得的那一列刚好在分组这两列中,所以该列的值必然有重复,于是就想到了去除重复,有了思路以后在网上看了一些方法 ...
- js数组中如何去除重复值?
在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...
- JavaScript中数组去除重复
方式一:常规模式 1.构建一个新的临时数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与临时数组对比 3.若临时数组中没有该元素,则存到临时数组中 //方式一: Array.p ...
- js中数组去除重复项目
js语法技巧:if(a>=5) alert(); 可以改写成下边语句: a>=5&&alert(); 在下文中会用到这种写法 // for循环删除后面重复的 速度最快 ...
- 内存中DataTable去除重复行
删除内存中DataTable表的重复行 假设在内存中(不是数据库中)有两个表: 表一:TableA Name Phone 张三 123456 李四 123457 王五 1234568 表二:Table ...
- JS中数组去除重复
法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { ...
- JS中数组去除重复的方法
function unique(arr) { var result = [], hash = []; for (var i = 0, elem; (elem = arr[i]) != null; i+ ...
- DataTable中如何去除重复的项
DataView dv =dataTable.DefaultView; DataTable dt = dv.ToTable(true, "Name");
随机推荐
- 你必须知道的495个C语言问题,学习体会二
这是本主题的第二篇文章,主要就结构体,枚举.联合体做一些解释 1.结构体 现代C语言编程 结构化的基石,diy时代的最好代言人,是面向对象编程中类的老祖宗. 我们很容易定义一个结构体,比如学生: st ...
- linux多线程全面解析
引入: 在传统的Unix模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理.Unix下的大多数网络服务器程序都是这么编写的,即父进程接受连 ...
- 项目中使用的ajax代码_:觉得还好
POST>> submitHandler:function(form){ var username = $('#user_name').val(); var password = $('# ...
- 完全卸载session 所需要的函数
session_unset() 删除内存当中的session数据:必须放在session_destroy的前边.因为应用session_destory后session_id();就会消失. 删除se ...
- 关于this指向问题的总结【转自秘密花园】
this 的工作原理 JavaScript 有一套完全不同于其它语言的对 this 的处理机制. 在五种不同的情况下 ,this 指向的各不相同. 第一种:全局范围内 this; 当在全部范围内使用 ...
- 关于public static void main(String[] args)相关知识
main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同.比如方法的名字必须是main,方法必须是public ...
- 深入学习Heritrix---解析Frontier(链接工厂)(转)
深入学习Heritrix---解析Frontier(链接工厂) Frontier是Heritrix最核心的组成部分之一,也是最复杂的组成部分.它主要功能是为处理链接的线程提供URL,并负责链接处理完成 ...
- UltraEdit工具安装和注册机破解
1.关闭网络连接(或者直接拔掉网线). 2.打开UltraEdit软件,稍等片刻会出现提示你你使用的是试用版本的窗口.如下图,点击“注册”. 3.填写许可证id和密码.许可证id可任意填写,不过根据经 ...
- 解决Chrome关联HTML文件,图标不显示的问题。
解决Chrome关联HTML文件,图标不显示的问题. 一.方法一 1.win+r,输入regedit,调出注册表信息,按下Ctrl+F,在注册表里搜索.在注册表里新建几个文件就可以了 a.新建Old ...
- python的一些开源库
SQLAlchemy——数据持久层框架 简介 SQLAlchemy 主要由两部分组成,一个 SQL 工具包和一个关系对象映射(ORM),它能让开发者完全发挥出 SQL 的灵活性与强大的能量.他实现了一 ...