Buscar clústeres de puntos (Geoanálisis)

Resumen

Busca clústeres de entidades de puntos dentro del ruido colindante en función de su distribución espacial o espaciotemporal.

Más información sobre cómo funciona Clustering basado en densidad

Ilustración

Diagrama de Clustering basado en densidad

Uso

  • Esta herramienta de geoprocesamiento está disponible con ArcGIS Enterprise 10.6.1 o posterior.

  • La entrada de Buscar clústeres de puntos es una capa de puntos. Esta herramienta extrae clústeres de la Capa de puntos de entrada e identifica cualquier ruido colindante.

  • Buscar clústeres de puntos requiere que la Capa de puntos de entrada esté proyectada o que el sistema de coordenadas de salida se haya definido como un sistema de coordenadas proyectadas.

  • Existen dos opciones para el parámetro Método de clustering. Distancia definida (DBSCAN) utiliza el algoritmo DBSCAN y busca clústeres de puntos que están próximos en función de una distancia de búsqueda especificada. Autoajuste (HDBSCAN) utiliza el algoritmo HDBSCAN (disponible con ArcGIS Enterprise 10.7 y versiones posteriores) y busca clústeres de puntos similares a DBSCAN, utilizando distancias variables teniendo en cuenta los clústeres con densidades variables en función de la probabilidad (o estabilidad) de clúster. Si elige DBSCAN, encontrará clústeres solo en espacio bidimensional o en espacio y tiempo. Si activa Utilizar hora para buscar clústeres y la capa de entrada tiene el tiempo habilitado y es del tipo de instante, DBSCAN descubrirá clústeres espaciotemporales de puntos que estén muy próximos en función de una distancia de búsqueda y una duración de búsqueda especificadas (compatible con ArcGIS Enterprise 10.8 y versiones posteriores).

  • El parámetro Entidades mínimas por clúster se utiliza de manera diferente, en función del método de clustering:

    • Distancia definida (DBSCAN): especifica el número de entidades que se deben encontrar dentro de una distancia de búsqueda determinada de un punto para que este pueda empezar a formar un clúster. Los resultados podrían incluir clústeres con menos entidades que este valor. La distancia de búsqueda se define con el parámetro Distancia de búsqueda. Si utiliza la hora para buscar clústeres, la Duración de búsqueda es obligatoria. Al buscar miembros de clústeres, las Entidades mínimas por clúster deben estar en Distancia de búsqueda y Duración de búsqueda para formar un clúster. Tenga en cuenta que esta distancia y duración no están relacionadas con el diámetro o la extensión temporal de los clústeres de puntos descubiertos.
    • Autoajuste (HDBSCAN): especifica el número de entidades vecinas de cada punto (incluido el punto) que se tendrán en cuenta a la hora de estimar la densidad. Este número es además el tamaño de clúster mínimo permitido al extraer los clústeres.

  • Esta herramienta produce una clase de entidad de salida con un nuevo campo de tipo entero, CLUSTER_ID, que identifica el clúster en el que se encuentra cada entidad. La representación en pantalla predeterminada se basa en el campo COLOR_ID. Cada color se asignará a varios clústeres. Los colores se asignarán y repetirán de forma que cada clúster sea visualmente diferente de sus clústeres vecinos.

  • Si usa el método de clustering Distancia definida (DBSCAN) con el tiempo para descubrir clústeres espaciotemporales, los resultados también incluirán estos campos:

    • FEAT_TIME: el tiempo de instante original de cada entidad.
    • START_DATETIME: la hora de inicio de la extensión temporal del clúster al que pertenece una entidad.
    • END_DATETIME: la hora de finalización de la extensión temporal del clúster al que pertenece una entidad.

    Las propiedades de tiempo de la capa de resultados se definirán como un intervalo en los campos START_DATETIME y END_DATETIME, lo cual garantiza que todos los miembros del clúster se dibujen juntos al visualizar clústeres espaciotemporales en un control deslizante de tiempo. Estos campos se utilizan únicamente para visualización. En el caso de las entidades de ruido, START_DATETIME y END_DATETIME equivaldrán a FEAT_TIME.

  • Si el Método de clustering es Autoajuste (HDBSCAN), la clase de entidad de salida también contendrá los siguientes campos:

    • PROB: la probabilidad de que una entidad pertenezca a su clúster asignado.
    • OUTLIER: la posibilidad de que una entidad sea un valor atípico dentro de su propio clúster. Un valor más alto indica que es más probable que la entidad sea un valor atípico.
    • EXEMPLAR: las entidades que representan mejor cada clúster. Estas entidades se indican con un valor de 1.
    • STABILITY: la persistencia de cada clúster en un rango de escalas. Un valor mayor indica que un clúster persiste en un rango más amplio de escalas de distancia.

  • Cuando se usa el algoritmo HDBSCAN con una capa de entrada con más de 3 millones de entidades, la herramienta podría fallar salvo que su administrador aumente el valor del parámetro javaHeapSize en el servicio de geoprocesamiento GeoAnalyticsTools. Se requieren aproximadamente 2 GB espacio de almacenamiento dinámico por cada 3 millones de entidades. La cantidad de RAM que especifica javaHeapSize debería estar disponible en cada equipo de GeoAnalytics Server, además de los 16 GB que suele requerir GeoAnalytics Server. Por ejemplo, para hacer un clúster de 9 millones de entidades con HDBSCAN, establezca javaHeapSize a como mínimo 6.144 MB o 6 GB. En este caso, cada equipo de GeoAnalytics Server debería tener un total de como mínimo 22 GB de RAM disponible.

  • Es posible mejorar el rendimiento de la herramienta Buscar clústeres de puntos gracias a una o varias de estas sugerencias:

    • Defina el entorno de extensión para analizar únicamente datos de interés.
    • Sea exigente en la distancia y duración de búsqueda. Las distancias o radios de búsqueda más reducidos pueden rendir mejor en los mismos datos.
    • Utilice datos locales en los que se ejecute el análisis.

  • Esta herramienta de geoprocesamiento se basa en ArcGIS GeoAnalytics Server. El análisis se completa en su GeoAnalytics Server y los resultados se almacenan en su contenido en ArcGIS Enterprise.

  • Al ejecutar herramientas de GeoAnalytics Server, el análisis se completa en GeoAnalytics Server. Para obtener un rendimiento óptimo, haga que los datos estén disponibles para GeoAnalytics Server mediante capas de entidades alojadas en su portal de ArcGIS Enterprise o mediante recursos compartidos de archivos de big data. Los datos que no son locales para su GeoAnalytics Server se moverán a GeoAnalytics Server antes de que comience el análisis. Significa que ejecutar una herramienta tardará más tiempo y, en algunos casos, mover los datos de ArcGIS Pro a GeoAnalytics Server podría fallar. El umbral de error depende de la velocidad de su red, así como del tamaño y complejidad de los datos. Por lo tanto, se recomienda que siempre comparta sus datos o que cree un recurso compartido de archivos de big data.

    Más información acerca del uso compartido de datos en el portal

    Más información sobre cómo crear un archivo compartido de Big Data mediante Server Manager

