Сводка
Экспортирует треугольные грани из набора данных TIN в полигональные объекты и предоставляет для каждого треугольника значения уклона, экспозиции или отмывки и значения тегов.
Иллюстрация
Использование
Уклон и экспозиция вычисляются на основе плоскости треугольника. Уклон не может быть вычислен правильно, если линейные единицы измерения системы координат TIN используют угловые единицы измерения, как, например, десятичные градусы.
Линейные единицы измерения x, y и z должны быть выражены в одинаковых единицах измерения, чтобы вычисления уклона и отмывки давали точные результаты. Если единицы измерения отличаются, а вертикальные и горизонтальные системы координат TIN определены, то автоматически будет определен соответствующий коэффициент z. Или же может использоваться параметр коэффициент z для определения коэффициента конвертации, который будет применяться к значениям высот.
Значения экспозиции выражены в градусах, при этом значение для Севера равно 0. Значения возрастают в направлении по часовой стрелке и записываются в поле Aspect. Плоским треугольникам в TIN присваивается значение экспозиции, равное – 1.
Значения уклона могут быть выражены в градусах или процентах, а имя поля, в котором записываются эти значения, зависит от выбранного параметра Единицы уклона.
- PERCENT – значения уклона будут храниться в поле с именем Slope_Pct.
- DEGREE – значения уклона будут храниться в поле с именем Slope_Deg.
Значения отмывки отражают локализованный рельеф, создаваемый от источника света с азимутом и вертикальным углом, заданными параметром Отмывка. Для азимута значение 0 соответствует северу, значение яркости имеет диапазон от 0 до 255, где чем ниже значение, тем темнее.
ПараметрПоле значений тегов будет активен, только если TIN имеет явно заданные значения тегов.
Синтаксис
arcpy.ddd.TinTriangle(in_tin, out_feature_class, {units}, {z_factor}, {hillshade}, {tag_field})
Параметр | Объяснение | Тип данных |
in_tin | Обрабатываемый набор данных TIN. | TIN Layer |
out_feature_class | Класс объектов, который будет получен в результате работы инструмента. | Feature Class |
units (Дополнительный) | Единицы измерения, использующиеся для вычисления уклона.
| String |
z_factor (Дополнительный) | Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных Z-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр отключен, если пространственная привязка входной поверхности имеет Z-датум с заданными линейными единицами измерения. | Double |
hillshade HILLSHADE <azimuth>, <angle> (Дополнительный) | Задает углы азимута и высоты источника света при применении эффекта отмывки для выходных данных векторного слоя. Значения азимута могут изменяться в диапазоне от 0 до 360 градусов, а высоты – от 0 до 90. Значения азимута 45 градусов и высоты 30 градусов записываются следующим образом: "HILLSHADE 45, 30". | String |
tag_field (Дополнительный) | Имя поля в выходном объекте, в котором будет сохранено значение тега треугольника. По умолчанию этот параметр пустой, поэтому значения тегов не будут записываться в выходные данные. | String |
Пример кода
TinTriangle. Пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TinTriangle_3d("tin", "tin_triangle.shp", "DEGREE", 1,"HILLSHADE 310,45", "tag")
TinTriangle, пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: TinTriangle Example
Description: This script demonstrates how to use the
TinTriangle tool to extract triangles from each TIN in the
target workspace.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data" # the target workspace
# Create list of TINs
TINList = arcpy.ListDatasets("*", "Tin")
# Verify the presence of TINs in the list
if TINList:
for dataset in TINList:
# Set Local Variables
TINList = arcpy.ListDatasets("*", "Tin")
slopeUnits = "PERCENT"
zfactor = 1
hillshade = "HILLSHADE 300, 45" # defines hillshade azimuth & angle
tagField = "Tag"
Output = dataset + "_triangles.shp" # name of the output file
#Execute TinTriangle
arcpy.ddd.TinTriangle(dataset, Output, slopeUnits, zfactor,
hillshade, tagField)
print "Finished."
else:
print "There are no TIN(s) in the " + env.workspace + " directory."
arcpy.CheckInExtension("3D")
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)
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst