Extraer objetos de una nube de puntos (3D Analyst)

Resumen

Extrae distintos objetos de una nube de puntos clasificada en entidades de puntos, polígono o multiparche.

Ilustración

Ilustración de la herramienta Extraer objetos desde nube de puntos

Uso

  • Esta herramienta utiliza una distancia de clustering para establecer qué puntos pertenecen al mismo objeto. Si varios códigos de clase pueden representar potencialmente el mismo objeto, asigne un Id. de grupo común que vincule los códigos de clase durante la operación de clustering. Por ejemplo, un árbol grande puede tener puntos asignados con códigos de clase 3, 4 o 5. A los tres códigos de clase se les puede asignar un Id. de grupo común para garantizar que el árbol esté identificado correctamente.

  • La extracción de objetos ofrece un dataset cuantificable que se puede utilizar para crear un inventario de activos que se puede visualizar en un mapa o escena. Las formas 3D producidas por esta herramienta pueden ayudar a realizar evaluaciones de visibilidad o impacto de las sombras. Las representaciones geométricas simplificadas también pueden proporcionar una abstracción cartográfica útil para visualizar objetos en nubes de puntos más voluminosas.

  • Utilice el parámetro Número mínimo de puntos para eliminar objetos definidos por un pequeño número de puntos, que podrían no generar resultados significativos.

  • Cuando se utiliza la opción Envolvente cóncava 2D o Envolvente cóncava 3D del parámetro Tipo de geometría de salida, se puede calcular un radio alfa para definir la geometría de salida de cada objeto o se puede utilizar el mismo radio alfa en todos los objetos. Calcular un radio alfa para cada objeto puede ser beneficioso al extraer varios objetos con características muy diferentes. Al aplicar el mismo radio alfa a todos los objetos, especifique el radio deseado mediante el uso del parámetro Radio alfa. Si no se proporciona ningún valor, el radio utilizado en la opción Envolvente cóncava 2D será el mismo que el valor del parámetro Distancia de clustering. Cuando se utiliza la opción Envolvente cóncava 3D, el radio se obtendrá dividiendo el valor del parámetro Distancia de clustering entre el valor del parámetro Factor de escala de clustering vertical, siempre que el factor de escala sea mayor que 0. La envolvente cóncava se crea cuando el factor de escala es 0.

  • Las entidades de salida tendrán los siguientes atributos:

    • ObjectCode— El código de clase o Id. de grupo utilizado para identificar el tipo de objeto.
    • COUNT— El número de puntos asociados con el objeto.
    • ALPHA—El radio alfa utilizado para construir la forma de salida. Este campo solo se agrega cuando el parámetro Tipo de geometría de salida se configura en Envolvente cóncava 2D o Envolvente cóncava 3D.

    Los siguientes atributos solo se agregan para tipos de geometría de polígono:

    • MIN_Z— El valor z más bajo de los puntos que pertenecen a un objeto.
    • MAX_Z— El valor z más alto de los puntos que pertenecen a un objeto.

    Pueden calcularse atributos como el área de la superficie y el volumen de las salidas multiparche con la herramienta Agregar información de Z.

Parámetros

EtiquetaExplicaciónTipo de datos
Nube de puntos de entrada

El dataset LAS clasificado, el paquete de capas de escena de nube de puntos o el servicio I3S de nube de puntos que se utilizará para detectar objetos.

LAS Dataset Layer; Scene Layer; File
Códigos de clase para extraer

Los códigos de clase que se procesarán para identificar objetos. Se puede asignar un Id. de grupo común para agrupar varios códigos de clase en el mismo objeto.

Value Table
Distancia de clustering

La distancia tridimensional que se utilizará para identificar los puntos que pertenecen a un mismo objeto.

Linear Unit
Entidades del objeto de salida

Los objetos de salida cuya geometría de entidad puede ser de puntos, polígono o multiparche según el valor del parámetro Tipo de geometría de salida.

Feature Class
Tipo de geometría de salida
(Opcional)

