Уклон поверхности (3D Analyst)

Краткая информация

Создает полигональные объекты, представляющие диапазон значений уклона для триангулированной поверхности.

Иллюстрация

Уклон поверхности

Использование

  • Нормаль поверхности каждого треугольника, заданная векторным произведением двух ребер треугольника, используется для определения уклона в процентах или градусах. Процентный уклон описывает отношение изменения высоты к горизонтальному расстоянию нормали поверхности, когда уклон в градусах является углом отклонения нормали от горизонтальной плоскости.

  • Каждый выходной полигон представляет диапазон значений уклона, с учетом разбиения на классы, используемом при запуске инструмента. По умолчанию классификация делит измерения уклона на девять групп, которые описаны ниже:

    SLOPE CODEPERCENT 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

  • Классификация уклона может настраиваться указанием таблицы с двумя и более полями числовых значений в Таблицы разбиения на классы. Первый столбец определяет границы при классификации уклона. Если есть второй столбец, то его значения используются для ссылки на код, по которому поставляются атрибуты для каждого полигонального объекта. Если таблица ниже была использована, то все для кода 1 значения уклона будут от 0 до 10, для кода 2 – от 10 до 25 и т.д. Единицы для таблицы разбивки на классы устанавливаются в параметре Единицы уклона (units).

    CLASS_BREAKКОД

    10.0

    1

    25.0

    2

    40.0

    3

    70.0

    4

    Таблица может быть в любом поддерживаемом формате (.dbf, .txt или быть таблицей базы геоданных). Имена полей не имеют принципиального значения, поскольку первое из них используется для разбиения на классы, а второе – для кодов экспозиции.

Параметры

ПодписьОписаниеТип данных
Входная поверхность

Набор данных TIN, terrain или LAS, значения уклона которых будут записаны в выходной полигональный объект.

LAS Dataset Layer; Terrain Layer; TIN Layer
Выходной класс объектов

Класс объектов, который будет создан.

Feature Class
Единицы уклона
(Дополнительный)

Единицы измерения, использующиеся для вычисления уклона.

  • PERCENTУклон отображается в процентах. Используется по умолчанию.
  • DEGREEУклон отображается как угол наклона к горизонтальной плоскости.
String
Таблица разбиения на классы
(Дополнительный)

Таблица, содержащая границы класов классификации, которые будут использоваться для группировки выходных объектов. Первый столбец этой таблицы будет показывать точку разграничения, а второй – код классификации.

Table
Поле уклона
(Дополнительный)

Поле, содержащее значения уклона.

String
Коэффициент Z
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
Разрешение уровня пирамидных слоев
(Дополнительный)

Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение.

Double

arcpy.ddd.SurfaceSlope(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
(Дополнительный)

Единицы измерения, использующиеся для вычисления уклона.

  • PERCENTУклон отображается в процентах. Используется по умолчанию.
  • DEGREEУклон отображается как угол наклона к горизонтальной плоскости.
String
class_breaks_table
(Дополнительный)

Таблица, содержащая границы класов классификации, которые будут использоваться для группировки выходных объектов. Первый столбец этой таблицы будет показывать точку разграничения, а второй – код классификации.

Table
slope_field
(Дополнительный)

Поле, содержащее значения уклона.

String
z_factor
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
pyramid_level_resolution
(Дополнительный)

Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение.

Double

Пример кода

SurfaceSlope. Пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = "C:/data"
arcpy.ddd.SurfaceSlope("sample.gdb/featuredataset/terrain", "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

# 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.")

Связанные разделы