Utilisation des environnements d'espace de travail courant et temporaire

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. Lorsque vous utilisez des outils de géotraitement, la chose principale que vous voulez éviter est la saisie de longs noms de jeux de données, 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 pourquoi le géotraitement vous permet de glisser-déplacer des jeux de données ou des couches sur une boîte de dialogue, d'utiliser le bouton de navigation Ouvrir pour accéder à un jeu de données ou de sélectionner une couche dans une liste déroulante. En outre, deux entités ont été conçues pour faciliter la spécification de jeux de données en entrée et en sortie : les paramètres d'environnement d'espace de travail courant et temporaire.

L'utilisation des environnements d'espace de travail courant et temporaire reposent sur les points suivants :

Définition de l'environnement de l'espace de travail courant

Etapes :
  1. Dans ArcMap, cliquez sur Géotraitement > Environnements. La fenêtre Paramètres d'environnement s'ouvre.
  2. Développez la catégorie Espace de travail et entrez le chemin d'accès à l'espace de travail. Dans l'illustration ci-dessous, l'espace de travail courant est paramétré sur D:\ArcTutor\BuildingaGeodatabase\Montgomery.gdb\Landbase, un jeu de données d'entité dans la géodatabase.

    Définition de l'environnement de l'espace de travail courant

    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.

  3. Cliquez sur OK.
  4. Vous pouvez également accéder à une géodatabase dans la fenêtre Catalogue, cliquer dessus avec le bouton droit et cliquer sur Définir comme géodatabase par défaut. Les espaces de travail temporaire et courant sont alors définis sur cette géodatabase par défaut.

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.

Pour en savoir plus sur les paramètres d'environnement

Utilisation de noms de base

L'idée principale qui sous-tend les espaces de travail courant et temporaire est que vous définissez un espace de travail une fois, puis utilisez seulement le nom de base lors de l'entrée de chemins d'accès en entrée et en sortie. Un nom de jeu de données a deux composants, l'espace de travail et le nom de base, comme illustré ci-dessous.

Nom du jeu de données
Chemin d'accès du catalogue, chemin d'accès, emplacement et nom du jeu de données. Plus concrètement, les trois signifient la même chose, à savoir la chaîne utilisée pour spécifier un jeu de données.

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.

Contenu de Montgomery.gdb

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 illustre l'utilisation de l'outil Découper.

  • Le nom de base (Blocks) est joint à l'espace de travail courant pour former le nom du jeu de données (D:\BuildingaGeodatabase\Montgomery.gdb\Landbase\Blocks). Le paramètre 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 correspond au nom de base en entrée (Blocks) auquel ont été ajoutés un trait de soulignement et le nom de l'outil (Découper dans notre exemple), ainsi qu'un numéro, si cela est nécessaire pour assurer l'unicité du nom.
    Saisie d'un nom de base pour l'entrée
  • 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.

    Utilisation du nom de base pour un jeu de données en sortie

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ù il a été écrit). Dans ce cas, ouvrez la fenêtre Résultats, qui contient un enregistrement de l'outil que vous avez exécuté ainsi que ses 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.

Utilisation de l'espace de travail courant avec la grille de traitement par lots

Pour en savoir plus sur les traitements par lots

Affichage de l'espace de travail courant dans la boîte de dialogue d'un outil

Vous pouvez placer le pointeur de la souris sur le bouton de navigation Ouvrir quelques instants : l'espace de travail courant s'affiche, comme illustré ci-dessous.

Affichage de l'espace de travail courant dans la boîte de dialogue d'un outil

Lorsque vous cliquez sur le bouton de navigation, la boîte de dialogue Parcourir s'ouvre 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.mdb"
>> 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 the ArcPy site-package
import arcpy

try:
    # Set the workspace (to avoid having to type in the full path to the data every time)
    arcpy.env.workspace = "c:/projects/RedRiverBasin/data.mdb"

    # 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")

except:
    # If an error occurred while running a tool print the messages
    print arcpy.GetMessages()

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.

Exemple de sortie générée automatiquement à l'aide de l'espace de travail temporaire
AttentionAttention :

Si vous entrez un nom de base pour une sortie, l'espace de travail courant permet de construire le nom de jeu de données, pas l'espace de travail temporaire.

La règle stipule que chaque fois qu'un nom de base est utilisé, il est joint à l'espace de travail courant et pas à l'espace de travail temporaire. Gardez cela à l'esprit lors de l'écriture de scripts. Dans l'extrait de code ci-dessous, le jeu de données en sortie "stream_crossings" sera écrit dans l'espace de travail courant et non pas dans l'espace de travail temporaire.

    arcpy.env.workspace = "c:/projects/RedRiverBasin/data.mdb"
    arcpy.env.scratchWorkspace = "c:/projects/Scratch/scratch.gdb"
    arcpy.Intersect_analysis("roads ; streams ", "stream_crossings", "#", 1.5, "point")
AttentionAttention :

Comme l'espace de travail temporaire a été conçu pour les données temporaires, ne le définissez pas sur une géodatabase ArcSDE. Cela pourrait entraîner des problèmes de performances et vous écrirez les données temporaires dans une base de données d'entreprise. Nous vous recommandons de toujours utiliser une géodatabase fichier (plutôt qu'une géodatabase personnelle ou un espace de travail de fichier de formes) comme espace de travail temporaire.

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 :

Rubriques connexes


7/10/2012