Statistiques focales (Spatial Analyst)

Synthèse

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

En savoir plus sur le fonctionnement de l’outil Statistiques focales

Illustration

Valeurs en entrée et en sortie de l’outil Statistiques focales pour un voisinage rectangulaire avec définition de la statistique Somme
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,"CELL"), "SUM", "DATA")

Utilisation

  • Plusieurs formes de voisinage et types de statistique sont disponibles à la sélection. Les statistiques disponibles dépendent du type du raster en entrée.

  • Les formes de voisinage disponibles sont l’anneau, le cercle, le rectangle et le secteur. Une forme de voisinage personnalisée peut être définie à l’aide d’un fichier de noyau.

  • 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 irrégulier et pondération nécessitent qu’une valeur Fichier de noyau soit spécifiée. Un fichier de noyau est un fichier texte ASCII qui définit les valeurs et la forme du voisinage. Le fichier peut être créé à l’aide de n’importe quel éditeur de texte brut. Le fichier doit avoir une extension .txt et son nom ne doit comporter aucun espace.

    Consultez les sections Irrégulière et Pondération de la rubrique Fonctionnement de l’outil Statistiques focales pour plus d’informations sur la création et l’utilisation de fichiers de noyau.

  • Pour les rasters en entrée de type entier, les statistiques valides pour Type de statistiques sont : majorité, maximum, moyenne, médiane, minimum, minorité, centile, plage, écart type, somme et variété. Pour les rasters en entrée de type à virgule flottante, les statistiques valides sont : maximum, moyenne, médiane, minimum, centile, plage, écart type et somme. Les statistiques majorité, minorité et variété ne sont pas disponibles pour les rasters en entrée à virgule flottante.

  • Si le raster en entrée est un entier, le raster en sortie est un entier pour les statistiques suivantes : majorité, maximum, minimum, minorité, plage, somme et variété. La sortie est à virgule flottante pour les statistiques suivantes : moyenne, médiane, centile et écart type.

    Si le raster en entrée est de type réel simple, la sortie est un réel simple pour tous les types de statistique disponibles.

  • Pour les calculs de médiane, si le voisinage comprend un nombre impair de cellules, les valeurs sont classées et la valeur du milieu est rapportée comme médiane. Si le voisinage comprend un nombre pair de cellules, les valeurs sont classées et la moyenne des deux valeurs centrales est calculée.

  • Dans le cas de calculs de majorité et de minorité et en présence d’un rattachement, reportez-vous à la rubrique Fonctionnement de l’outil Statistiques focales pour plus d’informations.

  • Il est possible de définir le paramètre Voisinage sur Poids uniquement pour les types de statistique Moyenne, Écart type et 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.

Paramètres

ÉtiquetteExplicationType de données
Raster en entrée

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

Raster Layer
Quartier
(Facultatif)

Cellules qui entourent une cellule de traitement qui sera utilisée dans le calcul des statistiques. Vous avez le choix entre plusieurs types de voisinage prédéfinis, ou vous pouvez définir un noyau personnalisé.

Une fois le type de voisinage sélectionné, d’autres paramètres peuvent être configurés pour définir entièrement la forme, la taille et les unités de mesure. Le voisinage par défaut est un rectangle carré avec une largeur et une hauteur de trois cellules.

