arcpy 讀取要素類 要素

2022-07-03 08:24:06 字數 2043 閱讀 9560

#

coding=utf-8

#①要素幾何由點point構成

#要素類中的每個要素都包含一組用於定義 面或線 折點的點,或者包含單個用於定義乙個 點要素 的點。

#可以使用幾何物件(polygon、polyline、pointgeometry 或 multipoint)訪問這些點,

#幾何物件將以 point 物件的陣列形式返回這些點。

#②多部件

#要素的幾何可具有多個部件,幾何物件的 partcount 屬性將返回要素的部分數目。

#如果指定了索引,則 getpart(i) 方法將返回特定幾何部分的點物件陣列。

#如果未指定索引,則返回的陣列將包含每個幾何部分的點物件陣列。[[p,p,p],]

#多部件要素是由多個物理部分組成的,但是只引用資料庫中的一組屬性。

#例如,在州行政區圖層中,可將夏威夷州看作是乙個多部件要素。雖然它是由許多島嶼組成的,但在資料庫中仍將其記錄為乙個要素。#③環

#如果乙個面包含多個洞,它將由多個環組成。針對面返回的點物件陣列將包含外部環及所有內部環的點。

#外部環總是先返回,接著是內部環,其中以空點物件作為環之間的分隔符。none

#環是乙個用於定義二維區域的閉合路徑。

#有效的環是由有效路徑組成的,因而環的起點和終點具有相同的 x,y 座標。

#順時針環是外部環,逆時針環則定義內部環。

import

arcpy

## 3個環的組成點集合

#points1=[[0,0],[0,10],[10,10],[10,0],[0,0]]

#points2=[[2,2],[2,8],[8,8],[8,2],[2,2]]

#points3=[[4,4],[4,6],[6,6],[6,4],[4,4]]##

# 3個環的array物件

#ring1=arcpy.array([arcpy.point(*p) for p in points1])

#ring2=arcpy.array([arcpy.point(*p) for p in points2])

#ring3=arcpy.array([arcpy.point(*p) for p in points3])##

polygon=arcpy.polygon(arcpy.array([ring1,ring2,ring3]))##

partindex=1

#for part in polygon:

#print 'part%d:'%partindex

#partindex+=1

#for point in part:

#if point:

#print '{},{}'.format(int(point.x),int(point.y))

#else:

#print 'innerring'

featureclass=r"

e:\3 coding\py code\arcpy\create\polygon\polygon_multipart.shp

"with arcpy.da.searchcursor(featureclass,[

"shape@

"]) as cursor:

polygonindex=1

for row in

cursor:

print

'polygon%d

'%polygonindex

polygonindex+=1partindex = 1

for part in

row[0]:

print

'part%d:

' %partindex

partindex += 1

for point in

part:

ifpoint:

print

'{},{}

'.format(int(point.x), int(point.y))

else

:

print

'innerring

'

arcpy縮放至所選要素

encoding utf 8 獲取地 檔中的圖層列表 mxd可引用網路驅動器上的文件 import arcpy mxdpath r c users h desktop fp.mxd mxd.activedataframe.zoomtoselectedfeatures 若mxd中沒有選擇的圖層,則會縮...

使用arcpy進行簡單的要素編輯

類似上篇部落格內容,這次直接對要素屬性內容考試編輯 import arcpy from arcpy import env env.workspace r c usersyaodocumentsarcgisdefault.gdb print 修改之前 cur arcpy.searchcursor 地級...

獲取要素類

獲取所有要素類 要素集 要素類列表 public static listgetallfeatureclass ifeaturedataset featuredataset return featureclasslist 獲取要素類 要素資料集 要素類名稱 要素類物件 public static if...