Обновить Z-значения объектов (3D Analyst)

Сводка

Обновляет Z-координаты вершин 3D-объектов на основе данных поверхности.

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

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

    Примечание:

    Если z-значение, полученное для данной вершины, не находится на домене Z пространственной привязки объекта базы геоданных, то z-значение такой вершины обновлено не будет. Создайте копию входных объектов и укажите соответствующий Домен Z для обработки измененных объектов.

Синтаксис

UpdateFeatureZ(in_features, in_surface, {method}, {status_field})
ParameterОбъяснениеТип данных
in_features

3D объекты, Z-значения вершин которых будут изменены.

Feature Layer
in_surface

Поверхность, которая будет использоваться для определения нового z-значения для вершин 3D-объектов.

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer
method
(Дополнительный)

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

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

Существующее числовое поле, в которое заполняются значения, показывающие, успешным ли было обновление вершин объектов. Значение 1 устанавливается для обновившихся объектов и 0 – для объектов, которые не обновились. Объекты с частичным перекрытием поверхности не будут обновлены.

Field

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

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

Обновленные 3D объекты, Z-значения вершин которых будут изменены.

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

Пример кода

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

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

arcpy.env.workspace = 'C:/data'

arcpy.UpdateFeatureZ_3d('lines_3d.shp', 'dsm.tif', status_field='Updated')
UpdateFeatureZ, пример 2 (автономный скрипт)

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

'''****************************************************************************
       Name: Update Antenna Positions
Description: Updates antenna positions based on elevations from a surface.
****************************************************************************'''
# Import system modules
import arcpy

in_fc = arcpy.GetParameterAsText(1) # pt features representing antenna locations
surface = arcpy.GetParameterAsText(2) # surface used to modify feature Z values


try:
    if arcpy.Describe(surface).dataType in ('Raster', 'RasterLayer'):
        method = 'BILINEAR'
    else:
        method = 'CONFLATE_ZMAX'
    arcpy.ddd.UpdateFeatureZ(in_fc, surface, method)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

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

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

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