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

Краткая информация

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

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

  • Статистика из поверхности может быть определена для каждой поддерживаемой геометрии следующими способами:

    • Для точек Z-значения получают из координат X, Y на поверхности.
    • Для линии z-свойства получают с помощью интерполяции измерений поверхности вдоль них.
    • Для полигонов будут суммироваться z-свойства триангулированной поверхности, созданной из поверхности, пересекающей полигон.

    Кривые во входных линейных объектах будут уплотнены в линейные сегменты с помощью значения параметра Расстояние разбиения. Если расстояние разбиения не указано, это значение будет получено из входной поверхности. Для растра расстоянием разбиения по умолчанию будет размер ячейки растра. Для TIN, terrain или набора данных LAS расстояние разбиения по умолчанию будет основываться на ребрах, созданных триангулированной поверхностью. При уплотнении кривых не все части кривой будут точно захвачены выходными значениями. Если кривая короче, чем расстояние разбиения, то кривая будет упрощена до двухточечной линии с использованием ее начальной и конечной точек.

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

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

    Точка

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

    Мультиточка

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

    Полилиния

    3D-расстояние линии по поверхности

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

    Полигон

    3D-площадь поверхности, перекрывающей полигон

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

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

    • Минимальный уклон получается от сегмента, значение которого ближе всего к 0, или горизонтального.
    • Максимальный уклон получается из сегмента с наибольшим расчетным значением.
    • Средний уклон полилинии получается из среднего взвешенного уклона от каждого линейного сегмента. Взвешивание основано на 3D-длине каждого сегмента. Это приводит к тому, что более длинные сегменты сильнее влияют на итоговое вычисление по сравнению с более короткими сегментами.
  • Все атрибуты вычисляются на основе поверхности TIN, которая используется для интерполяции z-информации для входных объектов. Поверхности, не являющиеся TIN, конвертируются в промежуточный набор данных TIN. Объекты вырезаются по границе этой TIN поверхности и оценивается только общая для объектов и поверхности область. Конструкция этой TIN может занимать значительное время обработки, если используется плотный набор данных LAS или растр с высоким разрешением. Если TIN с низким разрешением подходит для анализа, можно использовать инструменты Растр в TIN или Набор данных LAS в TIN, чтобы получить разреженную поверхность TIN для использования с этим инструментом.

  • Среднее z-значение для полигона вычисляется путем вырезания TIN с помощью полигона и получением результатов из полученной TIN. Каждый треугольник в этой TIN будет иметь z-значение средней точки, умноженное на 3D площадь треугольника. Результаты вычисления для всех треугольников складываются вместе, и эта сумма делится на накопленную 3D площадь всех треугольников для получения итоговых результатов. Когда большой полигональный объект задается вместе с растровой поверхностью, которая содержит большое число перекрывающихся ячеек, процесс может прерваться из-за недостатка памяти, необходимой для создания промежуточной поверхности TIN. Если это происходит, вам необходимо создать TIN с низким разрешением или использовать подход на базе растра для получения ожидаемых выходных параметров. Несколько инструментов доступны в группе инструментов Зональная статистика, что предлагает более быстрый способ получения таких значений, как площадь, минимум, максимум и среднее. Инструменты Таблица площадей и Зональная статистика как таблица предлагают выходную таблицу, которая может быть соединена с полигональным объектом. Чтобы получить свойства уклона, можно создать растр уклона и запустить любой из этих инструментов. Если у вас нет дополнительного модуля Spatial Analyst, но вы хотите вычислить площадь поверхности и объем, можно обрезать входной растр с помощью полигона и использовать инструмент Объем поверхности, который вычисляет и площадь поверхности и объем.

  • Линейные объекты обрабатываются наложением линий на поверхность TIN и вставкой вершин в местах, где линия пересекает ребро TIN. Линии с сегментами кривых перед обработкой преобразуются в короткие прямые сегменты. Среднее z-значение для данной линии вычисляется умножением средней точки сегмента на 3D длину этого сегмента, затем добавляются все результаты вычисления для всех сегментов линии и делятся на накопленную 3D длину участков линий.

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

Параметры

ПодписьОписаниеТип данных
Входные объекты

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

Feature Layer
Входная поверхность

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

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
Выходное свойство

