Résumé
Calcule les valeurs d’un raster dans chaque zone d’un autre jeu de données et affiche les résultats dans une table.
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.
Cet outil du portail d’analyse raster est disponible lorsque vous êtes connecté à un portail ArcGIS Enterprise comportant un ArcGIS Image Server configuré pour Raster Analysis . Lorsque cet outil est appelé, ArcGIS Pro est utilisé comme client et le traitement est effectué dans les serveurs fédérés avec ArcGIS Enterprise. Cet outil du portail prend en charge les couches de votre portail en entrée et crée la sortie dans le portail.
La couche raster en entrée prend en charge les éléments suivants : couche du portail, URI ou URL d’un service d’imagerie ou sortie de l’outil Make Image Server Layer (Créer une couche de serveur d’imagerie). La couche d’entités en entrée peut être une couche du portail, ou une URI ou une URL d’un service d’entités. Cet outil ne prend pas en charge les données raster ou les couches locales. Bien que vous ayez la possibilité d’utiliser des données d’entité et des couches locales en entrée dans cet outil du portail, il est recommandé d’utiliser les couches de votre portail en entrée.
Si la valeur de Input Zone Raster or Features (Entités ou raster de zones en entrée) (inputZoneRasterOrFeatures dans Python) est un raster, il doit s’agir d’un raster de type entier.
Si la zone est une entité, elle est convertie en raster en interne en utilisant la taille de cellule et l’alignement de cellule du raster de valeurs en entrée (inputValueRaster dans Python).
Si la taille de cellule des entités ou du raster de zones en entrée et du raster de valeurs en entrée sont différentes, la taille de cellule en sortie est la valeur du nombre maximal d’entrées et le raster de valeurs du service d’imagerie 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 valeur sert en interne de raster de capture. 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 la valeur de Input Zone Raster or Features (Entités ou raster de zones en entrée) est 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. L’indication d’une taille de cellule inférieure génère un raster en sortie plus grand. Une sortie avec une résolution élevée ne présente pas nécessairement une qualité supérieure, car les détails supplémentaires n’existent pas réellement dans le raster de valeurs en entrée.
Si les entités ou le raster de zones en entrée contiennent des entité superposées, l’analyse zonale n’est pas effectuée pour chaque entité individuelle.
Si la valeur de Input Zone Raster or Features (Entités ou raster de zones en entrée) est une entité ponctuelle, il est possible qu’une cellule du raster de valeurs en entrée contienne plusieurs points. 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).
Lorsque vous spécifiez les entités ou le raster de zones en entrée, le champ de zone par défaut est le premier champ d’entier ou de 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 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 une association, la sortie pour la zone est basée sur la plus faible des valeurs associées.
Un champ ou une série de champs est créé dans la table en sortie selon la définition du paramètre Statistic Type (Type de statistique) (statisticType dans Python). Le nombre de lignes dans la table en sortie représente le nombre de zones.
Syntaxe
arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField, {ignoreNodata}, {statisticType}, {percentileValues}, {processAsMultidimensional}, {percentileInterpolationType})
Paramètre | Explication | Type de données |
inputZoneRasterOrFeatures | Entrée qui définit les zone. Vous pouvez utiliser à la fois des données d’entités et raster pour la zone en entrée. | Raster Layer; Feature Layer |
inputValueRaster | Raster contenant les valeurs sur lesquelles vous synthétisez une statistique. | Raster Layer |
outputTableName | Le nom de la table en sortie. Si la table existe déjà, vous êtes invité à fournir un autre nom. | String |
zoneField | Champ qui définit chaque zone. Il peut s'agir d'un champ de type entier ou chaîne du jeu de données de zones. | String |
ignoreNodata (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 |
statisticType (Facultatif) | Spécifie le type de statistique à calculer. Les options disponibles lorsque le raster de valeurs est de type entier sont All (Tout), Mean (Moyenne), Majority (Majorité), Maximum, Median (Médiane), Minimum, Minority (Minorité), Percentile (Centile), Range (Plage), Standard deviation (Écart type), Sum (Somme), Variety (Variété), Minimum and Maximum (Minimum et maximum), Mean and Standard deviation (Moyenne et écart type) et Minimum, Maximum and Mean (Minimum, maximum et moyenne). Si le raster de valeurs est de type virgule flottante, les options sont All (Tout), Mean (Moyenne), Maximum, Median (Médiane), Percentile (Centile), Minimum, Range (Plage), Standard deviation (Écart type) et Sum (Somme).
| String |
percentileValues [percentileValues,...] (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 disponible si le paramètre statisticType est défini sur PERCENTILE ou ALL. | Double |
processAsMultidimensional (Facultatif) | Indique le mode de traitement des rasters en entrée multidimensionnels.
| Boolean |
percentileInterpolationType (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 |
Sortie dérivée
Nom | Explication | Type de données |
outputTable | Table en sortie. | Service d’entités sans géométrie |
Exemple de code
Cet exemple détermine, pour chaque zone, la moyenne des valeurs de cellule de la couche raster à synthétiser.
import arcpy
arcpy.ra.ZonalStatisticsAsTable('https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer',
'https://MyPortal.esri.com/server/rest/services/Hosted/elevation/ImageServer',
'outTable', 'Landuse', '', 'MEAN')
Cet exemple détermine, pour chaque zone, les valeurs statistiques de la couche raster à synthétiser.
#-------------------------------------------------------------------------------
# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Calculates all statistics with defined percentile values
# for sea-surface temperature defined by ecological zones.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputZoneRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/zones/ImageServer'
inputValueRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/seaSurfaceTemperature/ImageServer'
outputTableName = 'outZSAT'
zoneField = 'temperature'
ignoreNodata = ''
statisticType = 'PERCENTILE'
percentileValues = [25,75,90]
processAsMultidimensional = 'ALL_SLICES'
percentileInterpolationType = 'NEAREST'
# Execute Multidimensional Zonal Statistics as Table
arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField,
ignoreNodata, statisticType, percentileValues, processAsMultidimensional,
percentileInterpolationType)
Environnements
Informations de licence
- Basic: Requiert ArcGIS Image Server
- Standard: Requiert ArcGIS Image Server
- Advanced: Requiert ArcGIS Image Server
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?