Краткая информация
Обновляет Z-координаты вершин 3D-объектов на основе данных поверхности.
Использование
Вершины будут обновлены только для тех объектов, которые полностью перекрывают входную поверхность. Объекты, не перекрывающиеся с входной поверхностью, будут пропущены.
Синтаксис
UpdateFeatureZ_3d (in_features, in_surface, {method}, {status_field})
Параметр | Объяснение | Тип данных |
in_features | 3D объекты, Z-значения вершин которых будут изменены. | Feature Layer |
in_surface | Поверхность, которая будет использоваться для определения нового z-значения для вершин 3D-объектов. | LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer |
method (Дополнительный) | Метод интерполяции, используемый для определения информации о поверхности. Доступные опции зависят от типа данных входной поверхности.
| String |
status_field (Дополнительный) | Существующее числовое поле, в которое заполняются значения, показывающие, успешным ли было обновление вершин объектов. Значение 1 устанавливается для обновившихся объектов и 0 – для объектов, которые не обновились. Объекты с частичным перекрытием поверхности не будут обновлены. | Field |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Векторный слой |
Пример кода
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())
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst