- Définition de l'environnement de l'espace de travail courant
- Utilisation de noms de base
- Affichage de l’espace de travail dans une boîte de dialogue d’outil
- Espace de travail courant et nom de base dans la génération de script
- Environnement d'espace de travail temporaire
- Noms de jeux de données en sortie générés automatiquement
Presque tous les outils de géotraitement acceptent des jeux de données en entrée et génèrent de nouveaux jeux de données. Lors de l’utilisation des outils de géotraitement, il est préférable que vous n’ayez pas à entrer des noms de jeux de données longs, tels que :
E:\Data\D052753_a\infrastructure\BK16_c1\approved.gdb\roads\mjrst
La saisie d’un nom de jeu de données aussi long est fastidieuse et source de frustrations et d’erreurs. C’est pour cela que le géotraitement vous permet de faire glisser des jeux de données ou des couches sur une boîte de dialogue d’outil, d’utiliser le bouton de navigation pour accéder à un jeu de données et de sélectionner une couche dans une liste déroulante. D’autre part, il existe deux entités qui facilitent considérablement la spécification des jeux de données en entrée et en sortie, à savoir les paramètres d’environnement current workspace (espace de travail courant) et scratch workspace (espace de travail temporaire).
L'utilisation des environnements d'espace de travail courant et temporaire reposent sur les points suivants :
- Les espaces de travail courant et temporaire sont définis dans la fenêtre Geoprocessing Environments (Environnements de géotraitement), accessible en cliquant sur Geoprocessing (Géotraitement) > Environments (Environnements).
- Les paramètres de l'espace de travail courant et temporaire, comme tous les environnements de géotraitement, sont enregistrés avec votre document ArcMap.
- Dans ArcMap, les espaces de travail courant et temporaire sont automatiquement définis sur la géodatabase par défaut. Vous pouvez toujours définir l'espace de travail courant et temporaire sur autre chose que sa géodatabase par défaut.
- Lors de l’utilisation d’une boîte de dialogue d’outil ou de l’exécution d’un outil dans Python, vous pouvez indiquer le nom de base d’un jeu de données pour que l’outil trouve celui-ci dans l’espace de travail courant.
- Dans la boîte de dialogue de l'outil, les noms des jeux de données en sortie sont générés automatiquement à l'aide des paramètres des espaces de travail temporaire et courant.
Définition de l'environnement de l'espace de travail courant
- Dans ArcMap, cliquez sur Geoprocessing (Géotraitement) > Environments (Environnements).
La fenêtre Environment Settings (Paramètres d’environnement) s’affiche.
- Développez la catégorie Workspace (Espace de travail) et entrez le chemin d’accès à l’espace de travail. L’illustration ci-dessous présente la définition de l’espace de travail courant sur D:\ArcTutor\BuildingaGeodatabase\Montgomery.gdb\Landbase, qui est un jeu de classes d’entités de la géodatabase.
Vous pouvez paramétrer l'environnement de travail courant sur un dossier système, une géodatabase ou un jeu de données d'entité dans une géodatabase.
- Cliquez sur OK.
Il existe plusieurs autres méthodes pour définir des environnements ; vous pouvez notamment en définir pour qu'ils s'appliquent à tous les outils, à l'exécution d'un seul outil, à un modèle, un processus de modèle ou un script.
Utilisation de noms de base
L’objectif de l’espace de travail courant est que vous définissiez l’espace de travail une fois, puis que vous utilisiez uniquement le nom de base lors de la saisie des chemins en entrée et en sortie. Un nom de jeu de données est composé de deux éléments : l’espace de travail et le nom de base, comme illustré ci-dessous.
Exemple d'utilisation de noms de base
L’illustration suivante montre un exemple de géodatabase utilisée comme espace de travail courant. L’espace de travail courant est défini sur D:\BuildingaGeodatabase\Montgomery.gdb\Landbase.
Une fois que l’espace de travail a été défini, vous pouvez entrer simplement le nom de base chaque fois qu’un nom de jeu de données est requis. L’exemple ci-dessous montre l’utilisation de l’outil Découper.
- Le nom de base (Blocks) est associé à l’espace de travail courant pour former le nom du jeu de données (D:\BuildingaGeodatabase\Montgomery.gdb\Landbase\Blocks). Le paramètre Input Features (Entités en entrée) est alors remplacé par ce nom de jeu de données.
- Un nom de jeu de données en sortie unique est généré automatiquement. Le nom de base est identique au nom de base en entrée (Blocks) auquel est ajouté un trait de soulignement, le nom de l’outil (Clip (Découper) dans cet exemple) et, s’il le faut pour garantir le caractère unique du nom, un nombre.
- Si vous ne voulez pas utiliser le nom en sortie généré automatiquement, vous pouvez le supprimer et saisir un nom de base en entrée, qui sera développé en nom de jeu de données, comme illustré ci-dessous.
Après avoir exécuté un outil, vous pouvez remarquer que la sortie n’est pas écrite à l’emplacement escompté (vous avez peut-être fait une erreur lors de la saisie du nom en sortie ou vous avez oublié où elle a été écrite). Le cas échéant, ouvrez la fenêtre Results (Résultats), qui contient un enregistrement de l’outil exécuté avec les jeux de données en entrée et en sortie.
Vous pouvez également utiliser un nom de base dans la grille de traitement par lots, comme illustré ci-dessous.
Affichage de l’espace de travail dans une boîte de dialogue d’outil
Pour afficher le dernier espace de travail auquel vous avez accédé, comme illustré ci-dessous, vous pouvez positionner le pointeur de la souris sur le bouton de navigation et l’y laisser pendant un moment.
Lorsque vous cliquez sur le bouton de navigation, la boîte de dialogue Browse (Parcourir) s’affiche dans l’espace de travail courant.
Espace de travail courant et nom de base dans la génération de script
Dans la fenêtre Python, l’environnement de l’espace de travail définit l’espace de travail courant. Après avoir défini l'espace de travail, vous pouvez utiliser le nom de base de tout jeu de données dans l'espace de travail, comme illustré ci-dessous.
import arcpy
arcpy.env.workspace = "c:/projects/RedRiverBasin/data.gdb"
arcpy.Intersect_analysis(["roads", "streams"], "stream_crossings", "#", 1.5, "point")
Vous trouverez ci-dessous un exemple de script Python qui illustre l'utilisation de la commande workspace.
# Purpose: Determine the type of vegetation within 100 meters of all stream
# crossings
import arcpy
# Set the workspace (to avoid having to type in the full path to the data
# every time)
arcpy.env.workspace = "c:/projects/RedRiverBasin/data.gdb"
# Process: Find all stream crossings (points)
arcpy.Intersect_analysis(["roads", "streams"], "stream_crossings", "#", 1.5,
"point")
# Process: Buffer all stream crossings by 100 meters
arcpy.Buffer_analysis("stream_crossings", "stream_crossings_100m", "100 meters")
# Process: Clip the vegetation feature class to stream_crossings_100m
arcpy.Clip_analysis("vegetation", "stream_crossings_100m",
"veg_within_100m_of_crossings")
# Process: Summarize how much (area) of each type of vegetation is found within
# 100 meters of the stream crossings
arcpy.Statistics_analysis("veg_within_100m_of_crossings",
"veg_within_100m_of_crossings_stats",
[["shape_area", "sum"]], "veg_type")
Environnement d'espace de travail temporaire
Outre l’espace de travail courant, il existe le paramètre d’environnement d’espace de travail temporaire. Vous accédez à ce paramètre et le définissez de la même façon que pour l'espace de travail courant.
L’objectif principal de l’environnement d’espace de travail temporaire est d’être utilisé par ModelBuilder. ModelBuilder a besoin d’un espace de travail pour y écrire les jeux de données intermédiaires (jeux de données qui ne sont d’aucune utilité une fois qu’un modèle est exécuté). Bien qu’il soit principalement destiné à ModelBuilder, vous serez parfois amené à le définir pour des boîtes de dialogue d’outils. Il arrivera également souvent que vous définissiez l'espace de travail temporaire pour ModelBuilder et que vous oubliiez ensuite de le réinitialiser avant d'exécuter sa boîte de dialogue.
Si vous définissez l'environnement d'espace de travail temporaire, les outils l'utiliseront pour générer automatiquement les noms de jeux de données en sortie à la place de l'environnement de travail courant, comme illustré ci-dessous.
Noms de jeux de données en sortie générés automatiquement
Tous les outils créent automatiquement un nom de jeu de données en sortie pour vous. La logique de création de ce nom est la suivante :
- Si l’environnement Scratch Workspace (Espace de travail temporaire) est configuré, le chemin en sortie généré automatiquement y est écrit.
- Si l’environnement Scratch Workspace (Espace de travail temporaire) n’est pas configuré, l’environnement d’espace de travail courant est vérifié. Si l'espace de travail courant est configuré, la sortie générée automatiquement est écrite dans l'espace de travail courant.
- Si ni l’environnement Scratch Workspace (Espace de travail temporaire), ni l’environnement Current Workspace (Espace de travail courant) n’est configuré, le chemin en sortie généré automatiquement est écrit dans l’espace de travail de l’une des entrées. Dans ce cas, certaines restrictions s'appliquent. Par exemple, si l’espace de travail est un dossier et que la sortie est une nouvelle classe d’entités, la sortie est un shapefile vers le répertoire au-dessus de l’espace de travail de couverture. D'autres restrictions existent, comme l'accès en écriture. Dans certains cas, la sortie est écrite dans le répertoire temporaire du système.
- Si vous entrez un nom de base pour le jeu de données en sortie, l’environnement Current Workspace (Espace de travail courant) sert à construire le chemin en sortie, que l’environnement Scratch Workspace (Espace de travail temporaire) soit configuré ou non.