Feature-Class Z in ASCII (3D Analyst)

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
    Hinweis:

    Punkt- und Multipoint-Features werden in dieselbe Datei geschrieben. Dagegen wird jedes Polygon- und Polylinien-Feature in eine separate Textdatei geschrieben, an deren Namen die eindeutige ID des Features angefügt wird. Jeder Teil eines Multipart-Features wird in eine separate Datei geschrieben, wobei die Teilelementnummer im Dateinamen auf die ID des Features folgt.

  • 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
      Hinweis:

      Multipoint-Features, die aus demselben Datensatz in der Ursprungs-Feature-Class stammen, weisen dieselbe ID auf.

    • 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
      Hinweis:

      Die ersten und letzten XYZ-Koordinaten für Polygon-Features sind immer identisch.

Syntax

arcpy.3d.FeatureClassZToASCII(in_feature_class, output_location, out_file, {format}, {delimiter}, {decimal_format}, {digits_after_decimal}, {decimal_separator})
ParameterErklärungDatentyp
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.

  • GENERATEErstellt die Ausgabe im GENERATE-Format. Dies ist die Standardeinstellung.
  • XYZSchreibt XYZ-Informationen von Eingabe-Features. Für jede Linie oder jedes Polygon im Eingabe-Feature wird eine Datei erstellt.
  • PROFILESchreibt Profilinformationen für Linien-Features, die in externen grafischen Anwendungen verwendet werden können.
String
delimiter
(optional)

Gibt das Trennzeichen zwischen Einträgen in den Spalten der Textdateitabelle an.

  • SPACEFeldwerte werden durch ein Leerzeichen getrennt. Dies ist die Standardeinstellung.
  • COMMAFeldwerte werden durch ein Komma getrennt. Diese Option kann nicht verwendet werden, wenn als Dezimaltrennzeichen ebenfalls ein Komma festgelegt ist.
String
decimal_format
(optional)

Gibt die Methode an, mit der die Anzahl der in den Ausgabedateien gespeicherten signifikanten Stellen bestimmt wird.

  • AUTOMATICDie Anzahl der signifikanten Stellen, die zur Beibehaltung der verfügbaren Genauigkeit nötig sind, während unnötige nachgestellte Nullen entfernt werden, wird automatisch bestimmt. Dies ist die Standardeinstellung.
  • FIXEDDie Anzahl der signifikanten Stellen wird im Parameter Stellen nach Dezimaltrennzeichen definiert.
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.

  • DECIMAL_POINTEin Punkt wird als Dezimalzeichen verwendet. Dies ist die Standardeinstellung.
  • DECIMAL_COMMAEin Komma wird als Dezimalzeichen verwendet.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
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.

arcpy.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

try:
    # Set environment settings
    arcpy.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 Exception as err:
    print(err)

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen