Resumen
Calcula un área de magnitud por unidad desde entidades de puntos que se encuentran dentro de una vecindad alrededor de cada celda.
Ilustración
Uso
La herramienta Calcular densidad requiere una única entrada de entidades de puntos.
También es posible calcular la densidad utilizando uno o más campos de recuento. Un campo de recuento es un campo numérico que especifica la cantidad de incidentes en cada ubicación. En algunas entidades como, por ejemplo, ciudades o autopistas, se pueden utilizar un campo de recuento al calcular la densidad de población o carriles de tráfico, respectivamente. Si especifica un campo de recuento, la densidad se calculará para el campo de recuento además de la densidad de puntos.
Los puntos de entrada se consolidan en bins para el análisis. Debe especificar tamaño de bin al que consolidar datos. De forma predeterminada, los resultados de salida estarán en kilómetros cuadrados.
Los puntos de entrada se agregan en bins de un tamaño y forma especificados (hexágono o cuadrado). Si va a agregar a hexágonos, el tamaño de bin d será la altura de cada hexágono y el ancho del hexágono resultante será el doble de la altura dividido entre la raíz cuadrada de tres. Si va a agregar a cuadros, el tamaño de bin d es la altura del cuadrado, que es igual al ancho.
Debe especificar un tamaño de vecindario que sea mayor que el tamaño de bin. El tamaño de vecindario se utiliza para buscar entidades de entrada dentro de la misma vecindad como la entidad (bin) de interés.
Los valores superiores del tamaño de vecindario producen una salida de densidad más generalizada. Los valores inferiores producen una salida que muestra más detalles.
Solo los puntos que se encuentran dentro de una vecindad se tienen en cuenta en el cálculo de la densidad. Si ningún punto se encuentra dentro de la vecindad de una celda, no se asigna un valor a esa celda.
Hay dos opciones de ponderación para calcular la densidad: la opción Uniforme suma todos los valores dentro del vecindario y los divide entre el área. La opción Kernel pondera los valores del vecindario según la distancia desde la entidad de interés y aplica una función kernel para encajar una superficie lisa y cónica en cada punto.
Solo se devolverán las áreas dentro del vecindario de un bin que contengan puntos.
Si las unidades del factor de escala de la unidad de área son pequeñas en relación con la distancia entre los puntos, los valores de salida pueden ser muy pequeños. Para obtener valores más altos, utilice el factor de escala de unidad de área para unidades más grandes (por ejemplo, use Kilómetros cuadrados en lugar de Metros cuadrados).
Calcular densidad requiere que la capa de área esté en un sistema de coordenadas proyectadas. Si sus datos no se proyectan y no desea establecer un sistema de coordenadas proyectadas, el análisis se completará en la proyección cilíndrica equivalente del mundo (WKID 54034).
Los valores de densidad siempre serán de punto flotante.
Calcular densidad permite analizar opcionalmente utilizando intervalos de tiempo. Cada periodo de tiempo se analiza con independencia de las entidades que quedan fuera de él. Para usar intervalos de tiempo, los datos de entrada deben tener la función de tiempo habilitada y representar un instante en el tiempo. Cuando se aplican intervalos de tiempo, las entidades de salida serán intervalos de tiempo representados por campos.
Cuando las entidades de entrada se analizan usando periodos de tiempo, cada periodo de tiempo se analiza con independencia de las entidades que quedan fuera de él.
El parámetro Referencia de periodo de tiempo puede ser un valor de fecha y hora o simplemente un valor de fecha; no puede ser solo un valor de hora.
En las entidades de salida se incluyen los siguientes campos:
Nombre de campo Description density
La densidad del polígono determinado. Se devuelve en el factor de escala de unidad especificado.
density_<fieldname>
La densidad ponderada por el campo determinado. Tan solo se devuelve cuando se especifican uno o varios campos.
start_datetime
Cuando se especifican periodos de tiempo, los polígonos de salida tendrán un intervalo de tiempo. Este campo representa la hora de inicio.
end_datetime
Cuando se especifican periodos de tiempo, los polígonos de salida tendrán un intervalo de tiempo. Este campo representa la hora de finalización.
Es posible mejorar el rendimiento de la herramienta Calcular densidad gracias a una o varias de estas sugerencias:
- Defina el entorno de extensión para analizar únicamente datos de interés.
- Los bins mayores funcionarán mejor que los pequeños. Si no sabe qué tamaño utilizar, comience con un bin mayor como prototipo.
- De forma similar a los bins, los periodos de tiempo mayores funcionan mejor que los menores.
- Disminuya el ratio del tamaño de la vecindad al tamaño del bin. Una vecindad tres veces más grande que un bin funcionará mejor que otra que tenga 10 veces el tamaño del bin.
- 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
Se puede completar un análisis similar usando lo siguiente:
- Consolidar puntos en la caja de herramientas de GeoAnalytics Desktop o caja de herramientas de GeoAnalytics Server
- La herramienta Densidad de puntos de la caja de herramientas de Spatial Analyst
- La herramienta Densidad kernel de la caja de herramientas de Spatial Analyst
- La herramienta Calcular densidad de la caja de herramientas Análisis de entidades estándar
Sintaxis
CalculateDensity(input_layer, output_name, bin_type, bin_size, weight, neighborhood_size, {fields}, {area_unit_scale_factor}, {time_step_interval}, {time_step_repeat}, {time_step_reference}, {data_store})
Parámetro | Explicación | Tipo de datos |
input_layer | Los puntos que se utilizarán para calcular la densidad. | Feature Set |
output_name | El nombre del servicio de entidades de salida. | String |
bin_type | Especifica la forma de bin que se usará en el análisis.
| String |
bin_size | El tamaño de los bins utilizados para agregar las entidades de entrada. Cuando se generan bins para los cuadrados, el número y las unidades especificados determinan la altura y la longitud del cuadrado. Para los hexágonos, son el número y las unidades especificados los que determinan la distancia entre los lados paralelos. | Linear Unit |
weight | Especifica la ponderación que se debe aplicar a la función de densidad.
| String |
neighborhood_size | El radio de búsqueda que se debe aplicar a los cálculos de densidad. | Linear Unit |
fields [fields,...] (Opcional) | Uno o varios campos que denotan los valores de población para cada entidad. El campo de población es el recuento o la cantidad que se expandirá a lo largo del paisaje para crear una superficie continua. Los valores del campo de población deben ser numéricos. De manera predeterminada, siempre se calculará la densidad del recuento de puntos de entrada. | Field |
area_unit_scale_factor (Opcional) | Especifica las unidades de área de los valores de densidad de salida. La unidad predeterminada se basa en las unidades de la referencia espacial de salida.
| String |
time_step_interval (Opcional) | Un valor que especifica la duración del periodo de tiempo. Este parámetro solo está disponible si los puntos de entrada tienen el tiempo habilitado y representan un instante en el tiempo. Los periodos de tiempo solo se pueden aplicar si el tiempo está habilitado en la entrada. | Time Unit |
time_step_repeat (Opcional) | Un valor que especifica la frecuencia con la que se produce el intervalo del periodo de tiempo. Este parámetro solo está disponible si los puntos de entrada tienen el tiempo habilitado y representan un instante en el tiempo. | Time Unit |
time_step_reference (Opcional) | Una fecha que especifica el tiempo de referencia con el que se alinearán los períodos de tiempo. El valor predeterminado es el 1 de enero de 1970 a las 12:00 AM. Este parámetro solo está disponible si los puntos de entrada tienen el tiempo habilitado y representan un instante en el tiempo. | Date |
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 el SPATIOTEMPORAL_DATA_STORE se almacenarán en WGS84. Los resultados almacenados en un RELATIONAL_DATA_STORE mantendrán su sistema de coordenadas.
| String |
Salida derivada
Nombre | Explicación | Tipo de datos |
output | El área de magnitud por unidad desde entidades de puntos que se encuentran dentro de una vecindad alrededor de cada celda. | Conjunto de entidades |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la herramienta CalculateDensity.
#-------------------------------------------------------------------------------
# Name: Calculate Density.py
# Description: Calculate density using the count of points as well as the severity
# value of outbreaks by week.
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
# This example used a big data file share name "HealthInfo" with dataset
# "Outbreaks" registered on a GeoAnalytics server
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_HealthInfo/BigDataCatalogServer/Outbreaks"
# By default, the count of points will be used in addition to any other fields
# that are specified
fields = "Severity"
# Set the size of bins and neighborhood and the time step size
binSize = "1 Kilometers"
neighborhoodSize = "2 Kilometers"
timeStepInterval = "1 Weeks"
# Specify output info
outFS = "OutbreakDenisty"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Calculate Density
arcpy.geoanalytics.CalculateDensity(inFeatures, outFS, 'HEXAGON', binSize,
'UNIFORM', neighborhoodSize, fields,
'SQUARE_KILOMETERS', timeStepInterval, None,
None, dataStore)
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