Voici les formes des types de voisinage pris en charge :

  • Anneau, Rayon intérieur, Rayon extérieur, Unités

    Voisinage en forme d’anneau défini par un rayon intérieur et un rayon extérieur. La valeur minimale du rayon est égale à 1 cellule et le rayon extérieur doit être supérieur au rayon intérieur. Le rayon intérieur maximal est de 2 046 cellules et le rayon extérieur maximal est de 2 047 cellules. L’anneau par défaut possède un rayon intérieur égal à 1 cellule et un rayon extérieur de 3 cellules.

  • Cercle, Rayon, Unités

    Voisinage circulaire doté d'un rayon donné. La valeur minimale du rayon est égale à 1 cellule et sa valeur maximale est de 2 047 cellules. Le rayon par défaut est de 3 cellules.

  • Rectangle, Hauteur, Largeur, Unités

    Voisinage rectangulaire défini par la hauteur et la largeur. La valeur minimale de la largeur ou de la hauteur est égale à 1 cellule et la valeur maximale est de 4 096 cellules. Le voisinage par défaut est un voisinage carré d’une largeur et d’une hauteur de 3 cellules.

  • Secteur, Rayon, Angle de départ, Angle de fin, Unités

    Voisinage en forme de secteur défini par un rayon, un angle de départ et un angle de fin. La valeur minimale du rayon est égale à 1 cellule et sa valeur maximale est de 2 047 cellules. Il s’étend dans le sens anti-horaire, de l’angle de départ vers l’angle d’arrivée. Les angles sont précisés en degrés, 0 ou 360 représentant l'Est. Vous pouvez utiliser des angles négatifs. Le secteur par défaut s’étend de 0 à 90 degrés, avec un rayon de 3 cellules.

  • Irrégulier, Fichier de noyau

    Voisinage personnalisé avec des spécifications définies par le fichier texte du noyau identifié, lequel peut appliquer des pondérations aux membres du voisinage. La valeur minimale de la largeur ou de la hauteur du noyau est égale à 1 cellule et la valeur maximale est de 4 096 cellules.

  • Pondération, Fichier de noyau

    Voisinage personnalisé avec des spécifications définies par le fichier texte du noyau identifié, lequel peut appliquer des pondérations aux membres du voisinage. La valeur minimale de la largeur ou de la hauteur du noyau est égale à 1 cellule et la valeur maximale est de 4 096 cellules.

Pour les voisinages de type Anneau, Cercle, Rectangle et Secteur, les unités de distance des paramètres peuvent être spécifiées en unités de cellule ou de Carte. Les unités de cellule sont privilégiées par défaut.

Pour les voisinages de noyaux, la première ligne du fichier de noyau définit la largeur et la hauteur du voisinage en nombre de cellules. La ligne suivante indique le mode de traitement de la valeur en entrée qui correspond à cet emplacement dans le noyau. Une valeur 0 dans le fichier de noyau pour le voisinage de type irrégulier ou pondération indique que l’emplacement correspondant n’est pas inclus dans le calcul. Dans le cas du voisinage irrégulier, une valeur 1 dans le fichier de noyau indique que la cellule en entrée correspondante est incluse dans l’opération. Dans le cas du voisinage de type pondération, la valeur de chaque position indique la valeur par laquelle la cellule en entrée correspondante doit être multipliée. Vous pouvez utiliser des valeurs positives, négatives et décimales.

Neighborhood
Type de statistique
(Facultatif)

Spécifie le type de statistique à calculer.

Le type de statistique par défaut est Moyenne.

Si le raster en entrée est de type entier, tous les types de statistique sont disponibles. Si le raster en entrée est de type virgule flottante, seuls les types de statistique Moyenne, Maximum, Médiane, Minimum, Pourcentage, Plage, Écart type et Somme sont disponibles.

  • MoyenneLa moyenne (valeur moyenne) des cellules du voisinage est calculée.
  • MajoritéLa majorité (valeur la plus fréquente) des cellules du voisinage est identifiée.
  • MaximumLe maximum (valeur la plus élevée) des cellules du voisinage est identifié.
  • MédianeLa médiane des cellules du voisinage est calculée. La médiane équivaut au 50e centile.
  • MinimumLe minimum (valeur la plus faible) des cellules du voisinage est identifié.
  • MinoritéLa minorité (valeur la moins fréquente) des cellules du voisinage est identifiée.
  • CentileUn centile des cellules du voisinage est calculé. 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).
  • PlageLa plage (différence entre la valeur la plus élevée et la valeur la plus faible) des cellules du voisinage est calculée.
  • Écart typeL’écart type des cellules du voisinage est calculé.
  • SommeLa somme des cellules du voisinage est calculée.
  • VariétéLa variété (le nombre de valeurs uniques) des cellules du voisinage est calculée.
