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中怎么去除重复的面?(转)的更多相关文章

  1. DataTable中如何去除重复的项【转】

    上周在项目中遇到一个问题,就是获取DataTable中某一列的值,因为从数据库中检索数据时,按照2个字段进行分组,而要获得的那一列刚好在分组这两列中,所以该列的值必然有重复,于是就想到了去除重复,有了 ...

  2. DataTable中如何去除重复的项 (获得某个字段中的不重复项)

    就是获取DataTable中某一列的值,因为从数据库中检索数据时,按照2个字段进行分组,而要获得的那一列刚好在分组这两列中,所以该列的值必然有重复,于是就想到了去除重复,有了思路以后在网上看了一些方法 ...

  3. js数组中如何去除重复值?

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

  4. JavaScript中数组去除重复

    方式一:常规模式 1.构建一个新的临时数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与临时数组对比 3.若临时数组中没有该元素,则存到临时数组中 //方式一: Array.p ...

  5. js中数组去除重复项目

    js语法技巧:if(a>=5)  alert();  可以改写成下边语句:  a>=5&&alert(); 在下文中会用到这种写法 // for循环删除后面重复的 速度最快 ...

  6. 内存中DataTable去除重复行

    删除内存中DataTable表的重复行 假设在内存中(不是数据库中)有两个表: 表一:TableA Name Phone 张三 123456 李四 123457 王五 1234568 表二:Table ...

  7. JS中数组去除重复

    法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { ...

  8. JS中数组去除重复的方法

    function unique(arr) { var result = [], hash = []; for (var i = 0, elem; (elem = arr[i]) != null; i+ ...

  9. DataTable中如何去除重复的项

    DataView dv =dataTable.DefaultView; DataTable dt = dv.ToTable(true, "Name");

随机推荐

  1. Compile For Cydia Submission Author: BigBoss Updated September 23, 2011

    Compile For Cydia Submission Author: BigBoss Updated September 23, 2011: In order to submit your app ...

  2. Go语言的序列化与反序列化(gob)

    encoding/gob包实现了高效的序列化,特别是数据结构较复杂的,结构体.数组和切片都被支持. 实现代码如下://定义一个结构体type Student struct { Name string ...

  3. Logical standby database 搭建(配置)

    说明 Logical standby 数据库是通过Physical standby数据库转换的.本Logical standby是通过之前创建的Physical standby转换的. Physica ...

  4. HDU - 6178:Monkeys (贪心&树上最大匹配输&输入优化)

    There is a tree having N vertices. In the tree there are K monkeys (K <= N). A vertex can be occu ...

  5. Redis设计与实现 (三): 字典

     哈希表 结构定义dict.h/dictht /* * 哈希表 * * 每个字典都使用两个哈希表,从而实现渐进式 rehash . */ typedef struct dictht { // 哈希表数 ...

  6. verilog 2001中的一些新语法

    比较有用的:1,generate语句,但需注意,generate-for中变量范围是已知的确定值, generate-case,generate-if语句中变量都必须是固定的, generate必须跟 ...

  7. WPF简单模拟QQ登录背景动画(转)

    介绍 之所以说是简单模拟,是因为我不知道QQ登录背景动画是怎么实现的.这里是通过一些办法把它简化了,做成了类似的效果 效果图 大体思路 首先把背景看成是一个4行8列的点的阵距,X轴Y轴都是距离70.把 ...

  8. ⑤SpringBoot之定时任务

    本文介绍SpringBoot定时任务的使用,springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现. 1.pom配置文件 pom包里面只需要引入springboot starter包 ...

  9. window下安装mysql

    参考地址: https://www.cnblogs.com/lmh2072005/p/5656392.html http://www.jb51.net/article/90302.htm 一.下载安装 ...

  10. mysql权限验证流程

    mysql用户管理,逐级下查 mysql库的user表连接信息,全局权限db表记录用户对库的权限,对某个数据库的所有表的权限tables_priv 设置用户对表的权限columns_priv设置用户对 ...