Statistiques focales (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

Pour chaque cellule, cet outil permet de calculer l'emplacement d'une statistique dans le voisinage.

Pour en savoir plus sur le fonctionnement de l'outil Statistiques focales

Illustration

Illustration de l'outil Statistiques focales
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,MAP), "SUM", "")

Utilisation

  • Si le raster en entrée est entier, tous les types de statistiques sont disponibles. Si le raster en entrée est à virgule flottante, seules les statistiques Moyenne, Maximum, Médiane, Minimum, Pourcentage, Plage, Ecart type et Somme sont disponibles. Les statistiques Majorité, Minorité et Variété ne sont pas autorisées.

  • Lorsque vous indiquez un voisinage circulaire, en anneau ou en secteur, certaines cellules diagonales extérieures ne sont pas toujours prises en compte dans les calculs. En effet, le centre d’une cellule doit figurer dans le voisinage.

  • Les types de voisinage (Neighborhood) Irrégulier et Pondération nécessitent qu’un fichier de noyau (Kernel file) soit spécifié. Les fichiers de noyau doivent avoir une extension de fichier .txt.

    Pour plus d’informations sur la création et l’utilisation d’un fichier noyau, consultez les sections Irrégulière et Pondération dans la rubrique En savoir plus sur le fonctionnement de l’outil Statistiques focales.

  • Vous pouvez définir le type Neighborhood (Voisinage) sur Weight (Poids) seulement pour les types de statistiques Moyenne, Ecart type ou Somme.

  • Les cellules NoData en entrée peuvent recevoir une valeur dans la sortie si le paramètre Ignore NoData in calculations (Ignorer NoData dans les calculs) est activé, à condition qu’au moins une cellule du voisinage présente une valeur valide.

  • 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

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
ParamètreExplicationType de données
in_raster

Raster sur lequel les statistiques focales pour chaque cellule en entrée sont calculées.

Raster Layer
neighborhood
(Facultatif)

La classe Neighborhood dicte la forme de la zone autour de chaque cellule utilisée pour le calcul des statistiques.

Les types de voisinage pris en charge sont NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, et NbrWeight.

Formes des voisinages :

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})
  • NbrCircle({radius}, {units}
  • NbrRectangle({width}, {height}, {units})
  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})
  • NbrIrregular(inKernelFile)
  • NbrWeight(inKernelFile)

Le voisinage par défaut est un voisinage NbrRectangle carré avec une largeur et une hauteur de trois cellules.

Neighborhood
statistics_type
(Facultatif)

Spécifie le type de statistique à calculer.

  • MEANCalcule la moyenne des cellules du voisinage.
  • MAJORITYCalcule la majorité (valeur la plus fréquente) des cellules du voisinage.
  • MAXIMUMCalcule le maximum (valeur la plus élevée) des cellules du voisinage.
  • MEDIANCalcule la médiane des cellules du voisinage.
  • MINIMUMCalcule le minimum (valeur la plus faible) des cellules du voisinage.
  • MINORITYCalcule la minorité (valeur la moins fréquente) des cellules du voisinage.
  • PERCENTILECalcule un pourcentage des cellules du voisinage. Le 90è centile est calculé par défaut. Vous pouvez spécifier d’autres valeurs (entre 0 et 100) à l’aide du paramètre Percentile value (Valeur de pourcentage).
  • RANGECalcule la plage (différence entre la valeur la plus élevée et la valeur la plus faible) des cellules du voisinage.
  • STDCalcule l'écart type des cellules du voisinage.
  • SUMCalcule la somme (total de toutes les valeurs) des cellules du voisinage.
  • VARIETYCalcule la variété (le nombre de valeurs uniques) des cellules du voisinage.

Le type de statistiques par défaut est Mean (Moyenne).

Si le raster en entrée est entier, tous les types de statistiques sont disponibles. Si le raster en entrée est à virgule flottante, seuls les types de statistiques Mean (Moyenne), Maximum, Median (Médiane), Minimum, Percentile (Pourcentage), Range (Plage), Standard deviation (Écart type) et Sum (Somme) sont disponibles.

String
ignore_nodata
(Facultatif)

Précise si les valeurs NoData sont ignorées par le calcul de statistiques.

  • DATASi une valeur NoData existe dans un voisinage, elle est ignorée. Seules les cellules du voisinage dotées de valeurs de données sont utilisées dans la détermination de la valeur en sortie. Cela signifie que si la cellule de traitement a une valeur NoData, la cellule de traitement peut se voir attribuer une valeur dans le raster en sortie si cette option est sélectionnée, à condition qu’au moins une cellule du voisinage présente une valeur valide. Il s’agit de l’option par défaut.
  • NODATASi une cellule d’un voisinage a une valeur NoData, la sortie de la cellule de traitement est NoData. Avec cette option, la présence d'une valeur NoData implique que les informations sont insuffisantes pour calculer les statistiques pour le voisinage.
Boolean
percentile_value
(Facultatif)

Pourcentage à calculer. La valeur par défaut est de 90, soit le 90e centile.

Les valeurs peuvent varier entre 0 et 100. Le centile n° 0 est équivalent à la statistique Minimum tandis que le 100è centile équivaut à Maximum. Une valeur de 50 donne le même résultat que la statistique Médiane.

Cette option est prise en charge seulement si le paramètre statistics_type est défini sur percentile. Si d’autres types de statistiques ont été spécifiés, ce paramètre est ignoré.

Double

Valeur renvoyée

NomExplicationType de données
out_raster

Raster de statistiques focales en sortie.

Raster

Exemple de code

Premier exemple d'utilisation de l'outil FocalStatistics (fenêtre Python)

Cet exemple décrit le calcul de la valeur la moins récurrente dans un voisinage en anneau autour de chaque cellule dans un raster en entrée.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
Deuxième exemple d'utilisation de l'outil FocalStatistics (script autonome)

Dans cet exemple, on définit la valeur la moins récurrente dans un voisinage de 10 x 10 autour de chaque cellule dans le raster en entrée.

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    neighborhood.
# 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
inRaster = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")

Informations de licence

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

Rubriques connexes