Задает свойство высоты поверхности, которое добавляется в таблицу атрибутов входного класса объектов.

  • ZБудут добавлены z-значения поверхности, интерполированные для x,y-положения каждого отдельного точечного объекта.
  • Минимум ZБудут добавлены самые низкие z-значения поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек в записи мультиточки.
  • Максимум ZБудет добавлена наибольшая высота поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек в записи мультиточки.
  • Среднее ZБудет добавлена средняя высота поверхности площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек в записи мультиточки.
  • Площадь поверхностиБудет добавлена 3D-площадь поверхности для региона, заданного каждым полигоном.
  • Длина по поверхностиБудет добавлено 3D-расстояние линии по поверхности.
  • Минимальный уклонБудет добавлено самое близкое к нулю значение уклона вдоль линии или внутри области, заданной полигоном.
  • Максимальный уклонБудет добавлено самое высокое значение уклона вдоль линии или внутри области, заданной полигоном.
  • Средний уклонБудет добавлено среднее значение уклона вдоль линии или внутри области, заданной полигоном.
String
Метод
(Дополнительный)

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

  • БилинейныйБудет использован метод интерполяции, применяемый исключительно для растровой поверхности, при котором значения ячеек определяются по четырем ближайшим ячейкам. Это единственная доступная опция для растровой поверхности.
  • ЛинейнаяВысота будет получена из плоскости, которая определяется треугольником, содержащим x,y-расположение запрашиваемой точки. Это метод интерполяции по умолчанию для TIN, наборов данных terrains и наборов данных LAS.
  • Естественная окрестностьВысота будет получена путем применения взвешивания на основе площади к естественной окрестности запрашиваемой точки.
  • Объединить мин. zВысота будет получена из наименьшего z-значения, найденного в естественной окрестности запрашиваемой точки.
  • Объединить макс. zВысота будет получена из наибольшего z-значения в естественной окрестности запрашиваемой точки.
  • Объединить ближайшие ZВысота будет получена из ближайшего значения в естественной окрестности запрашиваемой точки.
  • Объединить ближайшие к среднему ZВысота будет получена из z--значения, которое ближе всего к среднему из всех естественных окрестностей запрашиваемой точки.
String
Расстояние разбиения
(Дополнительный)

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

Double
Коэффициент Z
(Дополнительный)

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

Double
Разрешение уровня пирамидных слоев
(Дополнительный)

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

Double
Фильтрация шума
(Дополнительный)

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

Линейные объекты предлагают фильтр длины, в котором линейные сегменты с 3D-длиной меньше указанного значения, исключаются из расчетов уклона. Полигональные объекты предлагают фильтр площади, в котором полигоны, охватывающие площадь поверхности меньше указанного значения, исключаются.

String

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

ПодписьОписаниеТип данных
Обновленные входные объекты

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

Feature Layer

arcpy.ddd.AddSurfaceInformation(in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
ИмяОписаниеТип данных
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,...]

Задает свойство высоты поверхности, которое добавляется в таблицу атрибутов входного класса объектов.

  • ZБудут добавлены z-значения поверхности, интерполированные для x,y-положения каждого отдельного точечного объекта.
  • Z_MINБудут добавлены самые низкие z-значения поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек в записи мультиточки.
  • Z_MAXБудет добавлена наибольшая высота поверхности на площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек в записи мультиточки.
  • Z_MEANБудет добавлена средняя высота поверхности площади, заданной полигоном, вдоль линии или среди интерполированных значений для точек в записи мультиточки.
  • SURFACE_AREAБудет добавлена 3D-площадь поверхности для региона, заданного каждым полигоном.
  • SURFACE_LENGTHБудет добавлено 3D-расстояние линии по поверхности.
  • MIN_SLOPEБудет добавлено самое близкое к нулю значение уклона вдоль линии или внутри области, заданной полигоном.
  • MAX_SLOPEБудет добавлено самое высокое значение уклона вдоль линии или внутри области, заданной полигоном.
  • AVG_SLOPEБудет добавлено среднее значение уклона вдоль линии или внутри области, заданной полигоном.
String
method
(Дополнительный)

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

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

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

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

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

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

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

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

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

Линейные объекты предлагают фильтр длины, в котором линейные сегменты с 3D-длиной меньше указанного значения, исключаются из расчетов уклона. Полигональные объекты предлагают фильтр площади, в котором полигоны, охватывающие площадь поверхности меньше указанного значения, исключаются.

String

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

ИмяОписаниеТип данных
output_feature_class

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

Feature Layer

Пример кода

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

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.AddSurfaceInformation("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.")

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