Vue d'ensemble de l'utilisation des classes ArcGIS Spatial Analyst

Les classes permettent de créer des objets, souvent nommés instances. Une fois l'objet instancié, ses propriétés et méthodes peuvent être utilisées. Les classes ArcGIS Spatial Analyst, telles que les classes Voisinage et Classification, sont souvent utilisées comme raccourcis vers des paramètres d'outil de géotraitement complets qui présenteraient autrement un équivalent de chaîne plus compliqué.

Il est beaucoup plus facile de créer et de gérer des paramètres par l'intermédiaire des classes que par des chaînes. L'utilisation des classes pour les paramètres présente les avantages suivants :

Pour plus d'informations sur l'utilisation des classes ArcGIS Spatial Analyst dans Algèbre spatial, consultez les rubriques suivantes :

Création de classesInterrogation de classesModification d'arguments dans des classesProcédure d'utilisation de classes dans Python

Voici des exemples d'applications pouvant facilement être implémentées à l'aide des classes :

Utilisation des classes ArcGIS Spatial Analyst

Certains paramètres des outils de géotraitement ArcGIS Spatial Analyst utilisent un objet de classe comme entrée. En général, les paramètres sont définis comme de simples chaînes, noms de jeux de données, chemins, mots-clés, noms de champs, tolérances et noms de domaines. Certains paramètres sont plus complexes et définissent une série de propriétés ou valeurs. Au lieu d'utiliser des chaînes de texte longues et compliquées pour définir ces paramètres, vous pouvez utiliser des classes (par exemple les tables de voisinage ou de classification). Comprendre les exigences d'entrée pour un constructeur de classe vous permet de créer, interroger, modifier et enregistrer les objets de classe plus facilement.

Il existe différents types d'entrée utilisés en tant qu'arguments pour les classes ArcGIS Spatial Analyst :

Par souci de lisibilité, il est recommandé que la classe soit définie sur une variable et que la variable soit utilisée dans l'outil. Par exemple :

Neighborhood = NbrRectangle(5, 5, "MAP")
outRas = FocalStatistics("inRas", Neighborhood, "MEAN")

Toutefois, si vous préférez, la classe peut être définie dans le paramètre de l'outil.

outRas = FocalStatistics("inRas", NbrRectangle(5, 5, "MAP"), "MEAN")

Classes créées avec un nombre fixe d'entrées

Certaines classes sont construites avec un nombre fixe d'arguments de chaîne ou scalaires. Par exemple, pour créer un voisinage avec un rayon de cinq unités de la carte :

Neighborhood = NbrCircle(5, "MAP")
outRas = FocalStatistics("inRas", Neighborhood, "MAXIMUM")

Chacune de ces classes a une position prédéterminée pour les arguments en entrée. Ces classes peuvent être regroupées en fonction du paramètre d'outil qu'elles traitent :

Classes créées à l'aide de listes Python

Certaines classes sont plus complexes, telles que les classes TopoBoundary, TopoLake et TopoStream. Elles nécessitent une série d'entrées et sont utilisées pour les paramètres de l'outil Topo vers raster. Les séries d'entrées sont définies dans une liste Python et le nombre d'entrées dans une liste dépend de la situation (en d'autres termes, le nombre d'entrées requis par l'analyse).

Par exemple, les constructeurs de classe TopoBoundary attendent une liste contenant une ou plusieurs entrées inFeature. La liste, identifiée comme inFeatures, devient une propriété de l'objet obtenu. Pour interroger ou manipuler des éléments de la liste inFeatures, traitez chaque élément comme une entrée dans la liste (voir Interrogation de classes).

inBoundary = TopoBoundary(["inBound1.shp", "inBound2.shp"])

Classes créées à l'aide de listes dans des listes

Avec d'autres outils, la situation spécifique détermine le nombre d'entrées qui seront entrées dans un paramètre. Ce type de paramètre en entrée est généré à partir d'une classe créée à l'aide de listes au sein d'une liste. Il existe trois groupes d'outils dont les classes sont créées à partir de listes au sein de listes :

Par exemple, les classes de classification attendent une table en entrée. La table est modélisée par une liste d'enregistrements indiquant les valeurs startValue, endValue et newValue à classer. Une table devient une propriété de l'objet obtenu. Pour interroger ou manipuler les entrées de la table, traitez-les comme des entrées de listes au sein de listes (voir Interrogation de classes).

# Usage: RemapRange([[startValue, endValue, newValue],...])
myRemapRange = RemapRange([[-3, -1.75, 1], [-1.75, -0.5, 2], [-0.5, 0.75, 3], 
                           [0.75, 2, 4], [2, 3.25, 5], [3.25, 4.5, 6],
                           [4.5, 5.75, 7], [5.75, 7, 8]])
outReclassRR = Reclassify("inRas", "VALUE", myRemapRange)

Classes créées avec une série de classes dans une liste

Certains outils utilisent des paramètres de classe qui nécessitent une série de classes en entrée. Les classes se composées au sein d'une liste. Les outils nécessitant une série de classes au sein d'une liste, ce qui inclut Extract by Points et Extract by Rectangle, extraient généralement les données en fonction d'une géométrie spécifiée.

Thèmes connexes

5/10/2014