Densité du noyau spatio-temporel (ArcGIS Spatial Analyst)

Synthèse

Étend les calculs de densité du noyau de l’analyse de la position relative et de la magnitude des entités en entrée pour inclure d’autres dimensions, comme le temps et la profondeur (élévation). La sortie obtenue identifie la zone de magnitude par unité à l’aide des fonctions de noyau pour ajuster une surface effilée régulière à chaque point en entrée.

Utilisation

  • Vous devez indiquer une valeur pour le paramètre Champ d’élévation (elevation_field dans Python) ou le paramètre Champ temporel (time_field dans Python), ou les deux. Même si l’outil indique initialement que les deux paramètres sont obligatoires, une fois que vous renseignez une valeur pour l’un d’entre eux, l’autre devient facultatif.

    Les fonctions de noyau sont définies selon les valeurs de paramètres fournies. Lorsque la valeur du paramètre Champ d’élévation est indiquée, le noyau est étendu dans la direction de l’axe (z). Lorsque la valeur du paramètre Champ temporel est spécifiée, le noyau est étendu le long de l’axe temporel (t). Lorsque les deux valeurs sont fournies, les noyaux sont étendus le long de l’axe z et de l’axe t.

    Si une seule de ces valeurs est spécifiée, la sortie est un raster tridimensionnel. Si les deux valeurs de paramètres sont indiquées, la sortie est un raster à quatre dimensions.

  • Les résultats générés par des valeurs très faibles ou très élevées du paramètre 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 fournir un rayon de recherche personnalisé.

  • Le paramètre Taille de cellule (cell_size dans Python) peut être défini par une valeur numérique ou obtenu à partir d’un jeu de données raster existant. Si la taille de cellule n’a pas été fournie comme valeur du paramètre, elle est dérivée de l’environnement 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 Raster de capture est défini, la taille de cellule du raster de capture est utilisée. Si aucun élément n’est spécifié, la taille de cellule est calculée d’après la valeur la plus faible entre la largeur et la hauteur de l’étendue spécifiée dans le système de coordonnées en sortie 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 la même que la référence spatiale en sortie. Si la référence spatiale du jeu de données est différente de la référence spatiale en sortie, elle sera projetée en fonction de la valeur Cell Size Projection Method (Méthode de projection de la taille de cellule) spécifiée.

  • Le paramètre Valeurs obtenues (resultant_values dans Python) indique ce qui est représenté par les valeurs raster en sortie. Si Densités (DENSITIES dans Python) est spécifié, les valeurs représentent la valeur de densité du noyau par zone unitaire pour chaque cellule. Si Volumes attendus (EXPECTED_COUNTS dans Python) est indiqué, les valeurs représentent la densité du noyau par zone de cellule.

  • L’option Planaire du paramètre Méthode (method dans Python) convient si l’analyse doit être effectuée à une échelle locale avec une projection qui garantit avec précision le maintien des distances et surfaces correctes. L’option Géodésique convient si l’analyse doit être effectué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.

  • Seuls les points situés dans le voisinage sont pris en compte lors du calcul de la densité. Si aucun point ne se situe dans le voisinage d’une cellule particulière, la valeur NoData est attribuée à cette dernière.

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

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

  • Bibliographie :

    Hu, Y., Wang, F., Guin, C., & Zhu, H. (2018). "A spatio-temporal kernel density estimation framework for predictive crime hotspot mapping and evaluation." Applied geography, 99, 89-97.

    Nakaya, T., & Yano, K. (2010). Visualising crime clusters in a space‐time cube: An exploratory data analysis approach using space time kernel density estimation and scan statistics. Transactions in GIS, 14(3), 223-239.

    Silverman, B. W. Density Estimation for Statistics and Data Analysis. New York: Chapman and Hall, 1986.

Paramètres

ÉtiquetteExplicationType de données
Entités ponctuelles en entrée

Entités ponctuelles en entrée pour lesquelles la densité est calculée.

Feature Layer
Population Field

Champ indiquant les valeurs de population pour chaque entité. La population représente le total ou la quantité à répartir sur tout le paysage pour la création d’une surface continue.

Le champ Population peut contenir des valeurs entières ou à virgule flottante.

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

Field
Champ d’élévation
(Facultatif)

Champ indiquant les valeurs d’élévation pour chaque entité.

Le champ d’élévation peut contenir des valeurs entières ou à virgule flottante.

