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

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

Синтаксис

CreateTin_3d (out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
ПараметрОбъяснениеТип данных
out_tin

Выходной набор данных TIN.

TIN
spatial_reference
(дополнительно)

Пространственная привязка выходной сети TIN.

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

Добавьте связи к одному или нескольким классам пространственных объектов, которые будут включены в TIN. Для каждого класса объектов необходимо установить свойства, указывающие, каким образом этот класс используется для определения поверхности.

in_feature_class: класс, объекты которого будут импортированы в TIN.

height_field: поле, которое определяет источник значений высот для объектов. В таблице атрибутов объекта можно использовать любое числовое поле. Если объект поддерживает z-значения, геометрию объектов можно прочитать, выбрав опцию Shape.Z. Если высота не требуется, укажите ключевое слово <None>, чтобы создать объекты без Z значений, высота которых будет интерполирована на основе поверхности.

SF_type: тип объектов поверхности, определяющий, как геометрия, импортированная из объектов, применяется для триангуляции поверхности. Опции с жестким или мягким обозначением определяют, представляют ли ребра объектов при преобразовании триангулированной поверхности в растр четко выраженные перегибы в уклоне или плавное изменение. Доступны следующие ключевые слова:

  • облака точекТочки рельефа, которые будут импортированы как узлы
  • hardline или softlineЛинии перегибов, влияющие на значение высоты
  • hardclip или softclipНабор данных полигонов, определяющий границы TIN
  • harderase или softerase Набор данных полигонов, определяющий пробелы внутри частей TIN
  • hardreplace или softreplaceНабор данных полигонов, определяющий области постоянной высоты
  • hardvaluefill или softvaluefillНабор данных полигонов, определяющий значения тегов для треугольников, построенных по целочисленным полям столбца tag_value

tag_value: целочисленное поле таблицы атрибутов класса объектов, используемое, когда в качестве типа объекта поверхности устанавливается опция значения заполнения. Заполнение тега применяется как базовая форма атрибуции треугольника, границы которого используются при триангуляции как линии перегиба. Опция по умолчанию: < none >.

Value Table
constrained_delaunay
(дополнительно)

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

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

Пример кода

Пример 1 для CreateTin (окно 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")
Пример 2 для CreateTin (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте 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)

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
9/10/2013