Zusammenfassung
Exportiert Dreiecksflächen aus einem TIN-Dataset in Polygon-Features und stellt Neigung, Ausrichtung und optionale Schummerungsattribute sowie Tag-Werte für jedes Dreieck bereit.
Abbildung
Verwendung
Neigung und Ausrichtung werden anhand der Ebene des Dreiecks berechnet. Die Neigung kann nicht ordnungsgemäß berechnet werden, wenn die lineare Einheit des Koordinatensystems des TIN Winkelmaße, wie z. B. Dezimalgrad, verwendet.
Lineare XY- und Z-Einheiten sollten dieselbe Maßeinheit aufweisen, damit bei der Berechnung der Neigung und Schummerung präzise Ergebnisse erzielt werden. Wenn sich die Einheiten unterscheiden, aber für das TIN vertikale und horizontale Koordinatensysteme definiert sind, wird ein entsprechender Z-Faktor automatisch bestimmt. Andernfalls kann der Parameter Z-Faktor verwendet werden, um den auf die Höhenwerte anzuwendenden Konvertierungsfaktor explizit zu definieren.
Ausrichtungswerte werden in Grad ausgedrückt, wobei für Norden 0° angenommen wird. Die Werte nehmen im Uhrzeigersinn zu und werden im Feld Ausrichtung aufgezeichnet. Der Ausrichtungswert -1 wird jedem flachen Dreieck im TIN zugewiesen.
Die Neigung kann in Graden oder Prozent zurückgegeben werden, und der Name des Feldes, in dem die Werte aufgezeichnet werden, hängt von der im Parameter Neigungseinheiten getroffenen Auswahl ab:
- PERCENT – Neigungswerte werden in einem Feld mit dem Namen Slope_Pct gespeichert.
- DEGREE – Neigungswerte werden in einem Feld mit dem Namen Slope_Deg gespeichert.
Schummerungswerte spiegeln das begrenzte Relief wider, das von einer Lichtquelle erzeugt wird, die den im Parameter Schummerung angegebenen Azimut- und vertikalen Winkel annimmt. 0° wird für den Azimutwinkel als Norden angenommen, und der Helligkeitswert liegt im Bereich zwischen 0 bis 255, wobei der Schatten umso dunkler ist, je niedriger die Zahl ist.
Der Parameter Tag-Wertefeld ist nur aktiv, wenn das TIN Tag-Werte aufweist, die explizit definiert wurden.
Syntax
arcpy.ddd.TinTriangle(in_tin, out_feature_class, {units}, {z_factor}, {hillshade}, {tag_field})
Parameter | Erklärung | Datentyp |
in_tin | Das zu verarbeitende TIN-Dataset. | TIN Layer |
out_feature_class | Die Feature-Class, die von diesem Werkzeug erstellt wird. | Feature Class |
units (optional) | Die Maßeinheiten zum Berechnen der Neigung.
| String |
z_factor (optional) | Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. Der Parameter ist deaktiviert, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt. | Double |
hillshade HILLSHADE <azimuth>, <angle> (optional) | Gibt den Azimut und die Höhenwinkel der Lichtquelle beim Anwenden eines Schummerungseffekts für die Feature-Layer-Ausgabe an. Azimut kann von 0 bis 360 Grad reichen, während die Höhe zwischen 0 und 90 liegt. Ein Azimut von 45 Grad und eine Höhe von 30 Grad werden als " HILLSHADE 45, 30 eingegeben. | String |
tag_field (optional) | Der Name des Feldes im Ausgabe-Feature, das den Dreiecks-Tag-Wert speichert. Dieser Parameter ist standardmäßig leer, wodurch sich Tag-Werte ergeben, die nicht in die Ausgabe geschrieben werden. | String |
Codebeispiel
TinTriangle – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
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")
TinTriangle – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst