Generar plano de planta a partir de nube de puntos (Indoors)

Resumen

Crea una clase de entidad de polilínea que contiene entidades de polilínea 2D generadas a partir de datos de nube de puntos de entrada. La salida de esta herramienta se puede afinar y utilizar como entrada al rellenar un espacio de trabajo de Indoors con datos para crear mapas y escenas que tengan en cuenta las plantas.

Uso

  • Esta herramienta acepta un archivo LAS como entrada y crea entidades de polilínea 2D que representan arquitectura extendida verticalmente, como muros, puertas y columnas. Utilice esta herramienta como parte de un flujo de trabajo más amplio para generar planos de planta a partir de nubes de puntos.

  • Puede afinar la clase de entidad de polilínea de salida creada por la herramienta para utilizarla como entrada en la herramienta Importar entidades a dataset de interiores.

  • Cuando la nube de puntos de entrada tiene un sistema de coordenadas definido, el parámetro Sistema de coordenadas se ajusta automáticamente. Si la nube de puntos de entrada no tiene definido ningún sistema de coordenadas, utilice el parámetro Sistema de coordenadas para especificar uno. Si la nube de puntos de entrada tiene definido un sistema de coordenadas incorrecto, puede cambiarlo desde las propiedades de la capa de la nube de puntos de entrada. La herramienta utiliza el sistema de coordenadas especificado al procesar las coordenadas de la nube de puntos y al crear las entidades de línea de salida.

  • La herramienta procesa un nivel de una instalación por cada ejecución de la herramienta. Si los datos de la nube de puntos de entrada abarcan varias instalaciones o niveles (plantas), utilice los siguientes parámetros de Límite de procesamiento para limitar el área de procesamiento:

    • Utilice el parámetro Rangos z para limitar el procesamiento a un único nivel o a un subconjunto de elevaciones de un nivel.
    • Utilice el parámetro Extensión para limitar el procesamiento a una sola instalación o a un subconjunto de una instalación. El parámetro Extensión tiene prioridad sobre la configuración del entorno Extensión.

  • Para mejorar la calidad de la salida generada, utilice el parámetro Rangos z para limitar el procesamiento a un rango de valores z que excluya la mayoría de los muebles, accesorios, iluminación y otros objetos que no sean entidades que delimiten la habitación. Puede explorar los datos de nube de puntos en una escena local para determinar el rango óptimo de valores z que debe incluir. La siguiente ilustración muestra cómo un rango z de procesamiento de 1-2 metros puede evitar muebles y accesorios de techo:

    Habitación con muebles y accesorios de techo y valores de rango z
    Se establece un valor z mínimo de 1 y un valor z máximo de 2 para evitar la captura de muebles y accesorios de techo en una habitación.

  • Utilice el parámetro Simplificar líneas para enderezar las polilíneas de salida generadas y reducir el número de vértices. Cuando este parámetro está activado, se utiliza un algoritmo de compresión de polilíneas para normalizar las polilíneas generadas antes de eliminar los vértices adicionales que no son necesarios para conservar las áreas efectivas.

  • Utilice el parámetro Tolerancia de entidades cortas para eliminar entidades de polilínea cortas de los datos. Las entidades más cortas o iguales que la tolerancia especificada se eliminarán a menos que se encuentren a menos de 0,05 metros de otras entidades. Utilice un valor de cero para evitar que se eliminen entidades cortas, lo que puede ser útil para visualizar las posiciones de las paredes en datos dispersos de nube de puntos.

  • Esta herramienta puede utilizar el campo de clasificación KeyPoint de la nube de puntos de entrada durante el procesamiento. En caso afirmativo, la herramienta restablecerá los valores originales de los campos al final de la ejecución de la herramienta.

Parámetros

EtiquetaExplicaciónTipo de datos
Nube de puntos de entrada

El archivo LAS de entrada o el dataset que contiene los datos de nube de puntos a partir de los cuales se generarán las entidades de polilínea.

LAS Dataset Layer
Entidades de línea de salida

La clase de entidad de polilínea que se creará para almacenar entidades generadas a partir de datos LAS.

Si no se especifica ningún espacio de trabajo, se utilizará el espacio de trabajo temporal.

Feature Class
Sistema de coordenadas
(Opcional)

