ArcPy로 시작점과 끝점 좌표를 검색 하시겠습니까? [닫은]


9

폴리 라인 피쳐 클래스에 대해 ArcPy를 사용하여 시작점과 끝점 좌표를 어떻게 검색합니까?

세그먼트 식별자를 서브 루틴에 전달하고 시작 및 끝 좌표를 다시 전달해야합니다. 필드 계산기 방법은 작동하지 않습니다. 내에서 수행 할 수없는 다른 계산에 대한 값이 필요하기 때문입니다. (또한 이러한 좌표를 속성으로 저장하기 위해 데이터를 변경하지 않는 것이 좋습니다.) "중심 아웃"주소 지정 체계의 주소 범위를 계산하려고합니다. 주소 값은 "카운티 센터"까지의 거리에 따라 다릅니다.

답변:


15

이를위한 프로세스는 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 에는 지오메트리 객체에 쉽게 접근 할 수 있도록 몇 가지 단축키가 추가되었습니다 .


6

나는 이것을 전에 했었고 검색 커서를 사용하고 기하학을 읽는 것을 선호합니다. 루프를 만들고 각 모양에 대해 계산을 수행 할 수 있습니다.

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

이 루프를 사용하면 계산을 추가하고 모양별로 모양을 변경할 수 있습니다.

도움말 : 파이썬에서 지오메트리 작업


1

Polyline 객체 의 firstPoint 및 lastPoint 속성을 사용할 수 있어야 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.