Уклон поверхности (Surface Slope) (3D Analyst)
Резюме
Создает полигональные объекты из значений уклона треугольника набора данных поверхности TIN или Terrain.
Дополнительные сведения о работе инструмента Уклон поверхности (Surface Slope)
Рисунок
Использование
-
Используйте параметр Таблица разбиения на классы (Class Breaks Table), чтобы распределить информацию об уклоне по определенным интервалам выходного класса пространственных объектов.
Пользовательская классификация уклона может быть произведена с помощью Таблицы разбиения на классы (Class Breaks Table), которая может содержать до двух столбцов. Первый столбец всегда будет показывать значение классификационного разграничителя. При наличии второго столбца, он будет использоваться для определения кода, соответствующего классу уклона. Рассмотрите следующий пример:
CLASS_BREAK
CODE
10.0
1
25.0
2
40.0
3
70.0
4
Таблица может иметь любой поддерживаемый формат (.dbf, .txt или таблица базы геоданных). Имена полей не имеют принципиального значения, поскольку первое из них используется для разбиения на классы, а второе – для кодов экспозиции.
-
Единицы измерения учитываются только при использовании таблицы разбиения на классы.
Синтаксис
Параметр | Объяснение | Тип данных |
in_surface |
Входной набор данных terrain или TIN. | Tin Layer; Terrain Layer |
out_feature_class |
Выходной класс объектов. | Feature Class |
units (дополнительно) |
Единицы измерения, использующиеся для вычисления уклона.
| String |
class_breaks_table (дополнительно) |
Таблица, содержащая классификационные разграничители, которые будут использоваться для классификации выходных объектов. Первый столбец этой таблицы будет показывать точку разграничения, а второй – код классификации. | Table |
slope_field (дополнительно) |
Поле, содержащее значения уклона. | String |
z_factor (дополнительно) |
Коэффициент, на который будут умножаться значения высоты. Обычно он используется для преобразования линейных единиц измерения Z, соответствующих линейным единицам измерения XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. | Double |
pyramid_level_resolution (дополнительно) |
z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне 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")
В следующем примере показано использование этого инструмента в автономном скрипте 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