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");
随机推荐
- 循环神经网络RNN模型和长短时记忆系统LSTM
传统DNN或者CNN无法对时间序列上的变化进行建模,即当前的预测只跟当前的输入样本相关,无法建立在时间或者先后顺序上出现在当前样本之前或者之后的样本之间的联系.实际的很多场景中,样本出现的时间顺序非常 ...
- MYSQL 重新设置自增值
说明:当一张有auto_increment主键的表中存有10条数据,现删除5-10条数据, 再insert数据的时候auto_increment将从11开始. 现在我们改变它设为从6开始. ALTER ...
- 【vs2013】如何在VS的MFC中配置使用GDI+?
摘自:http://www.cnblogs.com/CSGrandeur/p/3156843.html (已实验,可行) 1.配置GDI+ VS2010自带GDI+,直接使用. (1)首先要添加头文件 ...
- docker 基本学习
Docker的应用场景: 加速本地开发和构建流程,使其更加高效.更加轻量化.本地开发人员可以构建.运行并分享Docker容器.容器可以在开发环境中构建,然后轻松地提交到测试环境中,并最终进入生产环境. ...
- HTML里 iframe跳转后关闭iframe
if(window != top){ top.location.href = location.href; }
- C#反射 -- 基础
两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况.这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时 ...
- C#网络编程(同步传输字符串) - Part.2
服务端客户端通信 在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据.端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间 ...
- 自定义标签库_tag
1)最简单的标签库 1,继承Tag接口,重写doEndTag()方法,返回类型不同后面流程不一样 想要jsp的内容必须重写了setPageContent()方法 再JspWriter out = pa ...
- Java 编码规范
package(包) 包名的命名规范:1.小写 2.至少有一层目录 3.域名倒置书写 package baidu; package com.baidu.www; Class(类)-----大驼峰法 类 ...
- 【openCV学习笔记】【1】如何载入一张图片
直接看代码好了 #include <iostream> #include <opencv/highgui.h>//这里主要用到窗口显示 int main(int argc, c ...