Arcgis中怎样找出坐标连的图形?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arcgis中怎样找出坐标连的图形?相关的知识,希望对你有一定的参考价值。
工作的图中遇到了这样的问题,一张图里有的多边形是环形的,中间一个多边形,外圈一个圆环形。圆环形的内圆部分坐标连反了,图上有很多这样的图形,怎样用简便的方法找到这些坐标连反了的多边形?
参考技术A 你是要找环状图形吗?如果是这样你可以这样想,环状图形有什么特征呢?
理想的圆环,其重心不在圆环当中的。
那么根据重心选择不到的图形就是环状图形。
当然这样的方法依赖于你的数据特征,很有可能无法准确选出,也就是过滤的效果。
也可利用脚本的方式:
注1:版本为arcgis9.2,如果是9.3在create()改成create(9.3)。
注2:source与destination分别改成你的源文件与目标文件,路径中不要有汉字。
注3:仅适用于shapefile文件。
注4:执行的结果是将环状图形找到并导出到destination文件中。
注5:由于不知道你的数据实际状况,有可能存在不可预料的结果,使用请谨慎。
注6:脚本中缩进分别是4空格,8空格,12空格。
注7:使用方式是将下面代码复制到一个文本文件中,保存,修改后缀为.py,文件名随意,双击可执行。
注8:have fun!
#-*- coding: UTF-8 -*-
import arcgisscripting
gp = arcgisscripting.create()
# Create search cursor
source = r'E:\Data_Analysis\ArcGIS\source\Polygon\Pg_1.shp'
destination = r'E:\Data_Analysis\ArcGIS\source\Polygon\select.shp'
rows = gp.SearchCursor(source)
row = rows.Next()
#查找环状图形
mylist = []
while row:
feat = row.GetValue('Shape')
part = feat.getpart()
region = part.next()
point = region.next()
count = 0
while count < region.count:
if not point:
mylist.append(str(row.GetValue('FID')))
break
point = region.next()
count = count + 1
row = rows.Next()
sql_expr = '"FID" in (' + ','.join(mylist) + ')'
gp.Select_analysis(source, destination, sql_expr)
arcgis python图形信息
属性 |
说明 |
---|---|
area |
面要素的面积值;对于所有其他要素类型为空 |
centroid |
如果质心位于要素之内或要素之上则为真;否则返回标注点(返回一个点对象) |
范围 |
返回一个范围对象 |
firstPoint |
要素的第一个坐标;返回一个点对象 |
hullRectangle |
凸包矩形的坐标对 |
isMultipart |
如果此几何的部分数大于一,则为真 |
labelPoint |
标注所在的点;返回一个点对象(标注点始终位于要素之内或要素之上)。 |
lastPoint |
要素的最后一个坐标;返回一个点对象 |
长度 |
线状要素的长度;对于点和多点要素类型为空 |
partCount |
要素几何部分的数目 |
pointCount |
当前几何部分的点对象数 |
trueCentroid |
要素的重心;返回一个点对象 |
类型 |
面、折线、点、多点、多面体、尺寸、注记 |
以上是关于Arcgis中怎样找出坐标连的图形?的主要内容,如果未能解决你的问题,请参考以下文章