Chaque outil contient un ensemble de paramètres servant à exécuter une opération. Certains de ces paramètres sont communs à tous les outils, tels que la tolérance ou l’emplacement en sortie. Ces paramètres peuvent tirer leurs valeurs par défaut d’un environnement de géotraitement que tous les outils utilisent lors de leur exécution. Lorsqu’un outil est exécuté, les paramètres d’environnement courants peuvent également servir de valeurs de paramètres en entrée globales. Les paramètres tels qu'une zone d'intérêt, la référence spatiale du jeu de données en sortie et la taille de cellule d'un nouveau jeu de données raster, peuvent tous être définis avec les environnements de géotraitement.
Dans ArcPy, les environnements de géotraitement sont organisés en tant que propriétés de la classe ArcPy env. Dans l'exemple ci-dessous, plusieurs valeurs d'environnement sont imprimées à l'écran, puis paramétrées sur de nouvelles valeurs.
>>> print arcpy.env.overwriteOutput
True
>>> print arcpy.env.workspace
None
>>> arcpy.env.overwriteOutput = False
>>> arcpy.env.workspace = "c:/temp"
>>> print arcpy.env.overwriteOutput
False
>>> print arcpy.env.workspace
c:/temp
>>>
Suivi des environnements dans la fenêtre Python
Les environnements de géotraitement pouvant avoir un impact considérable sur le fonctionnement et l'efficacité d'un outil, il est important de pouvoir suivre leurs paramètres et, au besoin, de rétablir leurs valeurs par défaut.
Vous pouvez utiliser la fonction ArcPy ResetEnvironments pour restaurer les valeurs par défaut d'un environnement.
>>> arcpy.ResetEnvironments()
>>>
Vous pouvez utiliser la fonction ArcPy ListEnvironments pour créer la liste de tous les environnements de géotraitement. Cette liste vous permettra ensuite d'accéder aux différents environnements et à leurs valeurs actives et de les imprimer. Cet exemple ne montre que deux environnements, mais tous les environnements et leurs valeurs sont imprimés en utilisant ce code.
>>> environments = arcpy.ListEnvironments()
... for environment in environments:
... envSetting = eval("arcpy.env." + environment)
... print "%-30s: %s" % (environment, envSetting)
...
newPrecision : SINGLE
autoCommit : 1000