Créer un TIN (3D Analyst)

Récapitulatif

Crée un jeu de données TIN.

Utilisation

Syntaxe

CreateTIN_3d (out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
ParamètreExplicationType de données
out_tin

The output TIN dataset.

TIN
spatial_reference
(Facultatif)

Référence spatiale du TIN en sortie.

Coordinate System
in_features
[[in_feature_class, height_field, SF_type, tag_value],...]
(Facultatif)

Ajoutez les références à une ou plusieurs classes d'entités qui seront incluses dans le TIN. Pour chaque classe d'entités, vous devez définir les propriétés du mode d'utilisation afin de déterminer la surface.

in_feature_class : classe d'entités dont les entités sont importées dans le TIN.

height_field - Champ qui spécifie la source des valeurs d'altitude pour les entités. N'importe quel champ numérique de la table attributaire de l'entité peut être utilisé. Si l'entité prend en charge des valeurs Z, vous pouvez lire la géométrie de l'entité en sélectionnant l'option Shape.Z. Si aucune hauteur n'est requise, spécifiez le mot-clé <Aucun> pour créer des entités z-less dont l'altitude serait interpolée à partir de la surface.

SF_type : le type de surface définit le mode d'incorporation de la géométrie importée à partir des entités dans la triangulation de la surface. Les options rigides ou malléables font référence à la représentation des tronçons d'entité sous la forme de ruptures de pente distinctes ou de changement graduel lorsque la surface triangulée est convertie en raster. Les mots-clés suivants sont disponibles :

  • Points cotésPoints d'altitude qui seront importés en tant que nœuds
  • ligne-rigide ou ligne-malléableLignes de fracture qui appliquent une valeur de hauteur
  • découpage-rigide ou découpage-malléableJe de données surfacique qui définit la limite du TIN
  • effacement-rigide ou effacement-malléable Jeu de données surfacique qui définit les trous dans les portions intérieures du TIN
  • remplacement-rigide ou remplacement-malléableJeu de données surfacique qui définit des surfaces de hauteur constante
  • remplissage valeur-rigide ou remplissage valeur-malléableJeu de données surfacique qui définit des valeurs de balise pour les triangles selon le champ de nombre entier spécifié dans la colonne tag_value

tag_value : champ de nombre entier de la table attributaire de la classe d'entités, utilisé lorsque le type de surface est défini sur une option de remplissage de valeur. Le remplissage de balise représente la méthode d'attribution de triangle la plus simple, lorsque les limites sont appliquées dans la triangulation en tant que lignes de fracture. L'option par défaut est définie sur <Aucun>.

Value Table
constrained_delaunay
(Facultatif)

Specifies the triangulation technique used along the breaklines of the TIN.

  • DELAUNAYThe TIN will use Delaunay conforming triangulation, which may densify each segment of the breaklines to produce multiple triangle edges. This is the default.
  • CONSTRAINED_DELAUNAYThe TIN will use constrained Delaunay triangulation, which will add each segment as a single edge. Delaunay triangulation rules are honored everywhere except along breaklines, which will not get densified.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil CreateTIN (fenêtre Python)

The following sample demonstrates the use of this tool in the Python window:

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")
2e exemple d'utilisation de l'outil CreateTIN (script autonome)

The following sample demonstrates the use of this tool in a stand-alone Python script:

'''****************************************************************************
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)

Environnements

Rubriques connexes

Informations de licence

ArcView : Obligatoire 3D Analyst
ArcEditor : Obligatoire 3D Analyst
ArcInfo : Obligatoire 3D Analyst

7/10/2012