Добавить атрибуты геометрии (Управление данными)

Сводка

Добавляет новые поля атрибутов ко входным объектам, отображающие пространственные или геометрические характеристики и местоположение каждого объекта, например, длину, площадь, координаты 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, причем нулю соответствует северное направление, 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})
ParameterОбъяснениеТип данных
Input_Features

Новые поля атрибутов будут добавлены ко входным объектам для сохранения таких свойств, как длина, площадь, координаты x, y, z и m.

Feature Layer
Geometry_Properties
[Geometry_Properties,...]

Определяет свойства геометрии и формы, которые будут вычислены в новых полях атрибутов.

  • AREAДобавляет атрибут, хранящий площадь полигональных объектов.
  • AREA_GEODESICДобавляет атрибут, хранящий геодезическую площадь полигональных объектов.
  • CENTROIDДобавляет атрибуты, хранящие координаты центроидов объектов.
  • CENTROID_INSIDEДобавляет атрибуты, хранящие координаты центроидов внутри или на объектах.
  • EXTENTДобавляет атрибуты, хранящие координаты экстента объектов.
  • LENGTHДобавляет атрибут, хранящий длины линейных объектов.
  • LENGTH_GEODESICДобавляет атрибут, хранящий геодезические длины линейных объектов.
  • LENGTH_3DДобавляет атрибут, хранящий 3D-длины линейных объектов.
  • LINE_BEARINGДобавляет атрибут, хранящий азимуты линейных объектов. Значения находятся в диапазоне от 0 до 360, причем нулю соответствует северное направление, 180 – южное, 270 – западное и т.д.
  • LINE_START_MID_ENDДобавляет атрибут, хранящий координаты начальных, средних и конечных точек объектов.
  • PART_COUNTДобавляет атрибут, хранящий число сегментов объектов.
  • PERIMETER_LENGTHДобавляет атрибут, хранящий длину периметра или границы полигональных объектов.
  • PERIMETER_LENGTH_GEODESICДобавляет атрибут, хранящий геодезические длины периметра или границы полигональных объектов.
  • POINT_COUNTДобавляет атрибут, хранящий число точек или вершин объектов.
  • POINT_X_Y_Z_MДобавляет атрибут, хранящий координаты x, y, z, и m точечных объектов.
String
Length_Unit
(Дополнительный)

Единица измерения для вычисления длины.

  • FEET_USДлина в футах (U.S.)
  • METERSДлина в метрах
  • KILOMETERSДлина в километрах
  • MILES_USДлина в милях (U.S.)
  • NAUTICAL_MILESДлина в морских милях (U.S.)
  • YARDSДлина в ярдах (U.S.)
String
Area_Unit
(Дополнительный)

Единица измерения для вычисления площади.

  • ACRESПлощадь в акрах
  • HECTARESПлощадь в гектарах
  • SQUARE_MILES_USПлощадь в квадратных милях (U.S.)
  • SQUARE_KILOMETERSПлощадь в квадратных километрах
  • SQUARE_METERSПлощадь в квадратных метрах
  • SQUARE_FEET_USПлощадь в квадратных футах (U.S.)
  • SQUARE_YARDSПлощадь в квадратных ярдах (U.S.)
  • SQUARE_NAUTICAL_MILESПлощадь в квадратных морских милях (U.S.)
String
Coordinate_System
(Дополнительный)

Система координат, в которой будут вычислены координаты, длина и площадь. По умолчанию используется система координат входных объектов.

Coordinate System

Производные выходные данные

NameОбъяснениеТип данных
Modified_Input_Features

Обновленные входные объекты

Векторный слой

Пример кода

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 = "{0} {1} {2} {3}".format(minX, maxX, minY, maxY),
                    origin_coord = "{0} {1}".format(minX, minY),
                    y_axis_coord = "{0} {1}".format(minX, maxY),
                    corner_coord = "{0} {1}".format(maxX, maxY),
                    geometry_type = "POLYGON",
                    labels = "NO_LABELS")

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы