Disponible con una licencia de Spatial Analyst.
Resumen
Calcula una magnitud por unidad de área a partir de entidades de punto o polilínea mediante una función kernel para adaptar una superficie suavemente estrechada a cada punto o polilínea.
Ilustración
Uso
Los valores más grandes del parámetro del radio de búsqueda producen un ráster de densidad más generalizado y más suave. Los valores inferiores producen un ráster que muestra más detalles.
Sólo los puntos o las partes de una línea que caen dentro de la vecindad se consideran para calcular la densidad. Si no cae ningún punto o sección de línea dentro de la vecindad de una celda en particular, se asigna NoData a esa celda.
Si las unidades del factor de escala de la unidad de área son pequeñas en relación con las entidades (distancia entre los puntos o longitud de secciones de línea según el tipo de entidad), los valores de salida pueden ser pequeños. Para obtener valores más elevados seleccione el factor de escala de unidades para las unidades más elevadas (por ejemplo, kilómetros cuadrados frente a metros cuadrados).
A partir de ArcGIS 10.2.1, el radio de búsqueda predeterminado (ancho de banda) se calcula basándose en la configuración espacial y en el número de puntos de entrada. Este enfoque corrige la presencia de valores espaciales atípicos (puntos de entrada que están muy alejados del resto) de tal modo que estos puntos no generen un radio de búsqueda demasiado grande para ser razonable.
Valores muy grandes o muy pequeños en el campo Population pueden dar lugar a resultados que pueden parecer poco intuitivos. Si la media del campo de población es mucho mayor que 1 (por ejemplo, como sucede con las poblaciones en las ciudades), el radio predeterminado de búsqueda puede ser muy pequeño, lo cual generaría pequeños anillos alrededor de los puntos de entrada. Si la media del campo de población es mucho menor que 1, el ancho de banda calculado puede ser demasiado grande para ser razonable. En estos casos, tal vez desee introducir su propio radio de búsqueda.
Los cálculos de densidad dependen de la precisión en los cálculos de las distancias y las áreas. En la mayoría de los casos, se recomienda utilizar el método GEODESIC. El método PLANAR puede resultar adecuado si el análisis se va a realizar en un área local con una proyección que mantiene de forma precisa la distancia y el área correctas. Consulte Más información sobre los sistemas de coordenadas geográficas y proyectadas para determinar las proyecciones adecuadas.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.
Sintaxis
KernelDensity (in_features, population_field, {cell_size}, {search_radius}, {area_unit_scale_factor}, {out_cell_values}, {method})
Parámetro | Explicación | Tipo de datos |
in_features | Las entidades de entrada (punto o línea) para las que se calculará la densidad. | Feature Layer |
population_field | Campo que denota 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 pueden ser enteros o de punto flotante. A continuación se enumeran las opciones y los comportamientos predeterminados para los campos.
| Field |
cell_size (Opcional) | El tamaño de celda para el dataset ráster de salida. Este es el valor del entorno si se lo establece específicamente. Si el entorno no se establece, entonces el tamaÅ„o de celda es menor que el ancho o la altura de la extensión de la salida en la referencia espacial de la salida, dividido entre 250. | Analysis Cell Size |
search_radius (Opcional) | El radio de búsqueda dentro del cual se calcula la densidad. Las unidades están basadas en la unidad lineal de la proyección de la referencia espacial de salida. Por ejemplo, si las unidades están expresadas en metros, para incluir todas las entidades dentro de una vecindad de una milla, establezca el radio de búsqueda en 1.609,344 (1 milla = 1.609,344 metros). El radio de búsqueda predeterminado (ancho de banda) se calcula específicamente para el dataset de entrada utilizando una variante espacial de la Regla general de Silverman que es sólida para los valores atípicos espaciales (es decir, los puntos están muy alejados de todos los demás). Consulte la descripción del algoritmo en las sugerencias de uso más arriba. | Double |
area_unit_scale_factor (Opcional) | Las unidades de área deseadas de los valores de densidad de salida. Una unidad predeterminada se selecciona según la unidad lineal de la referencia espacial de salida. Puede cambiarla a la unidad adecuada si desea convertir la salida de densidad. Los valores de la densidad de línea convierten las unidades de longitud y área. Si no se especifica ninguna referencia espacial de salida, esta será la misma que la clase de entidad de entrada. Las unidades de densidad de salida predeterminadas se determinan mediante las unidades lineales de la referencia espacial de salida, tal y como se indica a continuación. Si las unidades lineales de salida están expresadas en metros, las unidades de densidad de área de salida se establecerán en SQUARE_KILOMETERS para las entidades de punto o en kilómetros por kilómetros cuadrados para las entidades de polilínea. Si las unidades lineales de salida están expresadas en pies, las unidades de densidad de área de salida se establecerán en SQUARE_MILES. Si las unidades de salida están expresadas en otra unidad distinta de pies o metros, las unidades de densidad de área de salida se establecerán en SQUARE_MAP_UNITS. Esto significa que las unidades de densidad de salida corresponderán a la parte cuadrada de las unidades lineales de la referencia espacial de salida. Por ejemplo, si las unidades lineales de salida están expresadas en centímetros, las unidades de densidad de área de salida serán SQUARE_MAP_UNITS, lo que daría como resultado centímetros cuadrados. Si las unidades lineales de salida están expresadas en kilómetros, las unidades de densidad de área de salida serán SQUARE_MAP_UNITS, lo que daría como resultado kilómetros cuadrados. A continuación se indican las opciones disponibles y las unidades de densidad de salida correspondientes:
| String |
out_cell_values (Opcional) | Determina qué representan los valores del ráster de salida.
| String |
method (Opcional) | Determina si se utiliza una ruta más corta en un método esferoide (geodesic) o una tierra plana (planar). Se sugiere encarecidamente utilizar el método geodésico con datos almacenados en un sistema de coordenadas que no sea adecuado para las mediciones de distancias (por ejemplo, Web Mercator o cualquier sistema de coordenadas geográficas) y cualquier análisis que abarque una extensa área geográfica.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster | El ráster de densidad kernel de salida. Siempre es un ráster de punto flotante. | Raster |
Ejemplo de código
Ejemplo 1 de KernelDensity (ventana de Python)
En este ejemplo se calcula un ráster de densidad suavizada a partir de un shapefile de puntos.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outKDens = KernelDensity("rec_sites.shp", "NONE", 45, 1200, "SQUARE_KILOMETERS")
outKDens.save("C:/sapyexamples/output/kdensout")
Ejemplo 2 de KernelDensity (secuencia de comandos independiente)
En este ejemplo se calcula un ráster de densidad suavizada a partir de un shapefile de puntos.
# Name: KernelDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from point or polyline
# features using a kernel function to fit a smoothly tapered
# surface to each point or polyline.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inFeatures = "rec_sites.shp"
populationField = "NONE"
cellSize = 60
searchRadius = 2500
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute KernelDensity
outKernelDensity = KernelDensity(inFeatures, populationField, cellSize,
searchRadius, "SQUARE_KILOMETERS")
# Save the output
outKernelDensity.save("C:/sapyexamples/output/kerneldout")
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere Spatial Analyst
- ArcGIS for Desktop Standard: Requiere Spatial Analyst
- ArcGIS for Desktop Advanced: Requiere Spatial Analyst