CalculateField_managementツールを使用すると、形状の長さを計算するときに測定単位を指定できます。
#Calculate polyline lengths in miles
polylines = "C:\sampleShape.shp"
arcpy.CalculateField_management(polylines, "shapeLen", "!Shape.length@MILES!", "PYTHON_9.3")
各機能の 'SHAPE @ LENGTH'を使用してカーソル内で同じことを行い、長さを選択した単位で返します。
#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)
あるいは、(効率的ではない)@SHAPEジオメトリオブジェクトを使用することによって?
#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)
これを行う方法はありますか?