Sintaxis

arcpy.geoanalytics.FindPointClusters(input_points, output_name, minimum_points, search_distance, {data_store}, {clustering_method}, {use_time}, {search_duration})
ParámetroExplicaciónTipo de datos
input_points

La clase de entidad de punto que contiene los clústeres de puntos.

Feature Set
output_name

El nombre del servicio de entidades de salida.

String
minimum_points

Este parámetro se utiliza de manera diferente en función del método de clustering elegido, como se explica a continuación:

  • Distancia definida (DBSCAN): especifica el número de entidades que se deben encontrar dentro de una distancia determinada de un punto para que este pueda empezar a formar un clúster. La distancia se define con el parámetro Distancia de búsqueda.
  • Autoajuste (HDBSCAN): especifica el número de entidades vecinas de cada punto (incluido el punto) que se tendrán en cuenta a la hora de estimar la densidad. Este número es además el tamaño de clúster mínimo permitido al extraer los clústeres.

Long
search_distance

La distancia máxima que se va a considerar.

Las Entidades mínimas por clúster especificadas se deberán encontrar dentro de esta distancia para que pertenezcan a un clúster. Los clústeres individuales estarán separados, al menos, por esta distancia. Si una entidad se encuentra a una distancia mayor que esta respecto de la siguiente entidad más cercana en el clúster, no se incluirá en el clúster.

Linear Unit
data_store
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. La predeterminada es SPATIOTEMPORAL_DATA_STORE. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.

  • SPATIOTEMPORAL_DATA_STORELa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • RELATIONAL_DATA_STORELa salida se almacenará en un data store relacional.
String
clustering_method
(Opcional)

Especifica el método que se utilizará para definir clústeres.

  • DBSCAN Utiliza una distancia especificada para separar los clústeres densos del ruido más disperso. DBSCAN es el método de clustering más rápido, pero solo es apropiado si se puede utilizar una distancia clara y que funcione bien para definir todos los clústeres que puedan estar presentes. El resultado son clústeres que presentan densidades similares. Esta es la opción predeterminada.
  • HDBSCAN Utiliza distancias variables para separar clústeres de densidades variables del ruido más disperso. HDBSCAN es el método de clustering que más se basa en los datos y requiere la menor participación del usuario.
String
use_time
(Opcional)

Especifica si se utilizará o no la hora para descubrir clústeres con DBSCAN.

  • TIMESe buscarán clústeres espaciotemporales utilizando una distancia y una duración de búsqueda.
  • NO_TIMESe buscarán clústeres espaciales utilizando una distancia de búsqueda y el tiempo se ignorará. Esta es la opción predeterminada.
Boolean
search_duration
(Opcional)

Al buscar miembros de clústeres, la cantidad mínima especificada de puntos debe estar dentro de esta duración de tiempo para formar un clúster.

Time Unit

Salida derivada

NombreExplicaciónTipo de datos
output

Los clústeres de puntos de salida.

Conjunto de entidades

Muestra de código

Ejemplo de FindPointClusters (script independiente)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta FindPointClusters.

#-------------------------------------------------------------------------------
# Name: FindPointClusters.py
# Description: Finds Point Clusters of rodent infestations
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inputPoints = "https://myGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_countyData/BigDataCatalogServer/rat_sightings"
minimumPoints = 10
outputName = "RodentClusters"
searchDistance = "1 Kilometers"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
clusterMethod = "DBSCAN"
# Execute Find Point Clusters
arcpy.geoanalytics.FindPointClusters(inputPoints, outputName, mimimumPoints, 
                                     searchDistance, dataStore, clusterMethod)

Entornos

Sistema de coordenadas de salida

El sistema de coordenadas que se usará para el análisis. El análisis se completará en el sistema de coordenadas de entrada salvo que este parámetro especifique otra opción. Para las GeoAnalytics Tools, los resultados finales se almacenarán en el data store espaciotemporal en WGS84.

Información de licenciamiento

  • Basic: Requiere ArcGIS GeoAnalytics Server
  • Standard: Requiere ArcGIS GeoAnalytics Server
  • Advanced: Requiere ArcGIS GeoAnalytics Server

Temas relacionados