Statistiques par bloc (Spatial Analyst)

Synthèse

Cet outil permet de partitionner une entrée en blocs non superposés et de calculer les statistiques relatives aux valeurs dans chaque bloc. La valeur est attribuée à toutes les cellules dans chaque bloc dans la sortie.

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

Illustration

Valeurs en entrée et en sortie de l’outil Statistiques par bloc pour un voisinage rectangulaire avec définition de la statistique Maximum
OutRas = BlockStatistics(InRas1, NbrRectangle(3,3,"CELL"), "MAXIMUM", "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 définissez un voisinage en anneau, circulaire ou en forme de secteur, et compte tenu de la taille de ce voisinage, les cellules qui ne sont pas perpendiculaires à l'axe x ou y ne sont pas prises en compte dans les calculs. Toutefois, les emplacements de ces cellules sont associés à la valeur obtenue suite aux calculs du voisinage, car elles sont comprises dans le rectangle d'emprise minimale (ou le bloc en sortie) de ces types de voisinages circulaires.

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

    Pour plus d’informations sur la création et l’utilisation de fichiers de noyau, consultez les sections Irrégulière et Poids de la rubrique Fonctionnement des statistiques par bloc.

  • Pour les rasters en entrée de type entier, les choix de type de statistique valides sont : majorité, maximum, moyenne, médiane, minimum, minorité, plage, écart type, somme et variété. Pour les rasters en entrée de type flottant, les statistiques valides sont : maximum, moyenne, minimum, plage, écart type et somme. La majorité, la médiane, la minorité et la variété ne sont pas des statistiques disponibles.

  • Si le raster en entrée est un entier, le raster en sortie est un entier pour les statistiques suivantes : majorité, maximum, médiane, minimum, minorité, plage, somme et variété. La sortie est un réel simple pour les statistiques de moyenne et d’é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 un voisinage par bloc comprend un nombre impair de cellules, les valeurs sont classées et la valeur du milieu est rapportée comme médiane. Si un bloc comprend un nombre pair de cellules, les valeurs sont classées et la valeur la plus faible des deux valeurs centrales est sélectionnée.

  • Pour les calculs de majorité) et de minorité, en cas d’égalité, la sortie correspond à la plus faible des valeurs égales.

  • Il est possible de définir le paramètre Voisinage sur Pondération uniquement pour les types de statistique Moyenne, Écart type et Somme.

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

Paramètres

ÉtiquetteExplicationType de données
Raster en entrée

Raster pour lequel une statistique est calculée pour des blocs de cellules.

Raster Layer
Quartier
(Facultatif)

Cellules du bloc de traitement qui sera utilisé 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é. 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, Minimum, 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.
  • 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.
  • 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 bloc voisin, 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. Il s’agit de l’option par défaut.
  • Désactivé : si une cellule dans le voisinage d’un bloc a une valeur NoData, la sortie de chaque cellule du bloc correspondant 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 renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster des statistiques du bloc en sortie.

Raster

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

Raster pour lequel une statistique est calculée pour des blocs de cellules.

Raster Layer
neighborhood
(Facultatif)

Cellules du bloc de traitement qui sera utilisé 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.
  • 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.
  • 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, MINIMUM, 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 bloc voisin, 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. Il s’agit de l’option par défaut.
  • NODATASi une cellule dans le voisinage d’un bloc a une valeur NoData, la sortie de chaque cellule du bloc correspondant 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 renvoyée

NomExplicationType de données
out_raster

Raster des statistiques du bloc en sortie.

Raster

Exemple de code

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

Cet exemple décrit le calcul de la valeur de cellule minimale dans chaque voisinage d'anneau non superposé dans le raster en entrée.

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
nbr = NbrAnnulus(1, 3, "MAP")
outBlockStat = BlockStatistics("block", nbr, "MINIMUM", "")
outBlockStat.save("C:/sapyexamples/output/blockstat")
Deuxième exemple d'utilisation de l'outil BlockStatistics (script autonome)

Cet exemple décrit le calcul de la valeur d'une cellule minimale dans chaque voisinage d'anneau non superposé dans le raster Grid en entrée.

# Name: BlockStatistics_Ex_02.py
# Description: Calculates statistics for a nonoverlapping 
#              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 = "block"
nbr = NbrAnnulus(1, 3, "MAP")

# Execute BlockStatistics
outBlockStat = BlockStatistics(inRaster, nbr, "MINIMUM", "NODATA")

# Save the output 
outBlockStat.save("C:/sapyexamples/output/blockstat")

Rubriques connexes