El sistema de coordenadas de los datos LAS de entrada y la clase de entidad de polilínea de salida. De forma predeterminada, se utilizará el sistema de coordenadas definido en los datos LAS para los sistemas de coordenadas horizontales y verticales.

Spatial Reference
Valor Z de salida
(Opcional)

El valor z que se asignará a las entidades de polilínea generadas. El valor predeterminado es 0.

Puede especificar un valor en metros o en pies. La herramienta convertirá automáticamente el valor para utilizar la unidad de medida del sistema de coordenadas verticales de los datos.

Linear Unit
Simplificar líneas
(Opcional)

Especifica si las polilíneas de salida se simplificarán durante el procesamiento utilizando un algoritmo de compresión de polilíneas para normalizar las polilíneas generadas antes de eliminar los vértices adicionales que no sean necesarios para conservar las áreas efectivas.

  • Activado: las líneas se simplificarán. Esta es la opción predeterminada.
  • Desactivado: las líneas no se simplificarán.
Boolean
Tolerancia de entidades cortas
(Opcional)

La tolerancia en metros o pies internacionales por la que se eliminarán las entidades cortas. El valor predeterminado es 1 metro.

Utilice un valor de 0 para omitir la conservación de entidades cortas.

Linear Unit
Rangos z
(Opcional)

Uno o varios rangos z de la nube de puntos de entrada. Se analizarán los puntos en los rangos z especificados al generar las entidades de polilínea de salida.

Si no se especifica ningún valor, se utilizará todo el rango de valores z presentes en los datos de nube de puntos de entrada.

Value Table
Extent
(Opcional)

La extensión de los datos que se evaluarán.

  • Extensión de visualización actual Vista de mapa: la extensión se basará en el mapa o la escena activa.
  • Extensión de dibujo Cuadrar y terminar: la extensión se basará en un rectángulo dibujado en el mapa o la escena.
  • Extensión de mapa Capa: la extensión se basará en una capa de mapa activa. Elija una capa disponible o utilice la opción Extensión de datos en todas las capas. Cada capa de mapas tiene las opciones siguientes:

    • Todas las entidades Selecciona todo: extensión de todas las entidades.
    • Entidades seleccionadas Área de entidades seleccionadas: extensión de las entidades seleccionadas.
    • Entidades visibles Extent Indicator: extensión de las entidades visibles.

  • Examinar Examinar: la extensión se basará en un dataset.
  • Intersección de entradas Intersecar: la extensión será la extensión de intersección de todas las entradas.
  • Combinación de entradas Combinación: la extensión será la extensión combinada de todas las entradas.
  • Portapapeles Pegar: la extensión puede copiarse en y desde el portapapeles.
    • Copiar extensión Copiar: copia la extensión y el sistema de coordenadas en el portapapeles.
    • Pegar extensión Pegar: pega la extensión y el sistema de coordenadas desde el portapapeles. Si el portapapeles no incluye un sistema de coordenadas, la extensión utilizará el sistema de coordenadas del mapa.
  • Restablecer extensión Restablecer: la extensión se restablecerá al valor predeterminado.

Cuando las coordenadas se proporcionan de forma manual, las coordenadas deben ser valores numéricos y encontrarse en el sistema de coordenadas del mapa activo. El mapa podría utilizar unidades de visualización distintas de las coordenadas proporcionadas. Utilice un valor de signo negativo para las coordenadas sur y oeste.

Extent

arcpy.indoors.GenerateFloorPlanFromPointCloud(in_point_cloud, out_line_features, {coordinate_system}, {output_z_value}, {simplify}, {short_feature_tolerance}, {z_ranges}, {extent})
NombreExplicaciónTipo de datos
in_point_cloud

El archivo LAS de entrada o el dataset que contiene los datos de nube de puntos a partir de los cuales se generarán las entidades de polilínea.

LAS Dataset Layer
out_line_features

La clase de entidad de polilínea que se creará para almacenar entidades generadas a partir de datos LAS.

Si no se especifica ningún espacio de trabajo, se utilizará el espacio de trabajo temporal.

Feature Class
coordinate_system
(Opcional)

El sistema de coordenadas de los datos LAS de entrada y la clase de entidad de polilínea de salida. De forma predeterminada, se utilizará el sistema de coordenadas definido en los datos LAS para los sistemas de coordenadas horizontales y verticales.

Spatial Reference
output_z_value
(Opcional)

El valor z que se asignará a las entidades de polilínea generadas. El valor predeterminado es 0.

