Disponible avec une licence Spatial Analyst.
Disponible avec une licence Image Analyst.
Résumé
Calcule les statistiques des valeurs d’un raster dans chaque zone d’un autre jeu de données.
En savoir plus sur le fonctionnement des outils de statistiques zonales
Illustration
Utilisation
Une zone est définie comme l’ensemble des surfaces en entrée ayant la même valeur. Les surfaces ne sont pas nécessairement contiguës. Vous pouvez utiliser à la fois des entités et un raster pour la zone en entrée.
Si les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python) constituent un raster, ils doivent être un raster d’entiers.
Si les données raster ou vecteur de zones en entrée (in_zone_data dans Python) forment une entité, ces données sont converties en raster en interne à l’aide de la taille de cellule et de l’alignement des cellules du raster de valeurs en entrée (in_value_raster dans Python).
Si la taille de cellule des données raster ou vecteur de zones en entrée (in_zone_data dans Python) et que le raster de valeurs en entrée (in_value_raster dans Python) est différent, la taille de cellule en sortie correspond à la valeur de Maximum Of Inputs (Nombre maximal d’entrées) et le raster de valeurs en entrée est utilisé comme raster de capture en interne. Si la taille de cellule est identique mais que les cellules ne sont pas alignées, le raster de valeurs en entrée est utilisé comme raster de capture en interne. L’une de ces cases déclenche un ré-échantillonnage interne avant l’exécution de l’opération zonale.
Lorsque la zone ou les valeurs en entrée sont des rasters avec la même taille de cellule et que les cellules sont alignées, elles utilisent directement l’outil et ne sont pas ré-échantillonnées en interne au cours de l’exécution de l’outil.
Si les données Input raster or feature zone data (Données raster ou vecteur de zones en entrée) (in_zone_data dans Python) sont une entité, pour n’importe quelle entité de zone qui ne chevauche aucun centre de cellule du raster de valeur, ces zones ne sont pas converties en raster de zones interne. Ces zones ne seront par conséquent pas représentées en sortie. Vous pouvez le faire en déterminant une valeur appropriée pour l’environnement de taille de cellule permettant de préserver le niveau de détail souhaité des zones d’entités, et en spécifiant ceci dans l’environnement d’analyse.
Si les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python) est une entité ponctuelle, il est possible d’avoir plusieurs points contenus dans toute cellule du raster de valeurs en entrée. Pour de telles cellules, la valeur de zone est déterminée par le point doté du champ ObjectID le plus faible (OID ou FID, par exemple).
Si les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python) contient des polygones superposés, l’analyse zonale n’est pas effectuée pour chaque polygone individuel. Comme l’entité en entrée est convertie en raster, chaque emplacement peut avoir une seule valeur.
Une méthode alternative consiste à traiter l’opération zonale de façon itérative pour chacune des zones de polygone et à assembler les résultats.
Lorsque vous spécifiez les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python), le champ de zone par défaut est le premier champ entier ou texte disponible. S’il n’existe aucun autre champ valide, le champ ObjectID (par exemple, OID ou FID) est utilisé par défaut.
Le raster de valeurs en entrée (Input value raster) (in_value_raster dans Python) peut être de type entier ou à virgule flottante. Toutefois, lorsque son type est à virgule flottante, les options de calcul de la majorité, de la minorité et de la variété ne sont pas disponibles.
Pour les calculs de majorité et de minorité, lorsqu’il existe un rattachement, la sortie pour la zone est basée sur la plus faible des valeurs associées. Reportez-vous à la rubrique Fonctionnement de l’outil Statistiques zonales pour plus d’informations.
Les types de jeu de données raster multidimensionnelles pris en charge incluent la couche raster multidimensionnelle, la mosaïque, le service d’imagerie et le CRF d’Esri.
Le type de données (entier ou à virgule flottante) de la sortie dépend du calcul zonal qui est effectué et du type raster de valeurs en entrée.
Par défaut, cet outil tire parti des processeurs à plusieurs cœurs. Le nombre maximal de cœurs pouvant être utilisés s’élève à quatre.
Pour utiliser moins de cœurs, utilisez le paramètre d’environnement Facteur de traitement parallèle.
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
ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value}, {percentile_interpolation_type})
Paramètre | Explication | Type de données |
in_zone_data | Jeu de données qui définit les zones. Les zones peuvent être définies par un raster d'entiers ou une couche d'entités. | Raster Layer; Feature Layer |
zone_field | Champ contenant les valeurs qui définissent chaque zone. Il peut s'agir d'un champ de type entier ou chaîne du jeu de données de zones. | Field |
in_value_raster | Raster contenant les valeurs sur lesquelles calculer une statistique. | Raster Layer |
statistics_type (Facultatif) | Spécifie le type de statistique à calculer.
| String |
ignore_nodata (Facultatif) | Indique si les valeurs NoData de la valeur en entrée sont ignorées dans les résultats de la zone dans laquelle elles se trouvent.
| Boolean |
process_as_multidimensional (Facultatif) | Indique le mode de traitement des rasters en entrée multidimensionnels.
| Boolean |
percentile_value (Facultatif) | Pourcentage à calculer. La valeur par défaut est 90, soit le 90e centile. Les valeurs peuvent varier entre 0 et 100. Le centile 0 est équivalent à la statistique minimale, tandis que le 100e centile équivaut au 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. | Double |
percentile_interpolation_type (Facultatif) | Indique la méthode d’interpolation en centile à utiliser lorsque le nombre de valeurs du raster en entrée à calculer doit être pair.
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster | Raster de statistiques zonales en sortie. | Raster |
Exemple de code
Cet exemple détermine pour chaque zone la plage de valeurs de cellule dans le raster de valeurs en entrée.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
"NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
Cet exemple crée une sortie zonale multidimensionnelle en calculant la valeur maximale du raster de valeurs multidimensionnelle en entrée pour chaque zone.
# Name: ZonalStatistics_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones
# of another dataset.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"
# Set the local variables
inZoneData = "zones.shp"
zoneField = "sampleID"
inValueRaster = "multidimensional_valueraster.crf"
# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
"MAXIMUM", "NODATA", "ALL_SLICES")
# Save the output
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2.crf")
Environnements
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
Vous avez un commentaire à formuler concernant cette rubrique ?