Python/Qgis(PyQgis) & ArcGis(Arcpy)
Qgis&Arcgis) arcpy 홀 폴리곤 삭제 (remove hole polygon)
유노파이
2021. 8. 15. 00:41
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()