Добавить информацию поверхности (3D Analyst)

Доступно с лицензией 3D Analyst.

Доступно с лицензией Spatial Analyst.

Сводка

Добавляет к атрибутам объектов пространственную информацию, полученную из поверхности.

Использование

  • Z-значения из 3D объектов игнорируются. В каждом объекте будут суммированы Z-свойства, пересекающиеся с его геометрией. Точки получают Z-значения из XY-местоположения на поверхности, линии получают Z-свойства с помощью интерполяции измерений поверхности вдоль них, для полигонов суммируются Z-свойства поверхности, входящей в них.

  • Опции Выходное свойство записываются в таблицу атрибутов входного объекта. Каждый объект определяет местоположение оцениваемых свойств поверхности и тип свойства, о котором может быть сообщено в зависимости от геометрии объекта:

    Геометрия объектаСвойства поверхности

    Точка

    Отметка высоты, интерполированная из XY координат точки на поверхности.

    Мультиточка

    Минимум, максимум и среднее значение отметки высоты для всех точек в записи мультиточки.

    Полилиния

    3D расстояние линии вдоль поверхности.

    Минимум, максимум и среднее значение высоты и уклона линии на поверхности.

    Полигон

    3D площадь поверхности, пересекающаяся с полигоном.

    Минимум, максимум и значение высоты и уклона по поверхности.

  • Значения уклона измеряются в процентах (градусах), а для линейных объектов вычисляются для каждого сегмента вдоль линии.

    • Минимальное значение уклона берется из сегмента, значение которого ближе всего к 0 (к горизонтали).
    • Максимальное значение уклона получается из сегмента с самым большим вычисленным значением.
    • Среднее значение уклона получается путем оценки каждого уклона по его 3D длине и определения среднего значения. Это приводит к тому, что более длинные сегменты сильнее влияют на получаемое значение по сравнению с более короткими сегментами.
  • Рассмотрите возможность применения Фильтра помех для исключения участков поверхности, характеризующихся аномальными измерениями, из участия в вычислении уклона. Линейные объекты разделяются вершинами в соответствии с профилем поверхности, фильтрация по длине этих сегментов исключает влияние коротких фрагментов, которые могут появиться в результате неверных измерений. Сходным образом, фильтрация полигональных объектов по площади позволяет исключить узкие треугольники триангулированных поверхностей из участия в вычислении уклонов. Для растровых поверхностей, с помощью поднабора центроидов ячеек строится триангулированная поверхность, к которой применяется фильтр.

Синтаксис

arcpy.3d.AddSurfaceInformation(in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
ParameterОбъяснениеТип данных
in_feature_class

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

Feature Layer
in_surface

Набор данных LAS, мозаика, растровая, TIN-поверхность или поверхность terrain, использованная для интерполяции z-значений.

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_property
[out_property,...]

Свойство высоты поверхности, которое добавляется в таблицу атрибутов входного класса объектов. В следующем списке представлены доступные ключевые слова свойства и поддерживаемые типы геометрии:

  • ZZ-значения поверхности интерполируется для XY-положения каждого точечного объекта.
  • Z_MINНаименьшие Z-значения поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек мультиточечной записи.
  • Z_MAXНаибольшая высота поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек мультиточечной записи.
  • Z_MEANСредняя высота поверхности площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек мультиточечной записи.
  • SURFACE_AREA3D площадь поверхности для региона, заданного каждым полигоном.
  • SURFACE_LENGTH3D расстояние линии вдоль поверхности.
  • MIN_SLOPEСамое близкое к нулю значение уклона вдоль линии или внутри области, заданной полигоном.
  • MAX_SLOPEСамое высокое значение уклона вдоль линии или внутри области, заданной полигоном.
  • AVG_SLOPEСреднее значение уклона вдоль линии или внутри области, заданной полигоном.
String
method
(Дополнительный)

Метод интерполяции, используемый для определения информации о поверхности. Доступные опции зависят от типа данных входной поверхности.

  • BILINEARМетод интерполяции применяется исключительно для растровой поверхности, при котором значения ячеек определяются по четырем ближайшим ячейкам. Это единственная доступная опция для растровой поверхности.
  • LINEAR Метод интерполяции по умолчанию для набора данных TIN, terrain и LAS. Получает высоту от плоскости, которая определяется треугольником, содержащим расположение XY запрашиваемой точки.
  • NATURAL_NEIGHBORS Получает высоту путем применения взвешивания на основе площади к естественной окрестности запрашиваемой точки.
  • CONFLATE_ZMIN Получает высоту из наименьшего Z-значения в естественной окрестности запрашиваемой точки.
  • CONFLATE_ZMAX Получает высоту из наибольшего Z-значения в естественной окрестности запрашиваемой точки.
  • CONFLATE_NEAREST Получает высоту из ближайшего значения в естественной окрестности запрашиваемой точки.
  • CONFLATE_CLOSEST_TO_MEAN Получает высоту из Z-значения, которое ближе всего к среднему из всех естественных окрестностей запрашиваемой точки.
String
sample_distance
(Дополнительный)

Интервал, по которому будут интерполированы Z-значения. По умолчанию используется размер ячейки растра, если входная поверхность – это растр, и естественное уплотнение триангуляционной поверхности используется, если входная поверхность – это набор данных TIN или terrain.

Double
z_factor
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр отключен, если пространственная привязка входной поверхности имеет Z-датум с заданными линейными единицами измерения.

Double
pyramid_level_resolution
(Дополнительный)

z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение.

Double
noise_filtering
(Дополнительный)

Исключает участки поверхности, характеризующиеся потенциально аномальными измерениями, из участия в вычислении уклона. Линейные объекты предоставляют фильтр длины, а полигональные – фильтр площади. Значение, соответствующее какой-либо опции фильтрации, вычисляется в линейных единицах измерения системы координат объекта. Свойства, не относящиеся к уклонам, не затрагиваются этим параметром.

String

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

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

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

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

Пример кода

Пример AddSurfaceInformation 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = "C:/data"
arcpy.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
AddSurfaceInformation, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте Python.

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
arcpy.env.workspace = 'c:/data'
inSurface = 'fgdb.gdb/municipal/terrain'
pyramid = 5
method = "BILINEAR"

# Create list of feature classes
fcList = arcpy.ListFeatureClasses()

if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        # Determine if the feature is 2D
        if not desc.hasZ:
            if desc.shapeType == "Polygon":
                # Desired properties separated by semi-colons
                Prop = "Z_MIN;Z_MAX" 
            elif desc.shapeType == "Point":
                Prop = "Z"
            elif desc.shapeType == "Multipoint":
                Prop = "Z_MIN;Z_MAX;Z_MEAN"
            elif desc.shapeType == "Polyline":
                Prop = "LENGTH_3D"
            # Execute AddSurfaceInformation
            arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                            method, 15, 1, pyramid)
            print("Completed adding surface information.")

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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