在arcpy中将面shp文件转换为polygon object
2016-12-06 19:17
246 查看
最近在用arcgis的python借口arcpy编写一个批处理的脚本程序,其中有一段功能是要判断两个矢量面是否重叠,经过查询帮助文档和一些资料得知,polygon对象具有overlaps()方法可以用来判断两个polygon对象是否重叠,具体语法为:
polygon1.overlaps(polygon2)
如果重叠则返回True,否则返回False。
我将两个面矢量文件直接导入使用overlaps方法总是报错,错误信息大概的意思是说:字符串对象不具有overlaps方法。所以,面矢量文件并不是polygon对象(虽然都是面,但是程序就是不识别啊)。好吧,我只好去找能够将面矢量文件转换成polygon对象的方法。
通过在扣扣群里咨询大神然后查阅了一本书(这是一本英文书,书名为《ArcPy and ArcGIS Geospatial Analysis with Python》,15年出版的,还没怎么看,应该是个好东西)得知,可以将面矢量文件先转换成Geometry对象,就可以使用overlaps()方法了。
那么将面矢量文件转换成Geometry对象的具体方法如下:
这里使用polyg1[0]而不是polyg1的原因是arcpy.CopyFeatures_mangement()函数返回的是一个列表对象,所以要取其第一个元素,不然会报错
polygon1.overlaps(polygon2)
如果重叠则返回True,否则返回False。
我将两个面矢量文件直接导入使用overlaps方法总是报错,错误信息大概的意思是说:字符串对象不具有overlaps方法。所以,面矢量文件并不是polygon对象(虽然都是面,但是程序就是不识别啊)。好吧,我只好去找能够将面矢量文件转换成polygon对象的方法。
通过在扣扣群里咨询大神然后查阅了一本书(这是一本英文书,书名为《ArcPy and ArcGIS Geospatial Analysis with Python》,15年出版的,还没怎么看,应该是个好东西)得知,可以将面矢量文件先转换成Geometry对象,就可以使用overlaps()方法了。
那么将面矢量文件转换成Geometry对象的具体方法如下:
import arcpy polyg1 = arcpy.CopyFeatures_management("polygon1.shp",arcpy.Geometry) polyg2 = arcpy.CopyFeatures_management("polygon2.shp",arcpy.Geometry) polyg1[0].overlaps(polyg1[0])
这里使用polyg1[0]而不是polyg1的原因是arcpy.CopyFeatures_mangement()函数返回的是一个列表对象,所以要取其第一个元素,不然会报错
相关文章推荐
- XY坐标文本数据转换为Shp文件
- dataset 中将 将2进制数组列的数据 转换成文件 和 从文件中 转换到 dataset 方法
- Linux 中将多个Word文档转换成PDF格式的方法及多个PDF文件的合并
- DataFrame与shp文件相互转换
- ArcGIS学习记录—KMZ KML与SHP文件互相转换
- C#.net 中将位图文件转换成为Icon的简单方法
- 将GPS点导入ArcGIS并转换为shp图层文件
- .shp .shx .dbf格式的文件怎么转换成.tab .map .id .d
- VMware workstation中将硬盘文件由single file转换成multiple files
- Android中选取文件后在onActivityResult中将intent中的Uri转换成文件的路径
- 空间信息到GML的转换(从Shp文件到GML文件)
- ASP.NET 中将视频文件转换成 .flv 格式
- mapinfo功能把tab转成文件,再用shp2mysql转换成sql文件
- Matlab中将矩阵数据转换成txt文件保存输出的办法
- 如何在 Windows XP 中将 FAT16 或 FAT32 卷转换为 NTFS 文件系统 - 易宝典
- shp文件转换成svg文件
- ASP中将视频文件转换成.flv格式
- shp文件转换到CAD dwg,dxf
- Asp.net中将Word文件转换成HTML的方法
- DXF文件中将多段线凸度转换成圆弧