Puede especificar un valor en metros o en pies. La herramienta convertirá automáticamente el valor para utilizar la unidad de medida del sistema de coordenadas verticales de los datos.

Linear Unit
simplify
(Opcional)

Especifica si las polilíneas de salida se simplificarán durante el procesamiento utilizando un algoritmo de compresión de polilíneas para normalizar las polilíneas generadas antes de eliminar los vértices adicionales que no sean necesarios para conservar las áreas efectivas.

  • SIMPLIFYLas líneas se simplificarán. Esta es la opción predeterminada.
  • NO_SIMPLIFYLas líneas no se simplificarán.
Boolean
short_feature_tolerance
(Opcional)

La tolerancia en metros o pies internacionales por la que se eliminarán las entidades cortas. El valor predeterminado es 1 metro.

Utilice un valor de 0 para omitir la conservación de entidades cortas.

Linear Unit
z_ranges
[z_ranges,...]
(Opcional)

Uno o varios rangos z de la nube de puntos de entrada. Se analizarán los puntos en los rangos z especificados al generar las entidades de polilínea de salida.

Si no se especifica ningún valor, se utilizará todo el rango de valores z presentes en los datos de nube de puntos de entrada.

Value Table
extent
(Opcional)

La extensión de los datos que se evaluarán.

  • MAXOF: se usará la extensión máxima de todas las entradas.
  • MINOF: se usará el área mínima común a todas las entradas.
  • DISPLAY: la extensión es igual a la visualización visible.
  • Nombre de capa: se utilizará la extensión de la capa especificada.
  • Objeto de Extent: se utilizará la extensión del objeto especificado.
  • Cadena de coordenadas delimitada por espacios: se utilizará la extensión de la cadena especificada. Las coordenadas se expresan como x-min, y-min, x-max, y-max.
Extent

Muestra de código

Ejemplo 1 de GenerateFloorPlanFromPointCloud (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función GenerateFloorPlanFromPointCloud de modo inmediato.

import arcpy
arcpy.indoors.GenerateFloorPlanFromPointCloud(r"C:\Indoors\PointcloudData\Floor1scan.LAS",
                                              r"C:\Indoors\ExampleData.gdb\OutputPolylines",
                                              "", "", "", "", "", "",
                                              )
Ejemplo 2 de GenerateFloorPlanFromPointCloud (ventana de Python)

El siguiente script independiente muestra cómo utilizar la función GenerateFloorPlanFromPointCloud.

#Name: Indoors_GenerateFloorPlanFromPointCloud_example2.py
#Description: Generates polyline floor plan features from LAS point cloud data

import arcpy

# Check Out Extensions
arcpy.CheckOutExtension('Indoors')
arcpy.CheckOutExtension('3D')
arcpy.CheckOutExtension('Spatial')  # or 'ImageAnalyst'

# Set Local Variables
in_point_cloud = r"C:\data\Building L - All_Floors.las"
out_line_features = r"C:\data\FloorPlans.gdb\Building_L_East_Floor_1"
coordinate_system = 'PROJCS["NAD_1983_2011_StatePlane_California_VI_FIPS_0406",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],
                            PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],
                            PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",500000.0],PARAMETER["Central_Meridian",-116.25],
                            PARAMETER["Standard_Parallel_1",32.78333333333333],PARAMETER["Standard_Parallel_2",33.88333333333333],PARAMETER["Latitude_Of_Origin",32.16666666666666],
                            UNIT["Meter",1.0],AUTHORITY["EPSG",6425]]'
output_z_value = "4.25 Meters"
simplify = "SIMPLIFY"
short_feature_tolerance = "25.4 Millimeters"
z_ranges = "1 1.8;2.2 3.2"
extent="DEFAULT"


# Call the function
arcpy.gp.GenerateFloorPlanFromPointCloud(
    in_point_cloud,
    out_line_features,
    coordinate_system,
    output_z_value,
    simplify,
    short_feature_tolerance,
    z_ranges,
    extent
)

# Check In Extensions
arcpy.CheckInExtension('Indoors')
arcpy.CheckInExtension('3D')
arcpy.CheckInExtension('Spatial')

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Requiere 3D Analyst y ArcGIS Indoors Pro o ArcGIS Indoors Maps. También requiere Spatial Analyst o Image Analyst

Temas relacionados