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");
随机推荐
- virtual box 安装 centos 7 不能上网问题解决总结
http://blog.csdn.net/u013264730/article/details/51146359 1.设置virtualbox 网络选项 [root@centos1 ~]# cat / ...
- (四)js数组方法一
ES5数组方法: Array.prototype.filter() 对数组元素进行过滤 三个参数:元素值,下标,原数组 返回:过滤后符合条件的数组,不会改变原数组 let arr = [2,4,6 ...
- [QT]安装中出现的问题(安装qt5.8,出现Could not start:"{0,3010,1603,5100} msiexec ...")
安装环境:win7/10 qt版本: qt-opensource-windows-x86-mingw530-5.8.0 在两台电脑上安装到 qt.tool.perl 的时候就弹出如图的窗口错误,开始以 ...
- 高级C/C++编译技术之读书笔记(四)之定位库文件
最近有幸阅读了<高级C/C++编译技术>深受启发,该书深入浅出地讲解了构建过程(编译.链接)中的各种细节,从多个角度展示了程序与库文件或代码的集成方法,提出了面向代码复用和系统集成的软件架 ...
- 转载 关于include尖括号和双引号的区别。
对于使用尖括号( < >),预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而对于使用双引号(“ ”),cpp在当前目录中搜寻头文件,这个选项的作用是 ...
- LA2218 Triathlon
题意 PDF 分析 设出长度\(x,y,1-x-y\),就是关于它们的二元一次不等式,判断有没有解. 可以用半平面交来解决. x/V[i]+y/U[i]+(1-x-y)/W[i] < x/V[j ...
- sqlalchemy的基本的使用
参考链接:http://www.techweb.com.cn/network/system/2016-10-11/2407638.shtml http://www.cnblogs.com/renfan ...
- OracleAWR删除历史快照说明
测试时,发现无法产生新快照,查看系统时间为10月26,但是已经产生快照为12月1号了. 此时的解决办法,就是删除现有的快照. 转http://itlab.idcquan.com/Oracle/back ...
- C#中Cache的使用
公共方法Add 将指定项添加到 Cache 对象,该对象具有依赖项.过期和优先级策略以及一个委托(可用于在从 Cache 移除插入项时通知应用程序). Equals(从 Object 继承) 已重载. ...
- 笔记:使用 Protel 99 SE 改一块车充 PCB
笔记:使用 Protel 99 SE 改一块车充 PCB Protel 99 SE N 多年前用过,之前就再没有碰过了. 今天由于特殊原因又使用了一下. 还好有些有印象,现记录一下以免忘记. 元件转向 ...