Сводка
Создает набор данных, содержащий триангуляционную нерегулярную сеть (triangulated irregular network – TIN).
Использование
-
Избегайте создания TIN с использованием географической системы координат, так как правило триангуляции Делоне не может эффективно применяться, когда единицы измерения XY выражены в сферических координатах.
-
Тип объекта поверхности определяет, каким образом входные объекты участвуют в определении триангуляционной поверхности.
- Точечные объекты можно задать в виде облаков точек, что создает узел данных, Z-значения которого используются в триангулировании поверхности.
- Линейные объекты можно задать в виде облаков точек и линий перегиба, которые обозначают местоположения на поверхности вдоль линейных неоднородностей уклона, таких как линии хребтов, береговые линии, бордюры, фундаменты зданий и т.д.
- Полигональные объекты также можно задать в виде облаков точек и линий перегиба, вместе с вырезающими объектами, определяющими область данных, заменяющими объектами, задающими регионы с постоянными Z-значениями (поверхность воды), и стирающими объектами, которые обозначают внутренние области с отсутствующими данными.
-
Максимальное число узлов, поддерживаемое TIN, зависит, в основном, от объема свободных непрерывных ресурсов памяти, доступных на компьютере. Рассмотрите возможность ограничения числа узлов 6 миллионами, чтобы обеспечить достаточную производительность и удобство использования. Более крупные триангулированные поверхности лучше использовать в виде набора данных terrain с несколькими разрешениями.
-
Задайте параметру среды Версия хранения TIN значение PRE_10.0, если создаваемая TIN будет использоваться в версиях ArcGIS Desktop до 10.0.
Синтаксис
arcpy.ddd.CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
Параметр | Объяснение | Тип данных |
out_tin | Набор данных TIN, который будет создан. | TIN |
spatial_reference (Дополнительный) | Пространственная привязка выходной TIN должна быть задана в системе координат проекции. Применение географической системы координат не рекомендуется, поскольку триангуляция Делоне может работать неправильно, если координаты XY выражены в угловых единицах, что может неблагоприятно воздействовать на точность вычислений, основанных на измерении расстояний, как, например, уклон, объем и линия взгляда. | Coordinate System |
in_features [[in_features, height_field, SF_type, tag_value],...] (Дополнительный) | Входные объекты и связанные с ними свойства, которые участвуют в определении TIN.
| Value Table |
constrained_delaunay (Дополнительный) | Определяет, какой метод триангуляции использовать вдоль линий перегиба TIN.
| Boolean |
Пример кода
CreateTin, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.CreateTin_3d("NewTIN", "Coordinate Systems/Projected Coordinate Systems/State Plane/NAD 1983 (Feet)/NAD 1983 StatePlane California II FIPS 0402 (Feet).prj", "points.shp Shape.Z masspoints", "constrained_delaunay")
CreateTin, пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
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
Связанные разделы
- Обзор группы инструментов Управление данными
- Теоретические основы поверхностей
- Форматы поверхностей
- Концепция поверхности на основе TIN
- Что такое TIN поверхность?
- Основные сведения о создании поверхностей TIN
- Основы редактирования TIN поверхностей
- Редактирование пространственных объектов TIN с помощью инструментов геообработки
- Инструменты геообработки для поверхностей TIN