Сводка
Добавляет новые поля атрибутов ко входным объектам, отображающие пространственные или геометрические характеристики и местоположение каждого объекта, например, длину, площадь, координаты x, y, z и m.
Использование
Одно или несколько атрибутивных полей будут добавлены ко входным объектам, в зависимости от опций, указанных в параметре Свойства геометрии. Если поля уже присутствуют во входных объектах, значения в них будут перезаписаны. Воспользуйтесь следующей таблицей для определения полей, которые будут добавлены к каждому свойству геометрии:
Свойство геометрии Добавленное поле AREA
POLY_AREA – площадь полигона
AREA_GEODESIC
AREA_GEO – сохраняющая форму геодезическая площадь полигона.
CENTROID
CENTROID_X – x-координата точки центроида.
CENTROID_Y – y-координата точки центроида.
CENTROID_Z – z-координата точки центроида. Поле добавляется, только если для входных объектов активированы значения z.
CENTROID_M – m-координата точки центроида. Поле добавляется, только если для входных объектов активированы значения m.
CENTROID_INSIDE
INSIDE_X – x-координата центральной точки внутри или на входном объекте.
INSIDE_Y – y-координата центральной точки внутри или на входном объекте.
INSIDE_Z – z-координата центральной точки внутри или на входном объекте. Поле добавляется, только если для входных объектов активированы значения z.
INSIDE_M – m-координата центральной точки внутри или на входном объекте. Поле добавляется, только если для входных объектов активированы значения m.
EXTENT
EXT_MIN_X – минимальная x-координата объекта.
EXT_MIN_Y – минимальная y-координата объекта.
EXT_MAX_X – максимальная x-координата объекта.
EXT_MAX_Y – максимальная y-координата объекта.
LENGTH
LENGTH – длина линии.
LENGTH_GEODESIC
LENGTH_GEO – сохраняющая форму геодезическая длина линии.
LENGTH_3D
LENGTH_3D – 3D-длина линии.
LINE_BEARING
BEARING – азимут линии. Диапазон значений от 0 до 360, где 0 означает север, 90 – восток, 180 – юг, а 270 – запад.
LINE_START_MID_END
START_X – x-координата первой точки линии или границы полигона.
START_Y – y-координата первой точки линии или границы полигона.
START_Z – z-координата первой точки линии или границы полигона. Поле добавляется, только если для входных объектов активированы значения z.
START_M – m-координата первой точки линии или границы полигона. Поле добавляется, только если для входных объектов активированы значения m.
MID_X – x-координата точки середины линии или границы полигона.
MID_Y – y-координата точки середины линии или границы полигона.
MID_Z – z-координата точки середины линии или границы полигона. Поле добавляется, только если для входных объектов активированы значения z.
MID_M – m-координата точки середины линии или границы полигона. Поле добавляется, только если для входных объектов активированы значения m.
END_X – x-координата последней точки линии или границы полигона.
END_Y – y-координата последней точки линии или границы полигона.
END_Z – z-координата последней точки линии или границы полигона. Поле добавляется, только если для входных объектов активированы значения z.
END_M – m-координата последней точки линии или границы полигона. Поле добавляется, только если для входных объектов активированы значения m.
PART_COUNT
PART_COUNT – количество частей, составляющих объект.
PERIMETER_LENGTH
PERIMETER – длина периметра полигона или границы.
PERIMETER_LENGTH_GEODESIC
PERIM_GEO – сохраняющая форму геодезическая длина периметра полигона или границы.
POINT_COUNT
PNT_COUNT – количество точек, составляющих объект.
POINT_X_Y_Z_M
POINT_X – x-координата точки.
POINT_Y – y-координата точки.
POINT_Z – z-координата точки. Поле добавляется, только если для входных объектов активированы значения z.
POINT_M – m-координата точки. Поле добавляется, только если для входных объектов активированы значения m.
Если указана система координат, длина и площадь будет вычисляться в единицах этой системы, если другие единицы измерения не будут указаны в качестве параметров Единицы измерения длины и Единицы измерения площади.
Поля атрибутов, добавленные данным инструментом, аналогичны любым полям, которые вы можете добавить к векторному слою. Вы можете перезаписать значения в поле, удалить или переименовать поля. Значение в этих полях автоматически не пересчитываются после внесения изменений. При редактировании вами объектов необходимо еще раз запустить инструмент, чтобы обновить значения полей.
Если во входных объектах сделана выборка, только выбранные объекты получат вычисленные в добавленных полях значения, а все остальные объекты – нулевые значения.
Этот инструмент работает с точечными, мультиточечными, полилинейными, полигональными классы, а также классами объектов-аннотаций. Аннотации рассматриваются как класс полигональных объектов.
Синтаксис
arcpy.management.AddGeometryAttributes(Input_Features, Geometry_Properties, {Length_Unit}, {Area_Unit}, {Coordinate_System})
Параметр | Объяснение | Тип данных |
Input_Features | Входные объекты, к которым будут добавлены новые атрибутивные поля для хранения таких свойств, как длина, площадь, координаты x, y, z и m. | Feature Layer |
Geometry_Properties [Geometry_Properties,...] | Определяет свойства геометрии или формы, которые будут вычислены в новых атрибутивных полях.
| String |
Length_Unit (Дополнительный) | Указывает единицы, в которых рассчитывается длина.
| String |
Area_Unit (Дополнительный) | Указывает единицы, в которых рассчитывается площадь.
| String |
Coordinate_System (Дополнительный) | Система координат, в которой будут вычислены координаты, длина и площадь. По умолчанию используется система координат входных объектов. | Coordinate System |
Производные выходные данные
Имя | Объяснение | Тип данных |
Modified_Input_Features | Обновленные входные объекты. | Feature Layer |
Пример кода
AddGeometryAttributes, пример (окно Python)
В следующем скрипте окна Python показано, как используется инструмент AddGeometryAttributes.
import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.AddGeometryAttributes_management("roads", "LENGTH;LINE_START_MID_END")
AddGeometryAttributes, пример (автономный скрипт)
Берет прямоугольник экстента каждогой линейного объекта и строит сетку 10х10 внутри этого экстента.
# Name: GridCreation.py
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.env.outputCoordinateSystem = arcpy.Describe("roads").spatialReference
# Set local variables
in_features = "roads"
properties = "EXTENT"
length_unit = ""
area_unit = ""
coordinate_system = ""
# Generate the extent coordinates using Add Geometry Properties tool
arcpy.AddGeometryAttributes_management(in_features, properties, length_unit,
area_unit, coordinate_system)
# Use Search Cursor to walk through each feature and generate grids
with arcpy.da.SearchCursor(in_features, ["OID@", "EXT_MIN_X", "EXT_MIN_Y",
"EXT_MAX_X", "EXT_MAX_Y"]) as sCur:
for row in sCur:
minX, minY, maxX, maxY = row[1], row[2], row[3], row[4]
arcpy.CreateFishnet_management("fishnet_{0}".format(row[0]),
number_rows = 10,
number_columns = 10,
template = "{} {} {} {}".format(minX, maxX, minY, maxY),
origin_coord = "{} {}".format(minX, minY),
y_axis_coord = "{} {}".format(minX, maxY),
corner_coord = "{} {}".format(maxX, maxY),
geometry_type = "POLYGON",
labels = "NO_LABELS")
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да