Resumen
Importa entidades 3D desde uno o más archivos ASCII almacenados en los formatos XYZ, XYZI o GENERATE, a una clase de entidad.
Ilustración
Uso
Todos los archivos de entrada deben ser del mismo formato y tipo de geometría.
Los formatos XYZ y XYZI admiten líneas de encabezado y tratan la primera fila que comienza con tres números consecutivos como el inicio de los registros de puntos. Ambos formatos pueden almacenar puntos, líneas y polígonos, pero cada archivo puede contener solo una entidad poligonal o de línea de una sola parte. Las entidades poligonales deben cerrarse, con las coordenadas del último vértice iguales a las del primero, y no deben intersecarse a sí mismos.
Los archivos XYZ almacenan las coordenadas x, y y z como valores de punto flotante, donde cada fila representa un registro de puntos distintos. Las coordenadas XYZ puede estar seguidas de entradas alfanuméricas, pero esta información no se transferirá a la clase de entidad resultante.
Los archivos XYZI almacenan medidas x, y, z y de intensidad. Los valores de intensidad se almacenan en un campo de objeto binario grande (BLOB) para salidas del multiparche.
El formato GENERATE no admite líneas de encabezado, pero proporciona un Id. para cada punto junto con las coordenadas XYZ y la última línea del archivo se escribe opcionalmente con la palabra clave END:
id x y z id x y z . . END
El formato GENERATE admite varias entidades por archivo. Para líneas y polígonos, la palabra clave END indica el final de una entidad y cada entidad debe ser una entidad de una sola parte. Dos palabras clave END en una fila indican el final de un archivo.
id x y z x y z x y z END id x y z x y z END END
Sintaxis
arcpy.ddd.ASCII3DToFeatureClass(input, in_file_type, out_feature_class, out_geometry_type, {z_factor}, {input_coordinate_system}, {average_point_spacing}, {file_suffix}, {decimal_separator})
Parámetro | Explicación | Tipo de datos |
input [input,...] | Los archivos o carpetas ASCII que contienen datos en formato XYZ, XYZI (con intensidad lidar) o 3D GENERATE. Todos los archivos de entrada deben tener el mismo formato. Si se especifica una carpeta, el parámetro Sufijo del archivo pasa a ser obligatorio y se procesarán todos los archivos que tengan la misma extensión que el sufijo especificado. En la ventana del cuadro de diálogo de la herramienta, también se puede especificar una carpeta como entrada seleccionando la carpeta deseada en el Explorador de Windows y arrastrándola al cuadro de entrada del parámetro. | Folder; File |
in_file_type | Formato de los archivos ASCII que se convertirán a una clase de entidad.
| String |
out_feature_class | La clase de entidad que generará esta herramienta. | Feature Class |
out_geometry_type | El tipo de geometría de la clase de entidad de salida.
| String |
z_factor (Opcional) | El factor por el que se multiplicarán los valores z. Esto se utiliza generalmente para convertir las unidades lineales Z para que coincidan con las unidades lineales XY. El valor predeterminado es 1, que no altera los valores de elevación. Este parámetro está deshabilitado si la referencia espacial de la superficie de entrada tiene un datum Z con una unidad lineal especificada. | Double |
input_coordinate_system (Opcional) | El sistema de coordenadas de los datos de entrada El valor predeterminado es Sistema de coordenadas desconocido. Si se especifica, la salida puede o no proyectarse en un sistema de coordenadas diferente. Esto depende de si el entorno de geoprocesamiento tiene un sistema de coordenadas definido para la ubicación de la clase de entidad de destino. | Coordinate System |
average_point_spacing (Opcional) | La distancia planimétrica promedio entre los puntos de la entrada. Este parámetro sólo se usa cuando la geometría de salida se establece en MULTIPOINT, y su función es proporcionar medios para agrupar los puntos. Este valor se utiliza junto con los puntos según el límite de forma para crear un sistema de teselas virtual utilizado para agrupar los puntos. El origen del sistema está basado en el dominio de la clase de entidad de destino. Especifique el espaciado en las unidades horizontales de la clase de entidad de destino. | Double |
file_suffix (Opcional) | El sufijo de los archivos para importar desde una carpeta de entrada. Este parámetro es necesario cuando se especifica una carpeta como entrada. | String |
decimal_separator (Opcional) | El carácter decimal usado en el archivo de texto para diferenciar al entero de un número de su parte fraccionaria.
| String |
Muestra de código
Ejemplo 1 de ASCII3DToFeatureClass (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"
#Create spatial reference object using WKID
sr = arcpy.SpatialReference(32136)
arcpy.ASCII3DToFeatureClass_3d("masspntz.gen", "GENERATE", "elevation_points.shp",
"MULTIPOINT", z_factor=3.28,
input_coordinate_system=sr, average_point_spacing=2.5)
Ejemplo 2 de ASCII3DToFeatureClass (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''****************************************************************************
Name: ASCII3D_to_Feature_Class Example
Description: Creates a TIN surface using XYZI files in a folder and breaklines
imported from ASCII files.
****************************************************************************'''
# Import system modules`
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Define the spatial reference using the name
sr = arcpy.SpatialReference("Hawaii Albers Equal Area Conic")
#Create the elevation points
arcpy.ddd.ASCII3DToFeatureClass("Elevation Points", "XYZI",
"elevation_points.shp",
"MULTIPOINT", z_factor=3.28,
input_coordinate_system=sr,
average_point_spacing=2.5,
file_suffix="XYZ")
#Create the break lines
arcpy.ddd.ASCII3DToFeatureClass("brklines.gen", "GENERATE",
"breaklines.shp",
"POLYLINE", z_factor=3.28,
input_coordinate_system=sr)
arcpy.ddd.CreateTin("elevation_tin", sr,
[["breaklines.shp", "Shape", "hardline"],
["elevation_points.shp", "Shape", "masspoints"]],
"CONSTRAINED_DELAUNAY")
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