Especifica el tipo de geometría que se creará para cada objeto. El tipo especificado determinará si los objetos se representarán como puntos, polígonos o entidades multiparche.

  • Punto centralSe generarán puntos tridimensionales que representan cada objeto con un punto que se crea aproximadamente en el medio de la envoltura convexa del objeto.
  • Círculo delimitadorSe generarán polígonos bidimensionales que representan cada objeto con el círculo delimitador mínimo que rodea sus puntos.
  • Cuadro de delimitación 2DSe generarán polígonos bidimensionales que representan cada objeto con el cuadro delimitador orientado más pequeño que contiene sus puntos.
  • Envoltura convexa 2DSe generarán polígonos bidimensionales que representan cada objeto con la envoltura convexa que contiene sus puntos.
  • Envoltura cóncava 2DSe generarán polígonos bidimensionales que representan cada objeto con una envoltura cóncava que abarca sus puntos.
  • Esfera delimitadoraSe generarán entidades multiparche que representan cada objeto con una esfera delimitadora mínima que abarca sus puntos.
  • Cuadro de delimitación 3DSe generarán entidades multiparche que representan cada objeto con el cuadro delimitador orientado más pequeño que contiene sus puntos.
  • Envoltura convexa 3DSe generarán entidades multiparche que representen cada objeto con la envoltura convexa que rodea sus puntos. Esta es la opción predeterminada.
  • Envoltura cóncava 3DSe generarán entidades multiparche que representen cada objeto con la envoltura cóncava que rodea sus puntos. Esta opción es una aproximación a la geometría más parecida que puede generarse a partir de los puntos.
String
Número mínimo de puntos
(Opcional)

El número mínimo de puntos que debe tener un objeto para generar una salida. El valor predeterminado es 10.

Long
Factor de escala de clustering vertical

Factor de escala que se aplicará a los valores z, lo que afectará a cómo se aplica la distancia de clustering a lo largo del eje z y cómo se agrupan los puntos en objetos. El valor predeterminado es 1 con valores válidos que oscilan entre 0,0 y 10,0. Un factor de escala de 0 dará lugar a un clustering bidimensional, mientras que un factor de escala menor que 1, pero mayor que 0, generará un rango z más grande para cada objeto. Del mismo modo, un factor de escala vertical mayor que 1 dará lugar a la agrupación de los puntos distribuidos por el eje z en una distancia menor. El factor de escala vertical solo se aplica a la forma en que se agrupan los puntos. La geometría de los puntos no se modificará y las unidades z no se alterarán.

Double
Calcular un radio alfa único para cada objeto
(Opcional)

Especifica si se calculará el radio alfa de cada objeto o si se aplicará el mismo radio alfa a todos los objetos.

Este solo está disponible cuando el parámetro Tipo de geometría de salida se configura en Envolvente cóncava 2D o Envolvente cóncava 3D.

  • Activado: se calculará un radio alfa único para cada objeto.
  • Desactivado: se utilizará el mismo radio alfa en todos los objetos. Cuando se desactiva este parámetro, se puede utilizar el parámetro Radio alfa para definir este valor. Si no se especifica ningún valor, se calculará el radio alfa de todo el dataset. Esta es la opción predeterminada.
Boolean
Radio alfa
(Opcional)

Radio alfa se utilizará para definir la forma alfa al construir entidades de objeto.

Este parámetro se aplica cuando el parámetro Calcular un radio alfa único para cada objeto se desactiva y el parámetro Tipo de geometría de salida se configura en Envolvente cóncava 2D o Envolvente cóncava 3D.

Un radio alfa mayor creará una entidad de objeto más unificada con límites más simples hasta el punto de alcanzar la envolvente convexa, mientras que los valores más pequeños abarcarán los puntos del objeto con más detalles a la vez que aumenta la probabilidad de producir partes desconectadas. Cuando no se defina ningún radio alfa, el valor se obtendrá a partir de los parámetros Distancia de clustering y Factor de escala de clustering vertical.

Consulte la sección Uso en la ayuda de la herramienta para obtener más información sobre la forma en que se obtiene el radio alfa predeterminado.

Linear Unit

arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points}, vertical_scale_factor, {alpha_calculation}, {alpha_radius})
NombreExplicaciónTipo de datos
in_point_cloud

El dataset LAS clasificado, el paquete de capas de escena de nube de puntos o el servicio I3S de nube de puntos que se utilizará para detectar objetos.

LAS Dataset Layer; Scene Layer; File
class_codes_to_extract
[class_codes_to_extract,...]

Los códigos de clase que se procesarán para identificar objetos. Se puede asignar un Id. de grupo común para agrupar varios códigos de clase en el mismo objeto.

Value Table
clustering_distance

La distancia tridimensional que se utilizará para identificar los puntos que pertenecen a un mismo objeto.

Linear Unit
out_features

Los objetos de salida cuya geometría de entidad puede ser de puntos, polígono o multiparche según el valor del parámetro geometry_type.

Feature Class
geometry_type
(Opcional)

