Sử dụng công cụ CompateField_man quản lý, người ta có thể chỉ định đơn vị đo khi tính chiều dài hình:
#Calculate polyline lengths in miles
polylines = "C:\sampleShape.shp"
arcpy.CalculateField_management(polylines, "shapeLen", "!Shape.length@MILES!", "PYTHON_9.3")
Tôi muốn làm điều tương tự trong một con trỏ bằng cách sử dụng 'SHAPE @ LENGTH' của mỗi tính năng, với độ dài được trả về trong một đơn vị tôi chọn:
#hypothetical example 1
with arcpy.da.UpdateCursor(polylines, field_names=["SHAPE@LENGTH.FEET", "shapeLen"]) as upCurs:
for row in upCurs:
row[1] = row[0]
upCurs.updateRow(row)
Hoặc có thể bằng cách sử dụng đối tượng hình học @SHAPE (kém hiệu quả)?:
#hypothetical example 2
with arcpy.da.UpdateCursor(polylines, field_names=["@SHAPE", "shapeLen"]) as upCurs:
for row in upCurs:
row[1] = row[0].length@FEET
upCurs.updateRow(row)
Có cách nào để làm việc này không?