Домен растра (3D Analyst)
Краткая информация
Создает полигон или контур полилинии частей набора растровых данных.
Рисунок
Использование
Входными данными могут быть одноканальные и многоканальные наборы растровых данных.
Объект домена будет расширен до центра ячеек периметра в непрерывных блоках данных растра. Центр ячейки определяет зону интерполяции растровой поверхности. Ячейки NoData в выходном объекте игнорируются.
Выходная геометрия располагается в одной записи объекта и может состоять из составного объекта, если растр содержит ячейки дискретных данных, разделенные ячейками NoData.
Примечание:3D полигоны могут содержать значения высоты только по периметру объектов, так как внутренние части полигона не будут содержать вершины. При отображении в 3D режиме с заливкой вершины границ произвольно соединяются для построения треугольников, которые используются для отображения. Если полигон не плоский, неважно, расположен ли он горизонтально или с уклоном, заливка не сможет точно отобразить поверхность, находящуюся в его внутренней части. Поэтому рекомендуется рисовать неплоскостные 3D полигоны без заливки.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр. | Raster Layer |
out_feature_class |
Выходной класс объектов. | Feature Class |
out_geometry_type |
Тип геометрии выходного класса объектов.
| String |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
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
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# 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:
"There are no IMG files in the " + env.workspace + " directory."
except Exception as e:
# Returns any other error messages
print e.message