본문 바로가기

Python12

Qgis&Arcgis) arcpy 홀 폴리곤 삭제 (remove hole polygon) 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.. 2021. 8. 15.
Qgis&Arcgis) arcpy 벡터의 외적을 이용한 두 벡터의 교차점 구하기 # 벡터의 외적 def cross_product(x0,y0,x1,y1, x2,y2,x3,y3): val = (x1-x0)*(y3-y2) - (y1-y0)*(x3-x2) return val # 두 벡터의 교차점 def intersection_point(x0,y0,x1,y1, x2,y2,x3,y3, val): pre = x1*y0 - y1*x0 post = x3*y2 - y3*x2 x = (pre * (x3-x2) - (x1-x0) * post) / val y = (pre * (y3-y2) - (y1-y0) * post) / val return x,y if __name__ == '__main__': for idx, row in enumaerat(arcpy.da.SearchCursor("폴리라인","SHAPE.. 2021. 8. 10.
arcgis) arcpy add-in 설치하고 만들기 (필드값 넣는 버튼추가) 아래 사이트에서 다운받습니다. www.arcgis.com/home/item.html?id=5f3aefe77f6b4f61ad3e4c62f30bff3b Python Add-In Wizard Simplify the development of ArcGIS Desktop add-ins with this Python Add-In Wizard www.arcgis.com C:/arcgis 폴더를 하나 정해서(아무거나 정하셔도 상관없습니다.) 압축푼 폴더를 넣어 놓습니다. (addin_assistant) 그다음에 툴을 저장할 빈 폴더를 생성해주세요 1. 만들어볼 간단한 툴은 폴리곤 레이어에 필드값 넣기 입니다. C:/arcgisaddin_assistant/bin/addin_assistant.exe 간단하게 설명을 드리면.. 2021. 4. 9.
Python - 멀티프로세싱에서 공유 리스트 활용법 # -*- coding: utf-8 -*- import multiprocessing import os def count(n, share_list): ## 0 ~ 99 리스트에 추가 if n == 1: for i in range(100): print (i) share_list.append(i) ## 100 ~ 199 리스트에 추가 elif n == 2: for i in range(100,200): print (i) share_list.append(i) if __name__ == '__main__': ## Manager()를 이용하여 공유할 리스트를 만듦 manager = multiprocessing.Manager() share_list = manager.list() jobs = [] ## target = .. 2020. 12. 25.