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. js类 的小例子

    class Flyer { constructor(fname, speed) { this.fname = fname; this.speed = speed; } fly(){ console.l ...

  2. myeclipse三个地方的java版本统一

    1 java build path 2 java compiler 3 Myeclipse -> project facets

  3. 解决"hibernate.hbm2ddl.auto" update值 无效

    <property name="schemaUpdate"> <value>true</value> </property> 若果是 ...

  4. 关于public static void main(String[] args)相关知识

    main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同.比如方法的名字必须是main,方法必须是public ...

  5. bzoj 2770 YY的Treap

    Written with StackEdit. Description 志向远大的\(YY\)小朋友在学完快速排序之后决定学习平衡树,左思右想再加上\(SY\)的教唆,\(YY\)决定学习\(Trea ...

  6. 如何调试Excel VBA代码

    Excel VBA出错时给出的错误信息极少,需要充分利用各种工具来进行调试. 1.编译错误 常见的编译错误有: 错误的源代码格式,比如if后面缺少then:在编辑器中该行会变成红色. 错误的语法结构, ...

  7. (转)Android开发--常用的传感器总结

    随着手机的发展,现在各大手机支持的传感器类型也越来越多,在开发中利用传感器进行某些操作令人们有一种耳目一新的感觉,例如微信中的摇一摇,以及手机音乐播放器中的摇一摇切歌.今天来简单介绍下Android中 ...

  8. Spring、Spring MVC、MyBatis整合文件配置详解2

    使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Spring:http://spring.io/docs MyBatis ...

  9. spring的@Transactional注解详细用法(转)

    概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性.Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型, ...

  10. 关于sea.js的笔记

    首先,引入sea.js:(注意要直接写在Script标签里,不要写在jquery的页面加载事件里) seajs.config({ base: "./" //seajs的基础路径(组 ...