3D-ASCII zu Feature-Class (ArcGIS 3D Analyst)
Zusammenfassung
Dient zum Importieren von 3D-Features aus einer oder mehreren ASCII-Dateien, die in den Formaten XYZ, XYZI oder GENERATE gespeichert sind, in eine neue Feature-Class.
Bild
Verwendung
Alle Eingabedateien müssen das gleiche Format und den gleichen Geometrietyp aufweisen.
XYZ- und XYZI-Formate unterstützen Kopfzeilen und behandeln die erste Zeile, die mit drei aufeinanderfolgenden Zahlen beginnt, als Anfang der Punktdatensätze. In beiden Formaten werden alle unterstützten Geometrietypen auf die gleiche Art und Weise gespeichert und nur ein Singlepart-Linien- bzw. Polygon-Feature pro Datei unterstützt.
Hinweis:In XYZ- oder XYZI-Dateien kann nur ein Singlepart-Linien- oder Polygon-Feature gespeichert werden. Polygone müssen geschlossen sein, wobei die Koordinaten des letzten Stützpunktes mit denen des ersten identisch sind, und sie dürfen keinen Schnittpunkt mit sich selbst aufweisen.
In XYZ-Dateien werden x-, y- und z-Koordinaten als Gleitkommawerte gespeichert, wobei jede Zeile einen eigenen Punktdatensatz darstellt. Auf die XYZ-Koordinaten können alphanumerische Einträge folgen. Diese Informationen werden jedoch nicht in die resultierende Feature-Class übertragen.
In XYZI-Dateien werden x-, y-, z-und Intensitätsmesswerte gespeichert. Intensitätswerte werde in einem BLOB-Feld (Binary Large Object) für Multipatch-Ausgaben gespeichert.
Hinweis:Wenn die ASCII-Datei XYZI-Format hat, aber die Intensitätsmesswerte nicht gewünscht werden, wählen Sie XYZ. So wird beim Lesen der Dateien der Intensitätswert übersprungen.
Das GENERATE-Format unterstützt keine Kopfzeilen, stellt jedoch eine ID für jeden Punkt zusammen mit XYZ-Koordinaten bereit, und die letzte Zeile der Datei kann optional mit dem Schlüsselwort ENDkommentiert werden:
id x y z id x y z . . END
Das GENERATE-Format unterstützt mehrere Features pro Datei. Für Linien und Polygone kennzeichnet das Schlüsselwort ENDdas Ende eines Features, und jedes Feature muss ein Singlepart-Feature sein. Zwei Schlüsselwörter "END" in einer Zeile weisen auf das Ende der Datei hin.
id x y z x y z x y z END id x y z x y z END END
Hinweis:Polygone müssen im Uhrzeigersinn ausgerichtet sein, dürfen keinen Schnittpunkt mit sich selbst aufweisen und müssen geschlossen sein (wobei der letzte Stützpunkt mit dem ersten identisch ist). Wenn eine dieser Bedingungen nicht erfüllt wird, ist das Ausgabe-Polygon ungültig. Das Werkzeug Geometrie überprüfen kann zum Validieren der resultierenden Features verwendet werden, und das Werkzeug Geometrie reparieren kann zum Beheben der Fehler verwendet werden.
Syntax
Parameter | Erläuterung | Datentyp |
input [input,...] |
Die ASCII-Dateien oder Ordner mit Daten im Format XYZ, XYZI (mit LIDAR-Intensität) oder 3-D GENERATE. Wenn ein Ordner festgelegt wurde, werden alle Dateisuffix-Parameter erforderlich, und alle Dateien, deren Erweiterung mit dem angegebenen Suffix übereinstimmt, werden verwendet. Wenn dies mehrere Dateien betrifft, müssen sie das gleiche Format aufweisen. | Folder; File |
in_file_type | String | |
out_feature_class |
Die Ausgabe-Feature-Class. | Feature Class |
out_geometry_type |
Der Geometrietyp der Ausgabe-Feature-Class.
| String |
z_factor (optional) |
Der Faktor, mit dem die Höhenwerte 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. | Double |
input_coordinate_system (optional) |
Das Koordinatensystem der Eingabedaten. Der Standardwert ist ein unbekanntes Koordinatensystem. Falls angegeben, kann die Ausgabe möglicherweise (nicht) in ein anderes Koordinatensystem projiziert werden. Dies hängt davon ab, ob die Geoverarbeitungsumgebung über ein Koordinatensystem für den Speicherort der Ziel-Feature-Class verfügt. | Coordinate System |
average_point_spacing (optional) |
Die durchschnittliche planimetrische Entfernung zwischen den Eingabepunkten. Dieser Parameter wird nur verwendet, wenn für die Ausgabegeometrie MULTIPOINT festgelegt ist. Die Funktion des Parameters ist die Zusammengruppierung der Punkte. Dieser Wert wird zusammen mit den Punkten pro Shape-Grenzwert verwendet, um ein virtuelles Kachelungssystem zum Gruppieren der Punkte zu erstellen. Der Ursprung des Kachelsystems basiert auf der Domäne der Ziel-Feature-Class. Geben Sie den Abstand in den horizontalen Einheiten der Ziel-Feature-Class an. | Double |
file_suffix (optional) |
Das Suffix der Dateien, die aus einem Eingabeordner importiert werden sollen. Dieser Parameter ist erforderlich, wenn als Eingabe ein Ordner angegeben wird. | String |
decimal_separator (optional) | Das in der Textdatei verwendete Dezimalzeichen, mit dem der ganzzahlige Teil einer Zahl von ihrem Bruchteil unterschieden wird.
| String |
Codebeispiel
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.Ascii3DToFeatureClass_3d("masspnts.txt", "GENERATE", "masspnts.shp", "POINT", 1, "Coordinate Systems/Projected Coordinate Systems/State Plane/NAD 1983 (Feet)/NAD 1983 StatePlane Massachusetts Mainland FIPS 2001 (Feet).prj")
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''****************************************************************************
Name: ASCII3D_to_Feature_Class Example
Description: This script demonstrates how to use the
ASCII3D_to_Feature_Class tool to create a point feature class
from a set of text files in the specified workspace.
****************************************************************************'''
# Import system modules`
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inFormat = "GENERATE"
# Name of the output file
outFC = "Pts_from_ASCII.shp"
# Geometry of the output feature class
outType = "POINT"
zFactor = 1
# Coordinate system of the output feature class
CS = "Coordinate Systems/Geographic Coordinate Systems/World/WGS 1984.prj"
fileSuffix = "ascii.txt"
decSep = "DECIMAL_POINT" # Specifies the decimal delimeter
# Create list of ASCII files
txtList = arcpy.ListFiles("*" + fileSuffix)
# Verify the presence of TINs in the list
if len(txtList) > 0:
# Execute ASCII3D_to_Feature_Class
arcpy.ASCII3DToFeatureClass_3d(txtList, inFormat, outFC, outType,
zFactor, CS, fileSuffix, decSep)
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)