Densité de noyau (Spatial Analyst)
Récapitulatif
Calcule une grandeur par unité de carte à partir d'entités ponctuelles ou polylinéaires à 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.
-
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).
Dans ArcGIS 10.2.1, 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.
Les résultats produits par des valeurs très faibles ou très élevées dans le champ 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 vous-même un rayon de recherche.
Syntaxe
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 Population représente le total ou la quantité à répartir sur tout le paysage afin de 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) | Taille de cellule pour le jeu de données raster en sortie. Il s'agit de la valeur contenue dans l'environnement, si spécifiquement définie. Si l'environnement n'est pas défini, la taille de cellule est la valeur la plus faible entre la largeur et la hauteur de l'étendue en sortie dans la référence spatiale en sortie, divisée par 250. | 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 1609,344 (1 mile = 1609,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 sur les conseils d'utilisation ci-dessus 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 projection 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. Par exemple, si vos unités en entrée sont des mètres, les unités de densité de la surface en sortie par défaut seront des kilomètres carrés pour les entités ponctuelles ou des kilomètres par kilomètre carré pour les entités polylignes. Les unités de densité par défaut basées sur les unités d'entité en entrée sont les suivantes :
| 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
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")
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")