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
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ámetro | Explicación | Tipo 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:
| 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.
| String |
clustering_method (Opcional) | Especifica el método que se utilizará para definir clústeres.
| String |
use_time (Opcional) | Especifica si se utilizará o no la hora para descubrir clústeres con DBSCAN.
| 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
Nombre | Explicación | Tipo de datos |
output | Los clústeres de puntos de salida. | Conjunto de entidades |
Muestra de código
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