Utilisez Vide pour prendre en charge la densité de noyau 3D avec une dimension temporelle.

Dans le cas d’entités 3D, un pseudo-champ, Shape.Z, est ajouté à la liste des champs.

Field
Unité du champ d’élévation
(Facultatif)

Unité de mesure utilisée pour la valeur du champ d’élévation en entrée. Par défaut, les mètres sont utilisés.

Indiquez l’unité appropriée pour représenter les valeurs du paramètre Champ d’élévation.

  • PouceLes pouces sont utilisés.
  • PiedLes pieds sont utilisés.
  • YardLes yards sont utilisés.
  • Mile (États-Unis)Les miles américains sont utilisés.
  • Mille nautiqueLes milles nautiques sont utilisés.
  • MillimètreLes millimètres sont utilisés.
  • CentimètreLes centimètres sont utilisés.
  • MètreLes mètres sont utilisés.
  • KilomètresLes kilomètres sont utilisés.
  • DécimètreLes décimètres sont utilisés.
String
Champ temporel
(Facultatif)

Champ indiquant les valeurs temporelles pour chaque entité.

Field
Taille de cellule
(Facultatif)

Taille de cellule du raster multidimensionnel en sortie créé.

Cette valeur peut être définie par une valeur numérique ou obtenue à partir d’un jeu de données raster existant. Si la taille de cellule n’est pas fournie en tant que valeur de paramètre, la valeur de la taille de cellule de l’environnement est utilisée dans la mesure où elle est définie. Dans le cas contraire, des règles supplémentaires permettent de la calculer à partir d’autres données en entrée. Pour plus de détails, reportez-vous à la rubrique sur l’utilisation des outils.

Analysis Cell Size
Rayon de recherche (x et y)
(Facultatif)

Rayon de recherche sur le plan x,y dans lequel la densité est calculée.

Définissez les unités à employer. Par exemple, pour inclure toutes les entités d’un voisinage d’un mile lorsque les unités utilisées sont les mètres, définissez le rayon de recherche sur 1609,344 (1 mile = 1609,344 mètres).

Linear Unit
Rayon de recherche (z)
(Facultatif)

Distance de recherche verticale dans la direction z au sein de laquelle la densité est calculée. Cette distance verticale est utilisée pour rechercher les entités vers le haut et vers le bas le long de l’axe z.

Définissez les unités à employer.

Linear Unit
Fenêtre horaire de recherche (t)
(Facultatif)

Plage horaire de recherche au sein de laquelle la densité est calculée.

Définissez les unités à employer.

Time Unit
Valeurs obtenues
(Facultatif)

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

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

  • DensitésLes 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.
  • Volumes attendusLes valeurs en sortie représentent la valeur de densité calculée par zone de cellule.
