Сводка
Создает 3D-полигон или полилинию, очерчивающую высоту вдоль границы растровой поверхности.
Иллюстрация
Использование
Инструмент предназначен для растровой поверхности и будет работать только на одноканальном растре или на определенном канале из многоканального растра. Выходной объект захватывает границу смежных ячеек со значениями данных, а его z-значение интерполируется по периметру поверхности. Периметр определяется путем соединения центра крайних ячеек растра.
Выходная геометрия располагается в одной записи объекта и может состоять из составного объекта, если растр содержит ячейки дискретных данных, разделенные ячейками NoData.
Примечание:
3D полигоны могут содержать значения высоты только по периметру объектов, так как внутренние части полигона не будут содержать вершины. При отображении в 3D с заливкой областей, вершины границ произвольно соединяются для построения треугольников, которые используются для отображения. Если полигон не плоский, неважно, расположен ли он горизонтально или с уклоном, заливка не сможет точно отобразить поверхность, находящуюся в его внутренней части. Поэтому рекомендуется рисовать неплоскостные 3D полигоны, не используя символ заливки.
Синтаксис
arcpy.3d.RasterDomain(in_raster, out_feature_class, out_geometry_type)
Parameter | Объяснение | Тип данных |
in_raster | Обрабатываемый растр. | Raster Layer; Mosaic Layer |
out_feature_class | Класс объектов, который будет получен в результате работы инструмента. | Feature Class |
out_geometry_type | Тип геометрии выходного класса объектов.
| String |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.RasterDomain_3d("dtm_grd", "raster_domain.shp", "POLYGON")
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''*********************************************************************
Name: RasterDomain Example
Description: This script demonstrates how to use the
Raster Domain tool to generate polygon footprints for all
*.img rasters in a given workspace.
**********************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Create the list of IMG rasters
rasterList = arcpy.ListRasters("*", "IMG")
# Verify there are rasters in the list
if rasterList:
# Loop the process for each raster
for raster in rasterList:
# Set Local Variables
outGeom = "POLYGON" # output geometry type
# The [:-4] strips the .img from the raster name
outPoly = "domain_" + raster[:-4] + ".shp"
print("Creating footprint polygon for " + raster + ".")
#Execute RasterDomain
arcpy.RasterDomain_3d(raster, outPoly, outGeom)
print("Finished.")
else:
print("There are no IMG files in the " + env.workspace + " directory.")
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst