Triangles TIN (3D Analyst)
Récapitulatif
Exporte les faces de triangle d'un jeu de données TIN vers une classe d'entités surfaciques et fournit la pente, l'exposition et des attributs facultatifs d'ombrage et de valeur de balise pour chaque triangle.
Illustration
Utilisation
Les calculs de pente et d'exposition sont basés sur le plan du triangle. La pente ne peut pas être calculée correctement si l'unité linéaire du système de coordonnées du TIN utilise des mesures angulaires, comme des degrés décimaux.
Les unités linéaires X, Y et Z doivent être définies dans la même unité de mesure afin que les calculs de pente et d'ombrage fournissent des résultats précis. Si les unités diffèrent mais que les systèmes de coordonnées vertical et horizontal du TIN sont définis, un facteur Z approprié est immédiatement déterminé. Sinon, le paramètre Facteur Z peut permettre de définir explicitement le facteur de conversion à appliquer aux valeurs d'altitude.
Les valeurs d'exposition sont exprimées en degrés et supposent que le nord équivaut à 0°. Les valeurs augmentent dans le sens horaire et sont enregistrées dans le champ Exposition. Une valeur d'exposition de -1 est affectée à tous les triangles plats du TIN.
La pente peut être renvoyée en degrés ou en pourcentage, et le nom de champ dans lequel les valeurs sont enregistrées dépend de la sélection effectuée au niveau du paramètre Unités de pente :
- PERCENT - Les valeurs de pente sont stockées dans un champ nommé Slope_Pct.
- DEGREE - Les valeurs de pente sont stockées dans un champ nommé Slope_Deg.
Les valeurs d'ombrage représentent le relief localisé produit à partir d'une source d'éclairage qui tient compte de l'angle azimutal et de l'angle vertical spécifiés au niveau du paramètre Ombrage. Un azimut de 0° représente le nord, et la valeur de luminosité est comprise entre 0 et 255 : plus la valeur est faible, plus l'ombre est prononcée.
Le paramètre Champ de la valeur portée est uniquement actif si le TIN présente des valeurs de balise explicitement définies.
Syntaxe
Paramètre | Explication | Type de données |
in_tin |
The input TIN. | TIN Layer |
out_feature_class |
The output feature class. | Feature Class |
units (Facultatif) |
The units of measure to be used in calculating slope.
| String |
z_factor (Facultatif) |
The factor by which elevation values will be multiplied. This is typically used to convert Z linear units that match those of the XY linear units. The default is 1, which leaves elevation values unchanged. | Double |
hillshade HILLSHADE <azimuth>, <angle> (Facultatif) |
Spécifie les angles d'altitude et azimutaux de la source de lumière lors de l'application d'un effet d'ombrage pour la sortie de couche d'entités. L'azimut peut varier de 0 à 360 degrés, alors que l'altitude peut varier de 0 à 90 degrés. Pour indiquer un azimut de 45 degrés et une altitude de 30 degrés, il suffit d'entrer "HILLSHADE 45, 30". | String |
tag_field (Facultatif) |
Nom de champ dans l'entité en sortie qui stocke la valeur de balise du triangle. Ce paramètre est vide par défaut : les valeurs de balise ne sont donc pas écrites en sortie. | String |
Exemple de code
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.TinTriangle_3d("tin", "tin_triangle.shp", "DEGREE", 1,"HILLSHADE 310,45", "tag")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** 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)