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
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
- 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
- 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:
Sintaxis
arcpy.ddd.FeatureClassZToASCII(in_feature_class, output_location, out_file, {format}, {delimiter}, {decimal_format}, {digits_after_decimal}, {decimal_separator})
Parámetro | Explicación | Tipo 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.
| String |
delimiter (Opcional) | Especifica el delimitador que indicará la separación de las entradas en las columnas de la tabla del archivo de texto.
| String |
decimal_format (Opcional) | Especifica el método que determinará el número de dígitos significativos almacenados en los archivos de salida.
| 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.
| String |
Salida derivada
Nombre | Explicación | Tipo 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.
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")
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
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)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst