Clase de entidad Z a ASCII (3D Analyst)
Resumen
Exporta entidades 3D para almacenar los archivos de texto ASCII , GENERATE XYZ, o datos de perfil.
Uso
-
El formato PROFILE proporciona información de perfil para entidades de línea 3D que se pueden importar a aplicaciones de gráficos especializadas. Cada entidad de línea en la clase de entidad de origen se escribirá en un archivo separado cuyo nombre es con el Id. único de la línea. Cada fila en la tabla de perfil contiene la distancia desde el punto de partida de la línea para el vértice (D) seguida de la elevación de ese vértice.
0 z1 D1 z2 D2 z3 D3 z4
El formato XYZ almacena las coordenadas X, Y y Z, como valores de punto flotante, donde cada fila representa un registro de puntos distintos.
x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4
Nota:Las entidades de punto y multipunto se escriben en el mismo archivo, mientras que cada entidad de polilínea y poligonal se escribe en un archivo de texto independientes cuyo nombre es con el Id. de la entidad. Cada parte de entidades con varias partes se escriben en un archivo separado y su nombre de archivo tendrá su número de parte incorporada después de la Id. de la entidad.
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 z1 id2 x2 y2 z2 id3 x3 y3 z3 id4 x4 y4 z4 END
Nota:Las entidades multipunto que se originan del mismo registro en la clase de entidad de origen compartirá la misma ID.
- Las entidades de línea y polígono se separan mediante la palabra clave END, y dos palabras clave sucesivas END indican el final del archivo:
id1 x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 END id2 x1 y1 z1 x2 y2 z2 END END
Nota:La primera y la última coordenadas XYZ para las entidades de polígono siempre son idénticas.
- 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
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 archivos 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. Las entidades multiparte también tendrán cada parte escrita en un archivo separado. 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) |
El delimitador de campo que se utiliza en el 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) | El caracter decimal usado en el archivo de texto para diferenciar al entero de un número de su parte fraccionaria.
| String |
Ejemplo de código
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana 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")
El siguiente ejemplo 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)