답변:
이를위한 프로세스는 ArcGIS 10.0과 10.1 사이에서 변경된 것으로 보입니다. 둘 다에 대한 샘플을 포함하겠습니다.
다음은 arcpy를 사용하여 10.1의 기하학 읽기에 대한 도움말 문서입니다. 기하학 10.1 읽기이
문서에서는 폴리 라인 기하학 유형의 매개 변수에 대해 설명합니다. 폴리 라인 (arcpy)
10.1
import arcpy
infc = arcpy.GetParameterAsText(0)
# Enter for loop for each feature
#
for row in arcpy.da.SearchCursor(infc, ["OID@", "SHAPE@"]):
# Print the current line ID
print("Feature {0}:".format(row[0]))
#Set start point
startpt = row[1].firstPoint
#Set Start coordinates
startx = startpt.X
starty = startpt.Y
#Set end point
endpt = row[1].lastPoint
#Set End coordinates
endx = endpt.X
endy = endpt.Y
10.0
: 여기 arcpy 사용하여 10.0에서 형상을 읽는의 도움말 문서입니다 읽기 기하학 10.0
이 문서는 기하 개체의 매개 변수에 대해 설명은 : 기하학
import arcpy
infc = arcpy.GetParameterAsText(0)
# Identify the geometry field
#
desc = arcpy.Describe(infc)
shapefieldname = desc.ShapeFieldName
# Create search cursor
#
rows = arcpy.SearchCursor(infc)
# Enter for loop for each feature/row
#
for row in rows:
# Create the geometry object
#
feat = row.getValue(shapefieldname)
# Print the current line ID
#
print "Feature %i:" % row.getValue(desc.OIDFieldName)
#Set start point
startpt = feat.firstPoint
#Set Start coordinates
startx = startpt.X
starty = startpt.Y
#Set end point
endpt = feat.lastPoint
#Set End coordinates
endx = endpt.X
endy = endpt.Y
이 둘의 차이점은 기본적으로 형상 형상에 액세스하는 방법에 있습니다. 10.1 에는 지오메트리 객체에 쉽게 접근 할 수 있도록 몇 가지 단축키가 추가되었습니다 .
나는 이것을 전에 했었고 검색 커서를 사용하고 기하학을 읽는 것을 선호합니다. 루프를 만들고 각 모양에 대해 계산을 수행 할 수 있습니다.
inFeatures = "Feature"
shapeName = arcpy.Describe (inFeatures).shapeFieldName
rows = arcpy.SearchCursor(inFeatures)
for row in rows:
feat = row.getValue(shapeName)
xy1 = feat.firstPoint
xy2 = feat.lastPoint
이 루프를 사용하면 계산을 추가하고 모양별로 모양을 변경할 수 있습니다.
도움말 : 파이썬에서 지오메트리 작업