Подпись | Описание | Тип данных |
Входная поверхность | Поверхность TIN, terrain или набора данных LAS, которая будет обрабатываться. | LAS Dataset Layer; Terrain Layer; TIN Layer |
Выходной класс объектов | Класс объектов, который будет создан. | Feature Class |
Таблица разбиения на классы (Дополнительный) | Таблица, содержащая границы классов, которые будут использоваться для определения диапазонов экспозиции в выходном классе пространственных объектов. | Table |
Поле экспозиции (Дополнительный) | Поле, содержащее значения кодов экспозиции. | String |
Разрешение уровня пирамидных слоев (Дополнительный) | Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение. | Double |
Краткая информация
Создает полигональные объекты, представляющие измерения экспозиции, полученные из поверхности TIN, terrain или набора данных LAS.
Иллюстрация
Использование
Экспозиция представляет собой горизонтальную ориентацию поверхности и определяется в единицах градусов. Каждой грани поверхности присваивается значение, в котором закодировано направление наклона поверхности по сторонам света; соприкасающиеся области с одинаковым кодовым значением объединяются в один объект. По умолчанию определена следующая схема классификации:
Код Направление уклона Диапазон угла экспозиции -1
Плоский
Нет уклона
1
Север
0° – 22.5°
2
Северо-восток
22.5° – 67.5°
3
Восток
67.5° – 112.5°
4
Юго-восток
112.5° – 157.5°
5
Юг
157.5° – 202.5°
6
Юго-запад
202.5° – 247.5°
7
Запад
247.5° – 292.5°
8
Северо-запад
292.5° – 337.5°
9
Север
337.5° – 360°
Возможно применение пользовательской классификации, определенной при помощи Таблицы разбиения на классы. Таблица должна иметь два столбца, первый из которых указывает границу класса экспозиции в градусах, а второй – соответствующее значение кода. Рассмотрите следующий пример:
Граница Код экспозиции 90.0
1
180.0
2
270.0
3
360.0
4
Таблица может быть в любом поддерживаемом формате (.dbf, .txt или быть таблицей базы геоданных). Имена полей не имеют принципиального значения, поскольку первое из них используется для разбиения на классы, а второе – для кодов экспозиции.
Параметры
arcpy.ddd.SurfaceAspect(in_surface, out_feature_class, {class_breaks_table}, {aspect_field}, {pyramid_level_resolution})
Имя | Описание | Тип данных |
in_surface | Поверхность TIN, terrain или набора данных LAS, которая будет обрабатываться. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | Класс объектов, который будет создан. | Feature Class |
class_breaks_table (Дополнительный) | Таблица, содержащая границы классов, которые будут использоваться для определения диапазонов экспозиции в выходном классе пространственных объектов. | Table |
aspect_field (Дополнительный) | Поле, содержащее значения кодов экспозиции. | String |
pyramid_level_resolution (Дополнительный) | Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.ddd.SurfaceAspect("sample.gdb/featuredataset/terrain", "terrain_aspect.shp")
В следующем примере показано использование этого инструмента как автономного скрипта Python.
'''****************************************************************************
Name: SurfaceAspect Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print(dataset)
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.ddd.SurfaceAspect(dataset, aspect)
#Execute SurfaceSlope
arcpy.ddd.SurfaceSlope(dataset, slope)
#Execute SurfaceSlope
print("Starting Intersect")
arcpy.analysis.Intersect(aspect + " #;" + slope + " #", outFC, "ALL")
print("Completed intersect for " + dataset)
else:
print("There are no TINs in the " + env.workspace + " directory.")