ASCII 3D a clase de entidad (3D Analyst)
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 almacenan todos los tipos de geometría compatibles de la misma manera y solamente admite una entidad poligonal o línea de una sola parte por archivo.
Nota:En un archivo XYZ o XYZI se puede almacenar solamente una entidad poligonal o línea de una sola parte. Los polígonos 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.
Nota:Si el archivo ASCII está en formato XYZI pero no desea las medidas de intensidad, elija XYZ. Esto omitirá el valor de intensidad al leer los archivos.
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
Nota:Los polígonos se deben orientar en sentido de las agujas del reloj, no deben tener intersecciones propias y deben estar cerrados (es decir, el último vértice es igual al primero). Si una de estas condiciones no se cumple, el polígono de salida no será válido. La herramienta Verificar geometría se puede usar para validar las entidades resultantes, y la herramienta Reparar geometría se puede usar para corregir errores.
Sintaxis
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 3-D GENERATE. Si se especifica una carpeta, el parámetro Sufijo del archivo se vuelve necesario y se utilizarán todos los archivos que tienen la misma extensión que el sufijo especificado. Si hay varios archivos, todos deben ser del mismo formato. | Folder; File |
in_file_type | String | |
out_feature_class |
La clase de entidad de salida. | 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. | 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 solo 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 |
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"
#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)
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos 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)