Résumé
Exporte les faces de triangle d'un jeu de données TIN vers des 'entités surfaciques et fournit la pente, l'exposition et des attributs facultatifs d'ombrage et de valeurs 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
TinTriangle_3d (in_tin, out_feature_class, {units}, {z_factor}, {hillshade}, {tag_field})
Paramètre | Explication | Type de données |
in_tin | Jeu de données TIN à traiter. | TIN Layer |
out_feature_class | Classe d'entités qui va être produite par cet outil. | Feature Class |
units (Facultatif) | Unités de mesure à utiliser pour calculer la pente.
| String |
z_factor (Facultatif) | Facteur par lequel les valeurs z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est de 1, ce qui laisse les valeurs d’altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface en entrée possède un datum Z avec une unité linéaire spécifiée. | 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
1er exemple d'utilisation de l'outil TinTriangle (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
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")
2e exemple d'utilisation de l'outil TinTriangle (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
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)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst