Densité de noyau (Spatial Analyst)

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. Une interruption peut être utilisée pour modifier l’influence d’une entité lors du calcul de la densité de noyau.

Pour en savoir plus sur le fonctionnement de l'outil Densité de noyau

Illustration

Illustration de la densité de noyau
OutRas = KernelDensity(InPts, None, 30)

Utilisation

  • Des valeurs élevées au niveau du paramètre Search radius (Rayon de recherche) (search_radius dans Python) 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 paramètre Population field (Champ de population) (population_field dans Python) peuvent sembler non 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, le rayon de recherche calculé risque de paraître démesurément élevée. Dans ces cas, vous pouvez 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 de 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, 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).

  • Le rayon de recherche par défaut 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).

  • Pour les formats de données prenant en charge les valeurs nulles (par exemple, les classes d’entités de géodatabase fichier), une valeur nulle est ignorée lorsqu’elle est utilisée comme entrée.

  • Le paramètre Output cell values (Valeurs des cellules en sortie) (out_cell_values dans Python) spécifie ce que représentent les valeurs du raster en sortie. Si la valeur Densities (Densités) est sélectionnée, les valeurs représentent la valeur de densité du noyau par zone unitaire pour chaque cellule. Si la valeur Expected counts (Volumes attendus) est sélectionnée, les valeurs représentent la densité du noyau par zone de cellule. L’équation qui calcule les volumes à partir des valeurs de densité est la suivante : Volume = Densité×Zone.

  • L’option Planar (Planaire) (PLANAR dans Python) du paramètre Method (Méthode) (method dans Python) convient si l’analyse est exécutée à une échelle locale avec une projection qui garantit avec précision le maintien de distances et de surfaces correctes. L’option Geodesic (Géodésique) (GEODESIC dans Python) convient si l’analyse doit être exécutée à une échelle régionale ou étendue (par exemple, à l’aide de Web Mercator ou d’un système de coordonnées géographiques). Cette méthode tient compte de la courbure du sphéroïde et gère correctement les données situées près des pôles et la ligne de changement de jour internationale.

  • 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}, {in_barriers})
ParamètreExplicationType 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.

  • Utilisez Aucun si aucun attribut ni aucune valeur spéciale ne sont utilisés et si chaque entité est comptée une seule fois.

  • Vous pouvez utiliser le champ Shape (Forme) si les entités en entrée contiennent des valeurs z.

  • Sinon, le champ par défaut est POPULATION. Les conditions suivantes peuvent également s’appliquer :

    • En l’absence de champ POPULATION, s’il existe un champ POPULATIONxxxx, celui-ci est utilisé par défaut. Les xxxx peuvent être tout caractère valide, par exemple, POPULATION6, POPULATION1974 et POPULATIONROADTYPE.
    • En l’absence de champ POPULATION ou POPULATIONxxxx, s’il existe un champ POP, celui-ci est utilisé par défaut.
    • En l’absence de champ POPULATION, POPULATIONxxxx ou POP, s’il existe un champ POPxxxx, celui-ci est utilisé par défaut.
    • En l’absence de champ POPULATION, POPULATIONxxxx, POP ou POPxxxx, NONE (AUCUN) est utilisé par défaut.
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, consultez la section relative à 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 les 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 est calculé spécifiquement pour le jeu de données en entrée à l’aide d’une variante spatiale de la règle générale de Silverman (Silverman, 1986), suffisamment robuste pour les points spatiaux aberrants (points qui sont éloignés des autres points). Consultez les conseils d’utilisation pour obtenir une description de l’algorithme.

Double
area_unit_scale_factor
(Facultatif)

Unités de surface des 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 les mètres, les unités de densité de la surface en sortie sont définies sur Square kilometers (Kilomètres carrés). 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 les pieds, les unités de densité de la surface en sortie seront définies sur Square miles (Miles carrés).

Si les unités en sortie ne sont ni les pieds ni les mètres, les unités de densité de la surface en sortie seront définies sur Square map units (Unité de carte au carré). 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 les centimètres, les unités de densité de la surface en sortie seront Square map units (Unité de carte au carré), ce qui se traduira par des centimètres carrés. Si les unités linéaires en sortie sont les kilomètres, les unités de densité de la surface en sortie seront Square map units (Unité de carte au carré), ce qui se traduira par des kilomètres carrés.

Les options disponibles et leurs unités de densité en sortie correspondantes sont les suivantes :

  • SQUARE_MAP_UNITSPour le carré des unités linéaires de la référence spatiale en sortie.
  • SQUARE_MILESPour les miles (U.S.).
  • SQUARE_KILOMETERSPour les kilomètres.
  • ACRESPour les acres (U.S.).
  • HECTARESPour les hectares.
  • SQUARE_YARDSPour les yards (U.S.).
  • SQUARE_FEETPour les pieds (U.S.).
  • SQUARE_INCHESPour les pouces (U.S.).
  • SQUARE_METERSPour les mètres.
  • SQUARE_CENTIMETERSPour les centimètres.
  • SQUARE_MILLIMETERSPour les millimètres.
String
out_cell_values
(Facultatif)

Spécifie ce que les valeurs du raster en sortie représentent.

  • DENSITIESLes valeurs en sortie représentent la valeur de densité calculée par zone unitaire pour chaque cellule. Il s’agit de l’option par défaut.
  • EXPECTED_COUNTSLes valeurs en sortie représentent la valeur de densité calculée par zone de cellule.

Puisque la valeur d’une cellule est liée à la taille de cellule spécifiée, il est impossible de ré-échantillonner le raster résultant sur une autre taille de cellule.

String
method
(Facultatif)

Spécifie si la méthode Terre plate (planaire) ou Chemin le plus court sur une sphéroïde (géodésique) doit être utilisée.

  • PLANARLa distance planaire entre les entités est utilisée. Il s’agit de l’option par défaut.
  • GEODESICLa distance géodésique entre les entités est utilisée.

La méthode géodésique prend en charge uniquement les points comme entités en entrée.

String
in_barriers
(Facultatif)

Jeu de données qui définit les interruptions.

Les interruptions peuvent être une couche d’entités polylignes ou surfaciques.

Feature Layer

Valeur renvoyée

NomExplicationType 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.

from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outKDens = KernelDensity("rec_sites.shp", " ", 45, 1200, "SQUARE_KILOMETERS",
                         " ", "GEODESIC")
outKDens.save("C:/sapyexamples/output/KD_out.tif")
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 the ozone concentration pattern divided by
#              Sierra Nevada Mountain in California
#              based on the point samples using a kernel function to
#              fit a smoothly tapered surface.
# 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 = "ozone_california.shp"
populationField = "OZONE"
cellSize = 60
searchRadius = 2500
inBarriers = "SierraNevada.shp"

# Execute KernelDensity
outKernelDensity = KernelDensity(inFeatures, populationField, cellSize, searchRadius,
                                 "SQUARE_KILOMETERS", "DENSITIES", "PLANAR", inBarriers)

# Save the output 
outKernelDensity.save("C:/sapyexamples/output/KD_ozone_california.tif")

Informations de licence

  • Basic: Requiert Spatial Analyst
  • Standard: Requiert Spatial Analyst
  • Advanced: Requiert Spatial Analyst

Rubriques connexes