String
Ignorer NoData dans les calculs
(Facultatif)

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

  • Activé : si 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. Si la cellule de traitement elle-même est de type NoData, la cellule de traitement peut se voir attribuer une valeur dans le raster en sortie, à condition qu’au moins une cellule du voisinage présente une valeur valide. Il s’agit de l’option par défaut.
  • Désactivé : si une cellule d’un voisinage a une valeur NoData, cellule de traitement comprise, la sortie de la cellule de traitement est NoData. La présence d’une valeur NoData implique que les informations sont insuffisantes pour déterminer la valeur statistique du voisinage.
Boolean
Valeur du pourcentage
(Facultatif)

Valeur de centile qui est calculée. La valeur par défaut est de 90, soit le 90è centile.

La valeur peut être comprise entre 0 et 100. Le centile 0 équivaut sensiblement à la statistique de minimum, tandis que le 100e centile équivaut à la statistique de maximum. La valeur 50 produit essentiellement le même résultat que la statistique médiane.

Cette option est prise en charge seulement si le paramètre Statistics type (Type de statistique) est défini sur Percentile (Pourcentage). Si d’autres types de statistique sont spécifiés, ce paramètre est ignoré.

Double

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster de statistiques focales en sortie.

Raster

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
NomExplicationType de données
in_raster

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

Raster Layer
neighborhood
(Facultatif)

Cellules qui entourent une cellule de traitement qui sera utilisée dans le calcul des statistiques. Vous avez le choix entre plusieurs types de voisinage prédéfinis, ou vous pouvez définir un noyau personnalisé.

Une fois le type de voisinage sélectionné, d’autres paramètres peuvent être configurés pour définir entièrement la forme, la taille et les unités de mesure. Le voisinage par défaut est un rectangle carré avec une largeur et une hauteur de trois cellules.

La forme des voisinages est définie par la classe Neighborhood. Les types de voisinage pris en charge sont NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, et NbrWeight.

Voici les formes des types de voisinage pris en charge :

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})

    Voisinage en forme d’anneau défini par un rayon intérieur et un rayon extérieur. La valeur minimale du rayon est égale à 1 cellule et le rayon extérieur doit être supérieur au rayon intérieur. Le rayon intérieur maximal est de 2 046 cellules et le rayon extérieur maximal est de 2 047 cellules. L’anneau par défaut possède un rayon intérieur égal à 1 cellule et un rayon extérieur de 3 cellules.

  • NbrCircle({radius}, {units}

    Voisinage circulaire doté d'un rayon donné. La valeur minimale du rayon est égale à 1 cellule et sa valeur maximale est de 2 047 cellules. Le rayon par défaut est de 3 cellules.

  • NbrRectangle({width}, {height}, {units})

    Voisinage rectangulaire défini par la hauteur et la largeur. La valeur minimale de la largeur ou de la hauteur est égale à 1 cellule et la valeur maximale est de 4 096 cellules. Le voisinage par défaut est un voisinage carré d’une largeur et d’une hauteur de 3 cellules.

  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})

    Voisinage en forme de secteur défini par un rayon, un angle de départ et un angle de fin. La valeur minimale du rayon est égale à 1 cellule et sa valeur maximale est de 2 047 cellules. Il s’étend dans le sens anti-horaire, de l’angle de départ vers l’angle d’arrivée. Les angles sont précisés en degrés, 0 ou 360 représentant l'Est. Vous pouvez utiliser des angles négatifs. Le secteur par défaut s’étend de 0 à 90 degrés, avec un rayon de 3 cellules.

  • NbrIrregular(inKernelFile)

    Voisinage personnalisé avec des spécifications définies par le fichier texte du noyau identifié. La valeur minimale de la largeur ou de la hauteur du noyau est égale à 1 cellule et la valeur maximale est de 4 096 cellules.

  • NbrWeight(inKernelFile)

    Voisinage personnalisé avec des spécifications définies par le fichier texte du noyau identifié, lequel peut appliquer des pondérations aux membres du voisinage. La valeur minimale de la largeur ou de la hauteur du noyau est égale à 1 cellule et la valeur maximale est de 4 096 cellules.

Pour les voisinages NbrAnnulus, Nbrcircle, NbrRectangle et NbrWedge, les unités de distance des paramètres peuvent être spécifiées en unités CELL ou en unités MAP. Les unités de cellule sont privilégiées par défaut.

Pour les voisinages de noyaux, la première ligne du fichier de noyau définit la largeur et la hauteur du voisinage en nombre de cellules. La ligne suivante indique le mode de traitement de la valeur en entrée qui correspond à cet emplacement dans le noyau. Une valeur 0 dans le fichier de noyau pour le voisinage de type irrégulier ou pondération indique que l’emplacement correspondant n’est pas inclus dans le calcul. Dans le cas du voisinage irrégulier, une valeur 1 dans le fichier de noyau indique que la cellule en entrée correspondante est incluse dans l’opération. Dans le cas du voisinage de type pondération, la valeur de chaque position indique la valeur par laquelle la cellule en entrée correspondante doit être multipliée. Vous pouvez utiliser des valeurs positives, négatives et décimales.

Neighborhood
statistics_type
(Facultatif)

Spécifie le type de statistique à calculer.

  • MEANLa moyenne (valeur moyenne) des cellules du voisinage est calculée.
  • MAJORITYLa majorité (valeur la plus fréquente) des cellules du voisinage est identifiée.
  • MAXIMUMLe maximum (valeur la plus élevée) des cellules du voisinage est identifié.
  • MEDIANLa médiane des cellules du voisinage est calculée. La médiane équivaut au 50e centile.
  • MINIMUMLe minimum (valeur la plus faible) des cellules du voisinage est identifié.
  • MINORITYLa minorité (valeur la moins fréquente) des cellules du voisinage est identifiée.
  • PERCENTILEUn centile des cellules du voisinage est calculé. 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.
  • RANGELa plage (différence entre la valeur la plus élevée et la valeur la plus faible) des cellules du voisinage est calculée.
  • STDL’écart type des cellules du voisinage est calculé.
  • SUMLa somme des cellules du voisinage est calculée.
  • VARIETYLa variété (le nombre de valeurs uniques) des cellules du voisinage est calculée.

Le type de statistique par défaut est MEAN.

Si le raster en entrée est de type entier, tous les types de statistique sont disponibles. Si le raster en entrée est de type virgule flottante, seuls les types de statistique MEAN, MAXIMUM, MEDIAN, MINIMUM, PERCENTILE, RANGE, STD, et SUM 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. Si la cellule de traitement elle-même est de type NoData, la cellule de traitement peut se voir attribuer une valeur dans le raster en sortie, à 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, cellule de traitement comprise, la sortie de la cellule de traitement est NoData. La présence d’une valeur NoData implique que les informations sont insuffisantes pour déterminer la valeur statistique du voisinage.
Boolean
percentile_value
(Facultatif)

Valeur de centile qui est calculée. La valeur par défaut est de 90, soit le 90è centile.

La valeur peut être comprise entre 0 et 100. Le centile 0 équivaut sensiblement à la statistique de minimum, tandis que le 100e centile équivaut à la statistique de maximum. La valeur 50 produit essentiellement le même résultat que la statistique médiane.

Cette option est uniquement prise en charge si le paramètre statistics_type est défini sur PERCENTILE. Si d’autres types de statistique sont 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 du 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")

Rubriques connexes