使用Python查找重叠多边形,并将其输出为特定要素类
数据为三个互相重叠但边界不同的多边形,用户使用overlaps只能输出1个重叠多边形
发起人
相关问题
- 如何优雅的使用ArcGIS知乎?
- 苹果系统下可以使用arcgis 吗?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- arcgis10.2有时候无法复制粘贴要素
- 请问arcmap如何使用多线程?
- ArcGIS中如何用Python给字段值补充0
- arcgis runtime for andriod 100.1 如何使用eclipse开发
- 如何使用脚本或其他方法,将图层属性中属性域原值内容替换为属性域描述?
- ArcGIS model builder 输出文件名处理
- 市区择房分析时,需要添加字段并将其赋值1或者-1,怎么做? 在开始编辑的时候,总是出现空间参考与数据框不匹配提示,原因是什么?会影响下面的赋值吗?
- arcgis for python 如何获取线要素起点 终点坐标
问题状态
- 最新活动: 2016-12-26 00:00
- 浏览: 2195
- 关注: 1 人
1 个回复
张国丽
赞同来自:
(1)关于overlaps,Python中定义如下:Indicates if the intersection of the two geometries has the same shape type as one of the input geometries and is not equivalent to either of the input geometries.
所以,用户数据中的3个多边形中只有多边形1和多边形2满足overlaps,多边形1和多边形3,多边形2和多边形3,重叠的地方和输入的几何相同,不满足overlaps的要求,这是“三个多边形互相重叠,但计算结果只有1个True”的原因所在。
解决办法:使用intersect,判断getArea()>0,如果大于0,即满足条件,可以完全遍历并输出3个互相重叠的多边形。
geometry_intersect = geometry1.intersect(geometry2,4)
b1= geometry_intersect.getArea()>0
参见:http://resources.arcgis.com/zh ... 00000
(2)采用两次记录,防止最后一个多边形遗漏的情况
kqid1_xmmc = features[i][2]
kqid2_xmmc = features[j][2]
print kqid1 + -- + kqid2 + -- OK
cursor.insertRow((kqid1, kqid2, datetime.datetime.now(),kqid1_xmmc,kqid2_xmmc,geometry1))
print kqid2 + -- + kqid1 + -- OK
cursor.insertRow((kqid2, kqid1, datetime.datetime.now(),kqid2_xmmc,kqid1_xmmc,geometry2))
要回复问题请先登录或注册