Краткая информация
Создает полигональные объекты, которые представляют диапазоны значений уклона для триангулированных поверхностей.
Рисунок
Использование
-
Нормаль поверхности каждого треугольника, заданная векторным произведением двух ребер треугольника, используется для определения уклона в процентах или градусах. Процентный уклон описывает отношение изменения высоты к горизонтальному расстоянию нормали поверхности, когда уклон в градусах является углом отклонения нормали от горизонтальной плоскости.
Каждый выходной полигон представляет диапазон значений уклона, с учетом разбиения на классы, используемом при запуске инструмента. По умолчанию классификация делит измерения уклона на девять групп, которые описаны ниже:
SLOPE CODE PERCENT DEGREE RANGE 1
0.00 — 1.00
0.00 — 0.57
2
1.00 — 2.15
0.57 — 1.43
3
2.15 — 4.64
1.43 — 2.66
4
4.64 — 10.0
2.66 — 5.71
5
10.00 — 21.50
5.71 — 12.13
6
21.50 — 46.40
12.13 — 24.89
7
46.40 — 100.0
24.89 — 45.00
8
100.0 — 1000.0
45.00 — 84.29
9
1000.0 <
84.29 — 90.0
Классификация уклона может настраиваться указанием таблицы с двумя и более полями числовых значений в Таблицы разбиения на классы (Class Breaks Table). Первый столбец определяет границы при классификации уклона. Если есть второй столбец, то его значения используются для ссылки на код, по которому поставляются атрибуты для каждого полигонального объекта. Если таблица ниже была использована, то все для кода 1 значения уклона будут от 0 до 10, для кода 2 – от 10 до 25 и т.д. Единицы для таблицы разбивки на классы устанавливаются в параметре Единицы уклона (Slope Units) (units).
CLASS_BREAK CODE 10.0
1
25.0
2
40.0
3
70.0
4
Таблица может быть в любом поддерживаемом формате (.dbf, .txt или быть таблицей базы геоданных). Имена полей не имеют принципиального значения, поскольку первое из них используется для разбиения на классы, а второе – для кодов экспозиции.
Синтаксис
SurfaceSlope_3d (in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
Параметр | Объяснение | Тип данных |
in_surface | Набор данных TIN, terrain или LAS, значения уклона которых будут записаны в выходной полигональный объект. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | Класс объектов, который будет получен в результате работы инструмента. | Feature Class |
units (дополнительно) | Единицы измерения, использующиеся для вычисления уклона.
| String |
class_breaks_table (дополнительно) | Таблица, содержащая границы класов классификации, которые будут использоваться для группировки выходных объектов. Первый столбец этой таблицы будет показывать точку разграничения, а второй – код классификации. | Table |
slope_field (дополнительно) | Поле, содержащее значения уклона. | String |
z_factor (дополнительно) | Коэффициент, на который будут умножаться Z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. | Double |
pyramid_level_resolution (дополнительно) | z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение. | Double |
Пример кода
SurfaceSlope. Пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
SurfaceSlope. Пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: SurfaceSlope 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
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# 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.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs
Параметры среды
- Текущая рабочая область (Current Workspace)
- Временная рабочая область (Scratch Workspace)
- Экстент (Extent)
- Выходная система координат (Output Coordinate System)
- Географические преобразования (Geographic Transformations)
- Разрешение XY (XY Resolution)
- Допуск XY (XY Tolerance)
- Выходной XY домен (Output XY Domain)
- Разрешение Z (Z Resolution)
- Допуск Z (Z Tolerance)
- Выходной домен Z (Output Z Domain)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Автоподтверждение (Auto Commit)
- Использование памяти Terrain (Terrain Memory Usage)
Информация о лицензировании
- ArcGIS for Desktop Basic: Требует 3D Analyst
- ArcGIS for Desktop Standard: Требует 3D Analyst
- ArcGIS for Desktop Advanced: Требует 3D Analyst