String
Méthode
(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.

  • PlanaireLa distance planaire entre les entités est utilisée. Il s’agit de l’option par défaut.
  • GéodésiqueLa distance géodésique entre les entités est utilisée.
String
Élévation minimale
(Facultatif)

Élévation de début utilisée pour le raster multidimensionnel en sortie.

Double
Élévation maximale
(Facultatif)

Élévation de fin utilisée pour le raster multidimensionnel en sortie.

Double
Intervalle d’élévation
(Facultatif)

Intervalle d’élévation entre les tranches du raster multidimensionnel en sortie.

Double
Unité d’élévation
(Facultatif)

Spécifie l’unité de l’intervalle d’élévation utilisée pour le raster multidimensionnel en sortie. Le mètre est la valeur par défaut.

  • PouceLes pouces sont utilisés.
  • PiedLes pieds sont utilisés.
  • YardLes yards sont utilisés.
  • Mile (États-Unis)Les miles américains sont utilisés.
  • Mille nautiqueLes milles nautiques sont utilisés.
  • MillimètreLes millimètres sont utilisés.
  • CentimètreLes centimètres sont utilisés.
  • MètreLes mètres sont utilisés.
  • KilomètresLes kilomètres sont utilisés.
  • DécimètreLes décimètres sont utilisés.
String
Heure de début
(Facultatif)

Heure de début utilisée pour le raster multidimensionnel en sortie.

Date
Heure de fin
(Facultatif)

Heure de fin utilisée pour le raster multidimensionnel en sortie.

Date
Intervalle temporel
(Facultatif)

Intervalle temporel entre les tranches du raster multidimensionnel en sortie.

Double
Unité de l’intervalle temporel
(Facultatif)

Spécifie l’unité de l’intervalle temporel utilisée pour le raster multidimensionnel en sortie. Le jour est utilisé par défaut.

  • SecondeL’unité de l’intervalle temporel est définie en secondes.
  • MinuteL’unité de l’intervalle temporel est définie en minutes.
  • HeureL’unité de l’intervalle temporel est définie en heures.
  • JourL’unité de l’intervalle temporel est définie en jours.
  • SemaineL’unité de l’intervalle temporel est définie en semaines.
String

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Jeu de données raster multidimensionnel de densité du noyau en sortie au format Cloud Raster Format (.crf). Actuellement, aucun autre format en sortie n’est pris en charge.

Il s'agit toujours d'un raster à virgule flottante.

Raster

SpaceTimeKernelDensity(in_features, population_field, {elevation_field}, {elevation_field_unit}, {time_field}, {cell_size}, {kernel_search_radius_xy}, {kernel_search_radius_z}, {kernel_search_time_window}, {resultant_values}, {method}, {min_elevation}, {max_elevation}, {elevation_interval}, {elevation_unit}, {start_time}, {end_time}, {time_interval}, {time_interval_unit})
NomExplicationType de données
in_features

Entités ponctuelles en entrée pour lesquelles la densité est calculée.

Feature Layer
population_field

Champ indiquant les valeurs de population pour chaque entité. La population représente le total ou la quantité à répartir sur tout le paysage pour la création d’une surface continue.

Le champ Population peut contenir des valeurs entières ou à virgule flottante.

Utilisez '' si aucun élément ou valeur spéciale n’est utilisé et que chaque entité est comptée une seule fois.

Field
elevation_field
(Facultatif)

Champ indiquant les valeurs d’élévation pour chaque entité.

Le champ d’élévation peut contenir des valeurs entières ou à virgule flottante.

Utilisez '' pour prendre en charge la densité de noyau 3D avec une dimension temporelle.

Dans le cas d’entités 3D, un pseudo-champ, Shape.Z, est ajouté à la liste des champs.

Field
elevation_field_unit
(Facultatif)

Unité de mesure utilisée pour la valeur du champ d’élévation en entrée. Par défaut, les mètres sont utilisés.

Indiquez l’unité appropriée pour représenter les valeurs du paramètre elevation_field.

  • INCHLes pouces sont utilisés.
  • FOOTLes pieds sont utilisés.
  • YARDLes yards sont utilisés.
  • MILE_USLes miles américains sont utilisés.
  • NAUTICAL_MILELes milles nautiques sont utilisés.
  • MILLIMETERLes millimètres sont utilisés.
  • CENTIMETERLes centimètres sont utilisés.
  • METERLes mètres sont utilisés.
  • KILOMETERLes kilomètres sont utilisés.
  • DECIMETERLes décimètres sont utilisés.
String
time_field
(Facultatif)

Champ indiquant les valeurs temporelles pour chaque entité.

Field
cell_size
(Facultatif)

Taille de cellule du raster multidimensionnel en sortie créé.

Cette valeur peut être définie par une valeur numérique ou obtenue à partir d’un jeu de données raster existant. Si la taille de cellule n’est pas fournie en tant que valeur de paramètre, la valeur de la taille de cellule de l’environnement est utilisée dans la mesure où elle est définie. Dans le cas contraire, des règles supplémentaires permettent de la calculer à partir d’autres données en entrée. Pour plus de détails, reportez-vous à la rubrique sur l’utilisation des outils.

Analysis Cell Size
kernel_search_radius_xy
(Facultatif)

Rayon de recherche sur le plan x,y dans lequel la densité est calculée.

Définissez les unités à employer. Par exemple, pour inclure toutes les entités d’un voisinage d’un mile lorsque les unités utilisées sont les mètres, définissez le rayon de recherche sur 1609,344 (1 mile = 1609,344 mètres).

Linear Unit
kernel_search_radius_z
(Facultatif)

Distance de recherche verticale dans la direction z au sein de laquelle la densité est calculée. Cette distance verticale est utilisée pour rechercher les entités vers le haut et vers le bas le long de l’axe z.

Définissez les unités à employer.

Linear Unit
kernel_search_time_window
(Facultatif)

Plage horaire de recherche au sein de laquelle la densité est calculée.

Définissez les unités à employer.

Time Unit
resultant_values
(Facultatif)

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

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

  • 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.
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.
String
min_elevation
(Facultatif)

Élévation de début utilisée pour le raster multidimensionnel en sortie.

Double
max_elevation
(Facultatif)

Élévation de fin utilisée pour le raster multidimensionnel en sortie.

Double
elevation_interval
(Facultatif)

Intervalle d’élévation entre les tranches du raster multidimensionnel en sortie.

Double
elevation_unit
(Facultatif)

Spécifie l’unité de l’intervalle d’élévation utilisée pour le raster multidimensionnel en sortie. Le mètre est la valeur par défaut.

  • INCHLes pouces sont utilisés.
  • FOOTLes pieds sont utilisés.
  • YARDLes yards sont utilisés.
  • MILE_USLes miles américains sont utilisés.
  • NAUTICAL_MILELes milles nautiques sont utilisés.
  • MILLIMETERLes millimètres sont utilisés.
  • CENTIMETERLes centimètres sont utilisés.
  • METERLes mètres sont utilisés.
  • KILOMETERLes kilomètres sont utilisés.
  • DECIMETERLes décimètres sont utilisés.
String
start_time
(Facultatif)

Heure de début utilisée pour le raster multidimensionnel en sortie.

Date
end_time
(Facultatif)

Heure de fin utilisée pour le raster multidimensionnel en sortie.

Date
time_interval
(Facultatif)

Intervalle temporel entre les tranches du raster multidimensionnel en sortie.

Double
time_interval_unit
(Facultatif)

Spécifie l’unité de l’intervalle temporel utilisée pour le raster multidimensionnel en sortie. Le jour est utilisé par défaut.

  • SECONDL’unité de l’intervalle temporel est définie en secondes.
  • MINUTEL’unité de l’intervalle temporel est définie en minutes.
  • HOURL’unité de l’intervalle temporel est définie en heures.
  • DAYL’unité de l’intervalle temporel est définie en jours.
  • WEEKL’unité de l’intervalle temporel est définie en semaines.
String

Valeur renvoyée

NomExplicationType de données
out_raster

Jeu de données raster multidimensionnel de densité du noyau en sortie au format Cloud Raster Format (.crf). Actuellement, aucun autre format en sortie n’est pris en charge.

Il s'agit toujours d'un raster à virgule flottante.

Raster

Exemple de code

Exemple 1 d’utilisation de l’outil SpaceTimeKernelDensity (fenêtre Python)

Cet exemple calcule une densité de noyau temporel lissée à partir d’un shapefile.

from arcpy import env  
from arcpy.sa import * 

env.workspace = "C:/sapyexamples/data" 
STKD_out_raster = SpaceTimeKernelDensity("WOD_subset.shp", "Salinity", "Z", "Meter",
                                         "Time", "0.001", resultant_values="Densities",
                                         method="Planar", elevation_unit="Meter")  

STKD_out_raster.save("C:/sapyexamples/output/STKD_out.crf")
Exemple 2 d’utilisation de l’outil SpaceTimeKernelDensity (script autonome)

Cet exemple calcule une densité de noyau temporel lissée à partir d’un jeu de données multidimensionnel.

## Name: SpaceTimeKernelDensity_Ex_standalone.py  
## Description: Calculate spatial temporal salinity concentration using a multidimensional dataset 
## Requirements: Spatial Analyst Extension 
 
## Import system modules 
import arcpy  
from arcpy import env   
from arcpy.sa import *

## Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
 
## Set environment settings 
env.workspace = r" C:\STKD_Test"
# To allow overwriting outputs change overwriteOutput option to True. 
env.overwriteOutput = False 
  
## Set local variables 
in_features = "WOD_subset"  
Population_Field = "Salinity"  
Elevation_Field = "Z"  
Elevation_Field_Unit = "Meter"  
Time_Field = "Time"  
Cell_Size = "30"  
Resultant_values = "Densities"  
Method = "Planar" 
Elevation_Unit = "Meter"  
  
## Execute: Space Time Kernel Density  
STKD_out_raster = SpaceTimeKernelDensity(in_features, Population_Field,   
                                Elevation_Field, Elevation_Field_Unit,   
                                Time_Field, Cell_Size,   
                                resultant_values=Resultant_values,   
                                method=Method, 
                                elevation_unit=Elevation_Unit) 
  
## Save the output 
STKD_out_raster.save("STKD_test.crf")