Especifica el tipo de geometría que se creará para cada objeto. El tipo especificado determinará si los objetos se representarán como puntos, polígonos o entidades multiparche.

  • CENTERPOINTSe generarán puntos tridimensionales que representan cada objeto con un punto que se crea aproximadamente en el medio de la envoltura convexa del objeto.
  • BOUNDING_CIRCLESe generarán polígonos bidimensionales que representan cada objeto con el círculo delimitador mínimo que rodea sus puntos.
  • BOUNDING_BOX_2DSe generarán polígonos bidimensionales que representan cada objeto con el cuadro delimitador orientado más pequeño que contiene sus puntos.
  • CONVEX_HULL_2DSe generarán polígonos bidimensionales que representan cada objeto con la envoltura convexa que contiene sus puntos.
  • CONCAVE_HULL_2DSe generarán polígonos bidimensionales que representan cada objeto con una envoltura cóncava que abarca sus puntos.
  • BOUNDING_SPHERESe generarán entidades multiparche que representan cada objeto con una esfera delimitadora mínima que abarca sus puntos.
  • BOUNDING_BOX_3DSe generarán entidades multiparche que representan cada objeto con el cuadro delimitador orientado más pequeño que contiene sus puntos.
  • CONVEX_HULL_3DSe generarán entidades multiparche que representen cada objeto con la envoltura convexa que rodea sus puntos. Esta es la opción predeterminada.
  • CONCAVE_HULL_3DSe generarán entidades multiparche que representen cada objeto con la envoltura cóncava que rodea sus puntos. Esta opción es una aproximación a la geometría más parecida que puede generarse a partir de los puntos.
String
min_points
(Opcional)

El número mínimo de puntos que debe tener un objeto para generar una salida. El valor predeterminado es 10.

Long
vertical_scale_factor

Factor de escala que se aplicará a los valores z, lo que afectará a cómo se aplica la distancia de clustering a lo largo del eje z y cómo se agrupan los puntos en objetos. El valor predeterminado es 1 con valores válidos que oscilan entre 0,0 y 10,0. Un factor de escala de 0 dará lugar a un clustering bidimensional, mientras que un factor de escala menor que 1, pero mayor que 0, generará un rango z más grande para cada objeto. Del mismo modo, un factor de escala vertical mayor que 1 dará lugar a la agrupación de los puntos distribuidos por el eje z en una distancia menor. El factor de escala vertical solo se aplica a la forma en que se agrupan los puntos. La geometría de los puntos no se modificará y las unidades z no se alterarán.

Double
alpha_calculation
(Opcional)

Especifica si se calculará el radio alfa de cada objeto o si se aplicará el mismo radio alfa a todos los objetos.

Este parámetro solo está habilitado cuando el parámetro geometry_type tiene el valor CONCAVE_HULL_2D o CONCAVE_HULL_3D.

  • PER_OBJECTSe calculará un radio alfa único para cada objeto.
  • ALL_OBJECTSSe utilizará el mismo radio alfa en todos los objetos. Cuando se especifica esta opción, se puede utilizar el parámetro alpha_radius para definir este valor. Si no se especifica ningún valor, se calculará el radio alfa de todo el dataset. Esta es la opción predeterminada.
Boolean
alpha_radius
(Opcional)

Radio alfa se utilizará para definir la forma alfa al construir entidades de objeto.

Este parámetro se aplica cuando el parámetro alpha_calculation se configura en ALL_OBJECTS y el parámetro geometry_type se configura en CONCAVE_HULL_2D o CONCAVE_HULL_3D.

Un radio alfa mayor creará una entidad de objeto más unificada con límites más simples hasta el punto de alcanzar la envolvente convexa, mientras que los valores más pequeños abarcarán los puntos del objeto con más detalles a la vez que aumenta la probabilidad de producir partes desconectadas. Cuando no se defina ningún radio alfa, el valor se obtendrá a partir de los parámetros clustering_distance y vertical_clustering_scale_factor.

Consulte la sección Uso en la ayuda de la herramienta para obtener más información sobre la forma en que se obtiene el radio alfa predeterminado.

Linear Unit

Muestra de código

Ejemplo de ExtractObjectsFromPointCloud 1 (ventana de Python)

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

import arcpy
arcpy.env.workspace = r"C:/GIS_Data"
arcpy.ddd.ExtractObjectsFromPointCloud("Terrestrial_Scan.lasd", [(4, 5), (5, 5)],
                                       "60 Centimeters", "Trees.shp", 
                                       "CONCAVE_HULL_2D", 50)