Colorear LAS (3D Analyst)

Resumen

Aplica colores y valores infrarrojos cercanos desde imágenes ortográficas hasta puntos LAS.

Ilustración

Colorear LAS

Uso

  • Mostrar puntos LAS con información de RGB puede proporcionar una visualización fotorrealista e inmersiva que aporta una experiencia de visualización única. La información visual de las imágenes reales superpuestas en puntos LAS puede ofrece un mayor detalle sobre las características discretas de la nube de puntos que pueden ser útiles al clasificar datos de forma interactiva, digitalizar nuevas entidades y establecer un punto de referencia al realizar mediciones de distancia en 3D.

  • Las mejores imágenes en las que se puede dar color a los puntos LAS se obtendrían al mismo tiempo que el levantamiento topográfico LIDAR, para que la coincidencia con las entidades capturadas sea la mejor. Si no dispone de ello, intente utilizar imágenes lo más cercanas posible a la fecha de escaneado, para así minimizar las diferencias por eventos tales como la construcción o por la variación estacional de plantas de hoja caduca.

  • Si las imágenes de origen son varias imágenes en teselas, plantéese cargar esas teselas en un dataset de mosaico para hacer referencia a ellas como un solo dataset y utilizarlo como entrada de imagen para dar color a los datos LAS. Más información sobre la creación de un dataset de mosaico.

  • Solamente la versión 1.4 del archivo LAS con formato de registro de puntos 8 admite el almacenamiento de valores infrarrojos cercanos para puntos LAS.

  • Cuando se define una extensión de procesamiento, todo el archivo LAS que interseca con la extensión de procesamiento se coloreará. Si solo se desea un subconjunto del archivo LAS de entrada, plantéese utilizar la herramienta Extraer LAS para recortar el subconjunto y utilice el archivo resultante como entrada para esta herramienta.

  • No es inusual que los registros de puntos LAS se almacenen en el archivo LAS en una secuencia binaria que no se corresponde con el clustering espacial de los puntos. Cuando se consultan los datos de tal distribución, puede ser que el acceso a los registros binarios que representan los puntos LAS sea menos eficiente. La reordenación de los puntos en el archivo LAS resultante optimizará los datos para su visualización y otras operaciones espaciales. Las estadísticas se calcularán automáticamente cuando se habilite la opción de reordenación. Si decide no reordenar los puntos LAS, puede elegir habilitar o deshabilitar el cálculo de estadísticas. El cálculo de estadísticas optimizará las consultas espaciales y ofrecerá un resumen de los códigos de clase y valores de retorno que hay en el archivo LAS. Sin embargo, también agregará tiempo al procesamiento de esta herramienta. Si los archivos LAS resultantes no se van a utilizar en ArcGIS, puede deshabilitar el cálculo de estadísticas para que la herramienta se ejecute más rápido.

Sintaxis

ColorizeLas(in_las_dataset, in_image, bands, target_folder, {name_suffix}, {las_version}, {point_format}, {compression}, {rearrange_points}, {compute_stats}, {out_las_dataset})
ParámetroExplicaciónTipo de datos
in_las_dataset

El dataset LAS que se va a procesar.

LAS Dataset Layer
in_image

Imagen que se utilizará para asignar colores a puntos LAS.

Mosaic Layer; Raster Layer
bands
[bands,...]

Bandas de la imagen de entrada que se asignarán a los canales de color asociados a los puntos LAS de salida.

Value Table
target_folder

La carpeta existente en la que se escribirán los archivos LAS de salida.

Folder
name_suffix
(Opcional)

Texto que se incorporará al nombre de cada archivo LAS de salida. Cada archivo heredará su nombre base de su archivo de origen, seguido del sufijo especificado en este parámetro.

String
las_version
(Opcional)

La versión de LAS de los archivos de salida que se va a crear.

  • 1.2Se creará un archivo LAS versión 1.2.
  • 1.3Se creará un archivo LAS versión 1.3.
  • 1.4Se creará un archivo LAS versión 1.4. Esta es la opción predeterminada.
String
point_format
(Opcional)

El formato del registro de puntos de los archivos LAS de salida.

  • 2Formato de registro de punto 2.
  • 3El formato de registro de punto 3 admite el almacenamiento de la hora GPS.
  • 7Formato de registro de punto 7. Este es el valor predeterminado y solo está disponible para la versión de LAS 1.4.
  • 8El formato de registro de puntos 8 admite el almacenamiento de valores infrarrojos cercanos. Solo está disponible para la versión de LAS 1.4.
Long
compression
(Opcional)

Especifica si el archivo LAS de salida tendrá un formato comprimido o el formato LAS estándar.

  • NO_COMPRESSIONLa salida tendrá el formato de LAS estándar (*.las). Esta es la opción predeterminada.
  • ZLASLos archivos LAS de salida se comprimirán con el formato de zLAS.
String
rearrange_points
(Opcional)

Determina si es preciso reorganizar los puntos en los archivos LAS.

  • NO_REARRANGE_POINTSEl orden de los puntos de los archivos LAS permanecerá como está.
  • REARRANGE_POINTSLos puntos de los archivos LAS se reorganizarán. Esta es la opción predeterminada.
Boolean
compute_stats
(Opcional)

Especifica si las estadísticas se deben calcular para los archivos LAS a los que hace referencia el dataset LAS. Calcular estadísticas proporciona un índice espacial para cada archivo LAS, lo que mejora el análisis y el rendimiento de la visualización. Las estadísticas también mejoran la experiencia de filtrado y simbología al limitar la visualización de los atributos LAS, como los códigos de clasificación y la información de retorno, a los valores presentes en el archivo LAS.

  • COMPUTE_STATSSe calcularán las estadísticas.
  • NO_COMPUTE_STATSNo se calcularán las estadísticas. Esta es la opción predeterminada.
Boolean
out_las_dataset
(Opcional)

El dataset LAS de salida que hace referencia a los archivos LAS recién creados.

LAS Dataset

Salida derivada

NombreExplicaciónTipo de datos
output_folder

La carpeta en la que se escribirán los archivos LAS de salida.

Carpeta

Muestra de código

Ejemplo 1 de ColorizeLas (ventana de Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ColorizeLas('2014_lidar_survey.lasd', '2014_CIR.tif', 
                      'RED Band_1; GREEN Band_2; BLUE Band_3', 
                      'las/rgb', '_rgb', 1.3, 3, 'ZLAS', 
                      'REARRANGE_POINTS')
Ejemplo 2 de ColorizeLas (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

'''****************************************************************************
       Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)

try:
    desc = arcpy.Describe(lasd)
    if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
        unit = 'Feet'
    else:
        unit = 'Meters'
    ptSpacing = desc.pointSpacing * 2.25
    sampling = '{0} {1}'.format(ptSpacing, unit)
    # Classify overlap points
    arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
    # Classify ground points
    arcpy.ddd.ClassifyLasGround(lasd)
    # Filter for ground points
    arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
    # Generate DEM
    arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION', 
                                        'BINNING NEAREST NATURAL_NEIGHBOR', 
                                        sampling_type='CELLSIZE', 
                                        sampling_value=desc.pointSpacing)
    # Classify noise points
    arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY', 
                               withheld='WITHHELD', ground=dem, 
                               low_z='-2 feet', high_z='300 feet', 
                               max_neighbors=ptSpacing, step_width=ptSpacing, 
                               step_height='10 feet')
    # Classify buildings
    arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
    #Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55], 
                                  compute_stats='COMPUTE_STATS')
    # Filter LAS dataset for building points
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
    # Export raster from lidar using only building points
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    # Convert building raster to polygon
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    # Regularize building footprints
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados