Disponible avec une licence Spatial Analyst.
Résumé
Calcule une grandeur par unité de carte à partir d'entités ponctuelles ou polylignes à l'aide d'une fonction de noyau pour ajuster une surface régulièrement effilée à chaque point ou polyligne.
Pour en savoir plus sur le fonctionnement de l'outil Densité de noyau
Illustration
Utilisation
Des valeurs élevées au niveau du paramètre du rayon de recherche produisent un raster de densité plus généralisé et plus lisse. Des valeurs basses produisent un raster offrant davantage de détails.
Seuls les points ou portions d'une ligne situés dans le voisinage sont pris en compte lors des calculs de densité. Si aucun point ou section de ligne n'est situé dans le voisinage d'une cellule particulière, la valeur NoData est attribuée à cette dernière.
Les résultats produits par des valeurs très faibles ou très élevées dans le Population field (Champ de population) peuvent sembler peu intuitifs. Si la moyenne du champ de population est bien supérieure à 1 (comme c'est le cas des populations urbaines, par exemple), le rayon de recherche par défaut risque d'être très limité, ce qui risque de produire des anneaux de petite taille autour des points en entrée. Si la moyenne du champ de population est bien inférieure à 1, la bande passante calculée risque de paraître démesurément élevée. Dans ces cas, vous souhaiterez sans doute indiquer votre propre rayon de recherche.
La taille de cellule en sortie (champ Output cell size) peut être définie par une valeur numérique ou obtenue à partir d’un jeu de données raster. Si la taille de cellule n’a pas été spécifiée de manière explicite comme étant la valeur du paramètre, elle est dérivée de l’environnement Cell Size (Taille de cellule) si celui-ci a été spécifié. Lorsque ni le paramètre ni l’environnement de taille de cellule n’a été spécifié, mais que l’environnement Snap Raster (Raster de capture) est défini, c’est la taille de cellule du raster de capture qui est utilisée. Si aucun élément n’est spécifié, la taille de cellule est calculée d’après la largeur ou la hauteur la plus petite (selon celle qui est la plus petite des deux) de l’étendue spécifiée dans le système de coordonnées en sortie (option Output Coordinate System) de l’environnement de géotraitement, divisée par 250.
Si la taille de cellule est spécifiée à l’aide d’une valeur numérique, l’outil l’utilise directement pour le raster en sortie.
Si la taille de cellule est spécifiée à l’aide d’un jeu de données raster, le paramètre affiche le chemin du jeu de données raster au lieu de la valeur de la taille de cellule. La taille de cellule de ce jeu de données raster sera utilisée directement dans l’analyse, à condition que la référence spatiale du jeu de données soit identique à la référence spatiale en sortie. Si la référence spatiale du jeu de données diffère de la référence spatiale en sortie, elle sera projetée d’après la valeur du champ Cell Size Projection Method (Méthode de projection de la taille de cellule).
Avec ArcGIS 10.2.1 et les versions ultérieures, le rayon de recherche par défaut (bande passante) est calculé en fonction de la configuration spatiale et du nombre de points en entrée. Cette approche permet de corriger les points spatiaux aberrants (points en entrée très éloignés des autres) pour qu'ils n'agrandissent pas démesurément le rayon de recherche.
Si les unités du facteur d'échelle d'unité de surface sont petites par rapport aux entités (distance entre les points ou longueur des sections de lignes, selon le type d'entités), les valeurs en sortie peuvent être petites. Pour obtenir des valeurs plus grandes, sélectionnez le facteur d'échelle d'unité de surface correspondant à des unités plus grandes (par exemple, kilomètres carrés contre mètres carrés).
Les calculs de densité dépendent des calculs précis de la distance et de la surface. Dans la plupart des cas, nous recommandons l'utilisation de la méthode GEODESIC. La méthode PLANAR peut convenir si l'analyse est exécutée sur une surface locale avec une projection qui garantit avec précision le maintien de distances et de surfaces correctes. Reportez-vous à la rubrique Pour en savoir plus sur les systèmes de coordonnées géographiques et projetées pour déterminer les projections appropriées.
Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.
Syntaxe
KernelDensity(in_features, population_field, {cell_size}, {search_radius}, {area_unit_scale_factor}, {out_cell_values}, {method})
Paramètre | Explication | Type de données |
in_features | Entités en entrée (point ou ligne) pour lesquelles calculer la densité. | Feature Layer |
population_field | Champ indiquant les valeurs de population pour chaque entité. Le champ de population représente le total ou la quantité à répartir sur tout le paysage pour créer une surface continue. Le champ Population peut contenir des valeurs entières ou à virgule flottante. Les options et les comportements par défaut pour le champ sont répertoriés ci-dessous.
| Field |
cell_size (Facultatif) | La taille de cellule du jeu de données raster en sortie sera créée. Ce paramètre peut être défini par une valeur numérique ou obtenu à partir d’un jeu de données raster. Si la taille de cellule n’est pas explicitement spécifiée en tant que valeur de paramètre, la valeur de la taille de cellule de l’environnement sera utilisée dans la mesure où elle est définie. Dans le cas contraire, le calcul fera appel à des règles supplémentaires pour la déterminer à partir d’autres données en entrée. Pour en savoir plus, reportez-vous à l’utilisation. | Analysis Cell Size |
search_radius (Facultatif) | Rayon de recherche dans lequel le calcul de la densité est effectué. Les unités sont basées sur l'unité linéaire de la projection de la référence spatiale en sortie. Par exemple, si les unités sont exprimées en mètres et que vous voulez inclure toutes les entités dans un voisinage d'un mile, définissez le rayon de recherche sur 1 609,344 (1 mile = 1 609,344 mètres). Le rayon de recherche par défaut (bande passante) est calculé spécifiquement sur le jeu de données en entrée à l'aide d'une variante spatiale de la règle générale de Silverman qui ne tient pas compte des points spatiaux aberrants (points qui sont éloignés des autres points). Consultez la section précédente sur les conseils d'utilisation pour obtenir une description de l'algorithme. | Double |
area_unit_scale_factor (Facultatif) | Unités de surface souhaitées pour les valeurs de densité en sortie. Une unité par défaut est sélectionnée en fonction de l'unité linéaire de la référence spatiale en sortie. Vous pouvez la remplacer par l'unité appropriée si vous souhaitez convertir la densité en sortie. Les valeurs de densité de lignes convertissent les unités de longueur et de surface. Si aucune référence spatiale en sortie n'est spécifiée, la référence spatiale en sortie sera identique à la classe d'entités en entrée. Les unités de densité en sortie par défaut sont déterminées par les unités linéaires de la référence spatiale en sortie, comme suit. Si les unités linéaires en sortie sont en mètres, les unités de densité de la surface en sortie sont définies sur SQUARE_KILOMETERS. Il en résulte, en sortie, des kilomètres carrés pour les entités ponctuelles ou des kilomètres par kilomètres carrés pour les entités polylignes. Si les unités linéaires en sortie sont des pieds, les unités de densité de la surface en sortie seront définies sur SQUARE_MILES. Si les unités en sortie ne sont ni des pieds ni des mètres, les unités de densité de la surface en sortie seront définies sur SQUARE_MAP_UNITS. Ainsi, les unités de densité en sortie représenteront le carré des unités linéaires de la référence spatiale en sortie. Par exemple, si les unités linéaires en sortie sont des centimètres, les unités de densité de la surface en sortie seront SQUARE_MAP_UNITS qui se traduiront par des centimètres carrés. Si les unités linéaires en sortie sont des kilomètres, les unités de densité de la surface en sortie seront SQUARE_MAP_UNITS qui se traduiront par des kilomètres carrés. Les options disponibles et leurs unités de densité en sortie correspondantes sont les suivantes :
| String |
out_cell_values (Facultatif) |
Détermine ce que les valeurs du raster en sortie représentent.
| String |
method (Facultatif) | Détermine s'il convient d'utiliser un plus court chemin sur une sphéroïde (géodésique) ou une méthode de terre plate (plane). Il est fortement conseillé d'utiliser la méthode géodésique avec des données stockées dans un système de coordonnées inadapté aux mesures de distance (par exemple, Web Mercator ou tout système de coordonnées géographiques) et une analyse couvrant une zone géographique étendue.
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster | Raster de densité de noyau en sortie. Il s'agit toujours d'un raster à virgule flottante. | Raster |
Exemple de code
1er exemple d'utilisation de l'outil KernelDensity (fenêtre Python)
Cet exemple calcule un raster de densité lissé à partir d'un fichier de formes ponctuelles.
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")
2e exemple d'utilisation de l'outil KernelDensity (script autonome)
Cet exemple calcule un raster de densité lissé à partir d'un fichier de formes ponctuelles.
# 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")
Environnements
Informations de licence
- Basic: Requiert Spatial Analyst
- Standard: Requiert Spatial Analyst
- Advanced: Requiert Spatial Analyst