Экспозиция поверхности (3D Analyst)
Резюме
Производит расчет экспозиции (или направления с наибольшим уклоном спуска) для каждого треугольника сети TIN или набора данных terrain и выводит в качестве результата класс полигональных объектов.
Рисунок
Использование
Экспозиция каждого треугольника поверхности определяется в градусах, затем ему присваивается код экспозиции в зависимости от стороны света направления уклона. По умолчанию определена следующая схема классификации:
Код
Направление уклона
Диапазон угла экспозиции
-1
Равнина
Нет уклона
1
Север
0–22.5
2
Северо-восток
22.5–45
3
Восток
45–135
4
Юго-восток
135–180
5
Юг
180–225
6
Юго-запад
225–270
7
Запад
270–315
8
Северо-запад
315–337.5
9
Север
337.5–360
Смежные треугольники с совпадающим кодом объединяются в один пространственный объект.
Возможно применение пользовательской классификации, определенной при помощи Таблицы разбиения на классы (Class Breaks Table). Таблица должна иметь два столбца, первый из которых указывает точку разбиения в градусах экспозиции, а второй — соответствующее значение кода. Рассмотрите следующий пример:
Граница
Код экспозиции (Aspect_Code)
90.0
1
180.0
2
270.0
3
360.0
4
Таблица может иметь любой поддерживаемый формат (.dbf, .txt или таблица базы геоданных). Имена полей не имеют принципиального значения, поскольку первое из них всегда должно содержать точки разбиения на классы, а второе — коды экспозиции.
Синтаксис
Параметр | Объяснение | Тип данных |
in_surface |
Поверхность входного набора данных Terrain или TIN. | Terrain Layer; TIN Layer |
out_feature_class |
Выходной класс объектов. | Feature Class |
class_breaks_table (дополнительно) |
Таблица, содержащая точки разбиения на классы, которые будут использоваться для определения диапазонов экспозиции в выходном классе пространственных объектов. | Table |
aspect_field (дополнительно) |
Поле, содержащее значения кодов экспозиции. | String |
pyramid_level_resolution (дополнительно) |
z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
В следующем примере показано использование этого инструмента в автономном скрипте Python:
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.GetMessage(0)
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)