De clase de entidad Z a ASCII (3D Analyst)

Resumen

Exporta entidades 3D a archivos de texto ASCII que almacenen GENERATE, XYZ o datos de perfil.

Uso

  • La opción Perfil escribe un archivo ASCII de dos columnas que convierte las entidades de línea 3D en registros que pueden utilizarse para generar gráficos de línea. Cada línea de la clase de entidad de origen se escribirá en un archivo independiente a cuyo nombre se le incorpora un sufijo con el Id. único de la línea. Cada fila del archivo ASCII contendrá la distancia desde la posición inicial de la línea al vértice (D) seguida por la elevación de ese vértice. Al cargar el archivo ASCII resultante en una aplicación gráfica, la primera columna se usaría para definir el eje x y la segunda columna para definir el eje y.

    0 z1D1 z2D2 z3D3 z4
  • La opción XYZ escribe las coordenadas x, y y z como valores de punto flotante donde cada fila representa un registro de puntos.

    x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4
    Nota:

    Las entidades multipunto y de punto se escriben en el mismo archivo, mientras que cada entidad poligonal y de polilínea se escribe en un archivo de texto independiente a cuyo nombre se le incorpora un sufijo con el Id. de la entidad. Cada parte de una entidad multiparte se escribe en un archivo separado con su número de parte siguiendo el Id. de la entidad en el nombre del archivo.

  • El formato GENERATE no admite líneas de encabezado, pero almacena todas las entidades de entrada en un archivo.

    • Las entidades de puntos se almacenan con sus respectivos Id. y coordenadas XYZ, y la última línea se denota con la palabra clave END:
      id1 x1 y1 z1id2 x2 y2 z2id3 x3 y3 z3id4 x4 y4 z4END
      Nota:

      Las entidades multipunto que se originan del mismo registro en la clase de entidad de origen compartirá la misma ID.

    • Las entidades poligonales y de línea se separan mediante la palabra clave END, y dos palabras clave sucesivas END indican el final del archivo:
      id1x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4END
      id2x1 y1 z1x2 y2 z2END
      END
      Nota:

      La primera y la última coordenadas XYZ para las entidades de polígono siempre son idénticas.

Sintaxis

arcpy.3d.FeatureClassZToASCII(in_feature_class, output_location, out_file, {format}, {delimiter}, {decimal_format}, {digits_after_decimal}, {decimal_separator})
ParámetroExplicaciónTipo de datos
in_feature_class

La clase de entidad poligonal, de polilínea, multipunto o punto 3D que se exportarán a un archivo ASCII.

Feature Layer
output_location

La carpeta en la que se escribirán los archivos de salida.

Folder
out_file

El nombre del archivo ASCII resultante.

Si una clase de entidad de línea o polígono se exporta a un formato XYZ, el nombre de archivo se usa como un nombre de base. Cada entidad tendrá una única salida de archivo dado que el formato XYZ solo admite una línea o polígono por archivo. En el caso de las entidades multiparte, también se escribe cada parte en un archivo independiente. El nombre de archivo se incorporará con el OID de cada entidad, así como los caracteres adicionales necesarios para hacer cada nombre de archivo único.

String
format
(Opcional)

Especifica el formato del archivo ASCII que se va a crear.

  • GENERATEEscribe la salida en el formato GENERATE. Esta es la opción predeterminada.
  • XYZEscribe la información XYZ de entidades de entrada. Se creará una archivo por cada línea o polígono en la entidad de entrada.
  • PROFILEEscribe la información de perfil de las entidades de línea que se pueden utilizar en aplicaciones de gráficos exteriores.
String
delimiter
(Opcional)

Especifica el delimitador que indicará la separación de las entradas en las columnas de la tabla del archivo de texto.

  • SPACESe utilizará un espacio para delimitar los valores de campo. Esta es la opción predeterminada.
  • COMMASe utilizará una coma para delimitar los valores de campo. Esta opción no aplica si el separador decimal también es una coma.
String
decimal_format
(Opcional)

Especifica el método que determinará el número de dígitos significativos almacenados en los archivos de salida.

  • AUTOMATICEl número de dígitos significativos necesarios para conservar la precisión disponible, mientras se eliminan los ceros de acompañamiento innecesarios, se determina automáticamente. Esta es la opción predeterminada.
  • FIXEDEl número de dígitos significativos se define en el parámetro Dígitos después de la coma.
String
digits_after_decimal
(Opcional)

El número de dígitos escritos después del decimal para los valores de coma flotante escritos en los archivos de salida. Este parámetro se utiliza cuando el parámetro Notación decimal tiene el valor Número especificado (decimal_format=FIXED en Python).

Long
decimal_separator
(Opcional)

Especifica el carácter decimal que diferenciará el entero de un número de su parte fraccionaria.

  • DECIMAL_POINTSe usa un punto como carácter decimal. Esta es la opción predeterminada.
  • DECIMAL_COMMASe usa una coma como carácter decimal.
String

Salida derivada

NombreExplicaciónTipo de datos
derived_output

La carpeta en la que se escribirán los archivos de salida.

Carpeta; archivo

Muestra de código

Ejemplo 1 de FeatureClassZToASCII (ventana de Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

arcpy.env.workspace = "C:/data"
arcpy.FeatureClassZToASCII_3d("LidarPts.shp", "", "ASCII_LidarPts.txt",
                            "GENERATE", "COMMA", "FIXED", 6, "DECIMAL_POINT")
Ejemplo 2 FeatureClassZToASCII (secuencia de comandos independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

'''****************************************************************************
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)

Información de licenciamiento

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

Temas relacionados