Resumen
Exporta entidades 3D para almacenar los archivos de texto ASCII , GENERATE XYZ, o datos de perfil.
Uso
El formato Perfil proporciona información de perfil para entidades de línea 3D que se pueden importar en aplicaciones de gráficos especializadas. Cada entidad de línea de la clase de entidad de origen se escribirá en un archivo independiente a cuyo nombre se le añade un sufijo con el Id. único de la línea. Cada fila de la tabla del perfil contiene la distancia desde la posición inicial de la línea al vértice (D) seguida por la elevación de ese vértice.
0 z1D1 z2D2 z3D3 z4
El formato XYX almacena las coordenadas x, y, z como valores de punto flotante, donde cada fila representa un registro de punto distinto.
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 de línea y poligonales 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
FeatureClassZToASCII_3d (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 donde 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 desde 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) | El formato del archivo ASCII que se está creando.
| String |
delimiter (Opcional) | Delimitador empleado para indicar la separación de las entradas en las columnas de la tabla del archivo de texto.
| String |
decimal_format (Opcional) | El método que se utiliza para determinar el número de dígitos significativos almacenados en los archivos de salida.
| String |
digits_after_decimal (Opcional) | Se utiliza cuando la Notación decimal se establece en FIXED. Esto determina cuántos dígitos se escriben después del decimal para los valores de punto flotante escritos en los archivos de salida. | Long |
decimal_separator (Opcional) | Carácter decimal usado para diferenciar el entero de un número de su parte fraccionaria.
| String |
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 una secuencia de comandos 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 sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst