arcpy에서 지오메트리를 이용하여 쉽게
홀 폴리곤을 없앨수 있습니다.
홀 폴리곤의 지오메트리는 None 값을 반환합니다.


import arcpy
import os
arcpy.env.overwriteOutput = True
# 좌표정보
sr = arcpy.Describe('layer').spatialReference
with arcpy.da.UpdateCursor('layer','SHAPE@')as cursor:
for row in cursor:
arr = arcpy.Array()
# 폴리곤 지오메트리 read
for i in range(row[0].partCount):
part = row[0].getPart(i)
arcpy.AddMessage('-- part '+str(i))
for pt in part:
if pt == None: # hole polygon 은 None 반환
break
else:
arcpy.AddMessage(str(pt))
arr.add(pt) # 지오메트리 array에 추가
poly = arcpy.Polygon(arr,sr) # 폴리곤 지오메트리 생성
row[0] = poly
cursor.updateRow(row) # 형상 업데이트
arcpy.RefreshActiveView()
'Python > Qgis(PyQgis) & ArcGis(Arcpy)' 카테고리의 다른 글
Qgis&Arcgis) Qgis 필드계산기 함수 사용법 (0) | 2022.08.27 |
---|---|
Qgis&Arcgis) arcpy 벡터의 외적을 이용한 두 벡터의 교차점 구하기 (0) | 2021.08.10 |
arcgis) arcpy add-in 설치하고 만들기 (필드값 넣는 버튼추가) (0) | 2021.04.09 |
댓글