Создать TIN (3D Analyst)

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

Создает набор данных, содержащий триангуляционную нерегулярную сеть (triangulated irregular network – TIN).

Иллюстрация

Иллюстрация работы инструмента Создать TIN.

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

  • Избегайте создания TIN с использованием географической системы координат, так как правило триангуляции Делоне не может эффективно применяться, когда единицы измерения x,y выражены в сферических координатах.

  • Тип объекта поверхности определяет, каким образом входные объекты участвуют в определении триангуляционной поверхности.

    • Точечные объекты можно задать в виде облаков точек, что создает узлы данных с Z-значениями, которые используются в триангуляции поверхности.
    • Линейные объекты можно задать в виде облаков точек и линий перегиба, которые обозначают местоположения на поверхности вдоль линейных неоднородностей уклона, таких как линии хребтов, береговые линии, бордюры, фундаменты зданий и т.д.
    • Полигональные объекты также можно задать в виде облаков точек и линий перегиба, вместе с вырезающими объектами, определяющими область данных, замещающими объектами, задающими регионы с постоянными Z-значениями (поверхность воды), и стирающими объектами, которые обозначают внутренние области с отсутствующими данными.
  • Инструмент может создавать TIN, состоящую из миллионов точек, при наличии достаточного объема памяти. Однако ограничение числа узлов TIN до менее 6 миллионов, обеспечит достаточную производительность и удобство использования. Большие поверхности TIN лучше использовать в виде набора данных terrain с несколькими разрешениями. При работе с данными облаков точек в формате LAS, набор данных LAS может использоваться для эффективного отображения и обработки точек LAS в поверхности TIN, которая включает те же полилинейные и полигональные ограничения поверхности, что поддерживаются в наборе данных TIN.

  • Задайте для параметра среды Версия хранения TIN значение PRE_10.0, если создаваемая TIN будет использоваться в версиях ArcGIS Desktop до 10.0.

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

Параметры

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

Набор данных TIN, который будет создан.

TIN
Система координат
(Дополнительный)

Пространственная привязка выходной TIN. Задайте пространственную привязку для системы координат проекции. Применение географической системы координат не рекомендуется, поскольку триангуляция Делоне может работать неправильно, если координаты x,y выражены в угловых единицах, что может неблагоприятно воздействовать на точность вычислений, основанных на измерении расстояний, как, например, уклон, объем и линия взгляда.

Coordinate System
Входной класс объектов
(Дополнительный)

Входные объекты и связанные с ними свойства, которые участвуют в определении TIN.

  • Входные объекты — объекты, геометрия которых будет импортирована в TIN.
  • Поле высот – источник высот для входных объектов. Может использоваться любое числовое поле из таблицы атрибутов входных объектов, а также Shape.Z в качестве z-значений 3D-объектов и Shape.M в качестве m-значений, сохраненных в геометрии. Если выбрать ключевое слово <None>, то высота объекта будет интерполирована из окружающей поверхности.
  • Тип – определяет роль объектов в формировании поверхности TIN. Дополнительную информацию о типах объектов поверхности смотрите в подсказках по использованию инструмента.
  • Поле тега – числовые атрибуты, которые будут назначены элементам данных TIN с помощью значений, полученных из целочисленного поля атрибутивной таблицы входных объектов.
Value Table
Делоне с ограничениями
(Дополнительный)

Определяет, какой метод триангуляции использовать вдоль линий перегиба TIN.

  • Не отмечено – TIN будет использовать соответствующую триангуляцию Делоне, которая позволяет уплотнять каждый сегмент линий перегиба, чтобы создать множество ребер триангуляции. Это значение по умолчанию
  • Отмечено – TIN будет использовать триангуляцию Делоне с ограничениями, которая будет добавлять каждый сегмент как отдельное ребро. Правила триангуляции Делоне не соблюдаются только вдоль линий перегиба, которые не будут уплотняться.
Boolean

arcpy.ddd.CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
ИмяОписаниеТип данных
out_tin

Набор данных TIN, который будет создан.

TIN
spatial_reference
(Дополнительный)

Пространственная привязка выходной TIN. Задайте пространственную привязку для системы координат проекции. Применение географической системы координат не рекомендуется, поскольку триангуляция Делоне может работать неправильно, если координаты x,y выражены в угловых единицах, что может неблагоприятно воздействовать на точность вычислений, основанных на измерении расстояний, как, например, уклон, объем и линия взгляда.

Coordinate System
in_features
[[in_features, height_field, SF_type, tag_value],...]
(Дополнительный)

Входные объекты и связанные с ними свойства, которые участвуют в определении TIN.

  • in_features – объекты, геометрия которых будет импортирована в TIN.
  • height_field – источник высот для входных объектов. Может быть указано любое числовое поле из таблицы атрибутов входных объектов, а также Shape.Z в качестве z-значений 3D-объектов и Shape.M в качестве m-значений, сохраненных с геометрией. Если выбрать ключевое слово <None>, то высота объекта будет интерполирована из окружающей поверхности.
  • sf_type – определяет роль входного объекта в определении поверхности TIN. Доступные опции зависят от геометрии входных объектов. Точечные и мультиточечные объекты могут задаваться как Mass_Points, которые вносят значения высот, сохраняемые как узлы данных TIN. Линейные объекты могут обозначаться как Mass_Points или линии перегиба, путем определения Hard_Line или Soft_Line. Полигональные объекты могут представлять границу интерполяции, если указать Hard_Clip или Soft_Clip, внутренние области с отсутствующими данными, если выбрать Hard_Erase или Soft_Erase, или области постоянной высоты, если задать Hard_Replace или Soft_Replace. Дополнительно, полигоны также могут использоваться для назначения целочисленных атрибутивных значений, если указать Hardvalue_Fill или Softvalue_Fill.
  • tag_field – числовой атрибут, полученный из целочисленного поля атрибутивной таблицы входного объекта, значения которого могут использоваться для ввода базовой формы атрибутов для элементов данных TIN. Определение <None> приведет к тому, что значения тегов задаваться не будут.
Value Table
constrained_delaunay
(Дополнительный)

Определяет, какой метод триангуляции использовать вдоль линий перегиба TIN.

  • DELAUNAYTIN будет использовать соответствующую триангуляцию Делоне, которая позволяет уплотнять каждый сегмент линий перегиба, чтобы создать множество ребер триангуляции. Это значение по умолчанию
  • CONSTRAINED_DELAUNAYTIN будет использовать триангуляцию Делоне с ограничениями, которая будет добавлять каждый сегмент как отдельное ребро. Правила триангуляции Делоне не соблюдаются только вдоль линий перегиба, которые не будут уплотняться.
Boolean

Пример кода

CreateTin, пример 1 (окно Python)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.CreateTin("NewTIN", "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

# 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:
    # Execute LASToMultipoint
    lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
    arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code, 
                             "ANY_RETURNS", "", sr, inFormat, zfactor)
    # Execute CreateTin
    arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
                       .format(lasMP), "Delaunay")
    # Execute CopyTin
    arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
    # Execute DelineateTinDataArea
    maxEdge = ptSpacing * 4
    arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
    # Execute TinDomain
    arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
        
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

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