Методы Arcpy
Добавлено: 27 янв 2025, 07:41
Всем привет!
Подскажите, пожалуйста.
У объектов в Arcpy есть масса методов, но непонятно, как их применять.
Например, получить азимут или длину линии. Так, чтоб, как в детстве, Line.GetLength и т.д.
Формально, у полилинии есть метод getLength, но, как его не подставляй, все равно получается не то:
lin = arcpy.Polyline(arcpy.Array([arcpy.Point(*coords) for coords in feature]))
l = lin.getLength
>>> print lin
<geoprocessing describe geometry object object at 0x2A127560>
Я могу, конечно, получить длину через SearchCursor, но это такая тягомотина, и вообще, не все методы можно так использовать.
fields = ["SHAPE@XY", "SHAPE@LENGTH"]
with arcpy.da.SearchCursor(rzfc, fields) as cursor:
for row in cursor:
print(u'{0}, {1}'.format(row[0], row[1]))
Например, contains, intersect и т.п. таким способом вообще не пройдут.
Подскажите, пожалуйста.
У объектов в Arcpy есть масса методов, но непонятно, как их применять.
Например, получить азимут или длину линии. Так, чтоб, как в детстве, Line.GetLength и т.д.
Формально, у полилинии есть метод getLength, но, как его не подставляй, все равно получается не то:
lin = arcpy.Polyline(arcpy.Array([arcpy.Point(*coords) for coords in feature]))
l = lin.getLength
>>> print lin
<geoprocessing describe geometry object object at 0x2A127560>
Я могу, конечно, получить длину через SearchCursor, но это такая тягомотина, и вообще, не все методы можно так использовать.
fields = ["SHAPE@XY", "SHAPE@LENGTH"]
with arcpy.da.SearchCursor(rzfc, fields) as cursor:
for row in cursor:
print(u'{0}, {1}'.format(row[0], row[1]))
Например, contains, intersect и т.п. таким способом вообще не пройдут.