Zusammenfassung
Exportiert 3D-Features in Form von GENERATE-, XYZ- oder Profildaten in ASCII-Textdateien.
Verwendung
Mit der Option "Profil" wird eine aus zwei Spalten bestehende ASCII-Datei geschrieben, die 3D-Linien-Features in Datensätze konvertiert, aus denen Liniendiagramme generiert werden können. Jede Linie aus der Quell-Feature-Class wird in eine separate Datei geschrieben, an deren Namen die eindeutige ID der Linie angefügt wird. Jede Zeile in der ASCII-Datei enthält die Entfernung zwischen der Anfangsposition der Linie und dem Stützpunkt (D), gefolgt von der Höhe an diesem Stützpunkt. Beim Laden der ASCII-Ergebnisdatei in eine grafische Anwendung wird anhand der ersten Spalte die X-Achse und anhand der zweiten Spalte die Y-Achse definiert.
0 z1D1 z2D2 z3D3 z4
Mit der XYZ-Option werden X-, Y- und Z-Koordinaten als Gleitkommawerte geschrieben, wobei jede Zeile einen Punktdatensatz darstellt.
x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4
Das GENERATE-Format unterstützt keine Kopfzeilen, speichert jedoch alle Eingabe-Features in einer Datei.
- Punkt-Features werden mit ihrer jeweiligen ID und den XYZ-Koordinaten gespeichert. Die letzte Zeile wird durch das END-Schlüsselwort gekennzeichnet:
id1 x1 y1 z1id2 x2 y2 z2id3 x3 y3 z3id4 x4 y4 z4END
- Linien- und Polygon-Features werden durch das END-Schlüsselwort getrennt, und zwei aufeinander folgende END-Schlüsselwörter zeigen das Ende der Datei an:
id1x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4END id2x1 y1 z1x2 y2 z2END END
- Punkt-Features werden mit ihrer jeweiligen ID und den XYZ-Koordinaten gespeichert. Die letzte Zeile wird durch das END-Schlüsselwort gekennzeichnet:
Syntax
FeatureClassZToASCII(in_feature_class, output_location, out_file, {format}, {delimiter}, {decimal_format}, {digits_after_decimal}, {decimal_separator})
Parameter | Erklärung | Datentyp |
in_feature_class | Die 3D-Punkt-, Multipoint-, Polylinien- oder Polygon-Feature-Class, die in eine ASCII-Datei exportiert wird. | Feature Layer |
output_location | Der Ordner, in den Ausgabedateien geschrieben werden. | Folder |
out_file | Der Name der resultierenden ASCII-Datei. Wenn eine Line- oder Polygon-Feature-Class in das XYZ-Format exportiert wird, wird der Dateiname als Basisname verwendet. Für jedes Feature wird eine eindeutige Dateiausgabe erstellt, da das XYZ-Format nur eine Linie oder ein Polygon pro Datei unterstützt. Bei Multipart-Features wird ebenfalls jeder Teil in eine separate Datei geschrieben. An den Dateinamen wird die OID jedes Features und nach Bedarf weitere Zeichen angefügt, um eindeutige Dateinamen zu gewährleisten. | String |
format (optional) | Gibt das Format der erstellten ASCII-Datei an.
| String |
delimiter (optional) | Gibt das Trennzeichen zwischen Einträgen in den Spalten der Textdateitabelle an.
| String |
decimal_format (optional) | Gibt die Methode an, mit der die Anzahl der in den Ausgabedateien gespeicherten signifikanten Stellen bestimmt wird.
| String |
digits_after_decimal (optional) | Die Anzahl der Stellen nach dem Dezimaltrennzeichen für die in die Ausgabedateien geschriebenen Gleitkommawerte. Dieser Parameter wird verwendet, wenn für den Parameter Dezimalschreibweise die Option Bestimmte Zahl (decimal_format=FIXED in Python) festgelegt wurde. | Long |
decimal_separator (optional) | Gibt das Dezimaltrennzeichen an, mit dem der ganzzahlige Teil einer Zahl von ihrem Bruchteil unterschieden wird.
| String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
derived_output | Der Ordner, in den Ausgabedateien geschrieben werden. | Ordner; Datei |
Codebeispiel
FeatureClassZToASCII – 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.FeatureClassZToASCII_3d("LidarPts.shp", "", "ASCII_LidarPts.txt",
"GENERATE", "COMMA", "FIXED", 6, "DECIMAL_POINT")
FeatureClassZToASCII – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: FeatureClassZToASCII Example
Description: This script demonstrates how to use the
FeatureClassZToASCII tool to create generate files for all
z-aware point features in a given workspace.
****************************************************************************'''
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# List all points in the target workspace
fcList = arcpy.ListFeatureClasses("*", "POINT")
if fcList:
# Set Local Variables
outFolder = "C:/output"
outFormat = "GENERATE"
delimeter = "SPACE"
decimal = "FIXED"
digits = 3
dec_sep = "DECIMAL_POINT"
for fc in fcList:
# Use Describe method to evaluate whether the feature class is z-aware
desc = arcpy.Describe(fc)
if desc.hasZ == True:
# Define the output file name by replacing '.shp' with _ascii.txt
outName = fc.replace('.shp', '') + "_ascii.txt"
#Execute FeatureClassZToASCII_3d
arcpy.FeatureClassZToASCII_3d(fc, outFolder, outName, outFormat, delimeter, decimal, digits, dec_sep)
else:
print "There are no feature classes in the " + env.workspace + " directory."
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