Lấy tọa độ điểm bắt đầu và điểm kết thúc với ArcPy? [đóng cửa]


9

Làm cách nào để truy xuất tọa độ điểm bắt đầu và điểm kết thúc với ArcPy cho lớp tính năng đa tuyến?

Tôi hy vọng sẽ chuyển một định danh phân đoạn cho một chương trình con và để nó chuyển trở lại tọa độ bắt đầu và kết thúc. Phương pháp Máy tính Trường không hoạt động đối với tôi, vì tôi cần giá trị cho các phép tính khác không thể được thực hiện trong đó. (Tôi cũng không muốn thay đổi dữ liệu để lưu trữ các tọa độ này dưới dạng các thuộc tính.) Tôi đang cố gắng tính toán phạm vi địa chỉ cho sơ đồ địa chỉ "trung tâm". Giá trị địa chỉ phụ thuộc vào khoảng cách đến "trung tâm quận".

Câu trả lời:


15

Quá trình này dường như đã thay đổi giữa ArcGIS 10.0 và 10.1. Tôi sẽ bao gồm một mẫu cho cả hai.

Dưới đây là tài liệu trợ giúp về đọc hình học trong 10.1 bằng arcpy: Đọc Hình học 10.1
Tài liệu này thảo luận về các tham số cho loại hình học Polyline : Polyline (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

Dưới đây là tài liệu trợ giúp về đọc hình học trong 10.0 bằng arcpy: Reading Geometries 10.0
Tài liệu này thảo luận về các tham số cho một đối tượng Hình học : Hình học

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

Sự khác biệt giữa hai cơ bản nằm ở cách bạn truy cập vào hình dạng tính năng. Đã có một số phím tắt được thêm vào trong 10.1 để dễ dàng truy cập vào đối tượng hình học hơn.


6

Tôi đã làm điều này trước đây và thích sử dụng Con trỏ tìm kiếm và đọc hình học. Nó tạo ra một vòng lặp và cho phép bạn thực hiện calcs trên mỗi hình dạng.

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

Vòng lặp đó cho phép bạn thêm một số tính toán với nó và đi theo hình dạng.

Có một số trợ giúp bổ sung trong Trợ giúp: Làm việc với hình học trong Python


1

Bạn sẽ có thể sử dụng các thuộc tính FirstPoint và lastPoint của đối tượng Polyline .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.