Explication des chemins : absolus, relatifs, UNC et URL

Vous utilisez chaque jour des chemins pour accéder à vos données et boîtes à outils. Vous n'y pensez sans doute pas beaucoup, ni n'avez besoin d'y penser, jusqu'au moment où vous devez partager vos données et vos outils. Cette section présente en détail les chemins, en définissant les différents types et la manière dont ArcGIS les gère.

Chemins et chemins d'accès

Chemin

Un chemin d'accès est une liste de noms de répertoires séparés par des barres obliques, suivis d'un nom de répertoire ou d'un nom de fichier. Un répertoire est identique à un dossier système.

E:\Data\MyStuff            (path terminating in a directory name)
E:\Data\MyStuff\roads.shp  (path terminating in a file name)

Chemin d'accès

Parfois, vous pouvez voir le terme chemin d'accès ou nom de chemin. Chemin, chemin d'accès et nom de chemin sont synonymes.

Chemin système et chemin de catalogue

ArcGIS utilise le terme chemin de catalogue ou chemin ArcCatalog. Un chemin de catalogue est un chemin reconnu uniquement par ArcGIS. Par exemple :

D:\Data\Final\Infrastructure.gdb\EastValley\powerlines

fait référence à la classe d'entités de lignes à haute tension présentes dans le jeu de données d'entité EastValley dans la géodatabase fichier Infrastructure. Ce n'est pas un chemin système valide pour le système d'exploitation Windows, car Windows ne reconnaît pas les jeux de données d'entité ou les classes d'entités dans une géodatabase fichier. Bien sûr, tout dans ArcGIS peut fonctionner avec les chemins de catalogue.

Espace de travail et nom de base

Les chemins de catalogue consistent en deux parties : l'espace de travail et le nom de base, comme illustré ci-dessous :

Nom du jeu de données

Emplacement

L'emplacement est un terme fourre-tout pour le chemin, comme dans "Accédez à l'emplacement de vos données" ou "Entrez l'emplacement de vos données".

Barres obliques et barres obliques inverses

La convention propre à Windows stipule l'utilisation d'une barre oblique inverse (\) comme séparateur dans un chemin. Les systèmes UNIX utilisent une barre oblique (/). Dans ArcGIS, cela n'a pas d'importance que vous utilisiez une barre oblique ou une barre oblique inverse dans votre chemin. ArcGIS transpose toujours les barres obliques et les barres obliques inverses selon la convention de système d'exploitation appropriée.

Barres obliques inverses dans les scripts

Les langages de programmation qui ont leurs racines dans UNIX et le langage de programmation C, comme Python, utilisent la barre oblique inverse (\) comme caractère d'échappement. Par exemple, \n correspond à un retour chariot. Comme les chemins peuvent contenir des barres obliques inverses, vous devez empêcher l'utilisation de la barre oblique inverse comme caractère d'échappement. La méthode la plus simple consiste à convertir les chemins en chaînes brutes Python à l'aide de la directive r, comme illustré ci-dessous. Cela indique à Python d'ignorer les barres obliques inverses.

thePath = r"E:\data\telluride\newdata.gdb\slopes"

Chemins absolus et relatifs

Chemin absolu ou complet

Un chemin absolu, ou complet, commence par une lettre de lecteur suivie par deux-points, par exemple D:.

Chemin relatif

Un chemin relatif fait référence à un emplacement qui est relatif à un répertoire courant. Les chemins relatifs utilisent deux symboles spéciaux, le point (.) et deux pointillés (..), qui correspondent au répertoire courant et au répertoire parent. Deux pointillés sont utilisés pour monter d'un niveau dans la hiérarchie. Un point unique représente le répertoire courant lui-même.

Dans l'exemple de structure de répertoires ci-dessous, supposez que vous avez utilisé l'Explorateur Windows pour accéder à D:\Data\Shapefiles\Soils. Après avoir accédé à ce répertoire, un chemin relatif utilisera D:\Data\Shapefiles\Soils comme répertoire courant (jusqu'à ce que vous accédiez à un nouveau répertoire, auquel cas le nouveau répertoire devient le répertoire courant). Le répertoire courant est parfois appelé répertoire racine.

Exemple de structure de répertoires

Pour accéder au répertoire Landuse à partir du répertoire courant (Soils), vous pouvez saisir ce qui suit dans la zone d'édition Adresse de l'Explorateur Windows :

..\Landuse

L'Explorateur Windows accédera à D:\Data\Shapefiles\Landuse. Voici quelques exemples supplémentaires d'utilisation de D:\Data\Shapefiles\Landuse comme répertoire courant :

..               (D:\Data\Shapefiles)
..\..            (D:\Data)
..\..\Final      (D:\Data\Final)
.                (D:\Data\Shapefiles\Landuse - the current directory)
.\..\Soils       (D:\Data\Final\Soils)
..\..\.\Final\..\Shapefiles\.\Landuse  (D:\Data\Shapefiles\Landuse)
RemarqueRemarque :

Vous ne pouvez pas saisir de chemins relatifs (utilisant les symboles point et double pointillé) dans les applications ArcGIS. Vous ne pouvez pas non plus utiliser de chemins relatifs dans les scripts Python.

Un chemin relatif ne peut pas couvrir plusieurs lecteurs de disques. Par exemple, si votre répertoire courant est sur le lecteur D:, vous ne pouvez pas utiliser des chemins relatifs pour accéder à un répertoire quel qu'il soit sur le lecteur E:

Chemins absolus et relatifs dans ArcMap

Lorsque vous créez un document ArcMap (ou ArcScene ou ArcGlobe), vous pouvez spécifier que les chemins seront stockés en tant que chemins relatifs. Pour définir cette option, cliquez sur le menu Fichier, puis sur Propriétés de la carte. Ici, vous pouvez spécifier s'il faut stocker des chemins absolus ou relatifs.

Définition de chemins relatifs ou absolus

Lorsque vous enregistrez un document avec des chemins relatifs, l'application convertit les chemins en chemins relatifs (en utilisant les symboles point et double pointillé) par rapport à l'emplacement où vous avez stocké le document (répertoire courant). Par exemple, si votre document est stocké dans

D:\Maps\Posters\Newmap.mxd

et que les données suivantes sont incluses dans l'une de vos couches :

D:\Data\Final\Infrastructure.gdb\Streets

les données suivantes sont stockées dans Newmap.mxd :

..\..\Data\Final\Infrastructure.gdb\Streets

Lorsque vous ouvrez Newmap.mxd de nouveau, ArcMap convertit en retour le chemin relatif, stocké avec les symboles point et double pointillé, vers la représentation de chemin absolu, qui est affichée comme source de données pour une couche. Cette conversion s'effectue toujours par rapport à l'emplacement de la carte (répertoire courant).

Seuls des chemins sur un même disque sont convertis

Les chemins relatifs ne peuvent pas couvrir plusieurs lecteurs de disques. Autrement dit, si le répertoire racine se trouve sur le lecteur D, vous ne pouvez pas utiliser de chemins relatifs pour accéder à un répertoire sur le lecteur E. Lorsque vous stockez votre carte à l'aide de chemins relatifs, seuls les chemins présents sur le même lecteur sont convertis et stockés.

Pour en savoir plus sur le référencement des données dans une carte

Chemins absolus et relatifs dans les outils de modèles

Comme pour les données dans ArcMap, vous pouvez spécifier que les chemins dans vos outils de modèle soient stockés en tant que chemins relatifs.

Le répertoire courant utilisé pour les chemins relatifs est le répertoire où la boîte à outils de l'outil réside. L'option de chemin relatif convertit et stocke des chemins vers les éléments suivants :

Pour stocker sous la forme de chemins relatifs, cliquez avec le bouton droit sur l'outil de modèle, cliquez sur Propriétés puis cliquez sur l'onglet Général. En bas de la boîte de dialogue, cochez Enregistrer les chemins relatifs (au lieu des chemins absolus), comme illustré ci-dessous.

Chemins relatifs dans des outils de modèle

Seuls des chemins sur un même disque sont convertis

Les chemins relatifs ne peuvent pas couvrir plusieurs lecteurs de disques. Autrement dit, si le répertoire racine se trouve sur le lecteur D, vous ne pouvez pas utiliser de chemins relatifs pour accéder à un répertoire sur le lecteur E. Lorsque vous stockez votre modèle à l'aide de chemins relatifs, seuls les chemins présents sur le même lecteur sont convertis et stockés.

Chemins absolus et relatifs dans les outils de script

Lorsque vous utilisez l'assistant Ajouter un script, l'option permettant de stocker les chemins relatifs figure dans le premier volet. Vous pouvez également définir cette option en cliquant avec le bouton droit sur l'outil de script, en cliquant sur Propriétés, puis en cliquant sur l'onglet Général. En bas de la boîte de dialogue, cochez Enregistrer les chemins relatifs (au lieu des chemins absolus).

Le répertoire courant utilisé pour les chemins relatifs est le répertoire où la boîte à outils de l'outil réside. L'option de chemin relatif convertit et stocke des chemins vers les éléments suivants :

Seuls des chemins sur un même disque sont convertis

Les chemins relatifs ne peuvent pas couvrir plusieurs lecteurs de disques. Autrement dit, si le répertoire racine se trouve sur le lecteur D, vous ne pouvez pas utiliser de chemins relatifs pour accéder à un répertoire sur le lecteur E. Lorsque vous stockez votre outil de script à l'aide de chemins relatifs, seuls les chemins présents sur le même lecteur sont convertis et stockés.

Les chemins inclus dans le script ne sont pas convertis

Il n'existe pas de méthode fiable permettant à ArcGIS d'examiner votre code de script, de trouver tous les chemins et de les convertir en chemins relatifs. En outre, vous ne pouvez pas utiliser les symboles point et double pointillé dans les scripts. Par exemple, le code suivant ne fonctionnera pas :

arcpy.AddField_management("..\redlands.mdb\streets", "ref_ID", "long", "9", "#", "#", \
             "refcode", "NULLABLE", "REQUIRED", "#")

car ..\redlands.mdb\streets est un chemin relatif.

Vous devez modifier votre code de script afin de pouvoir trouver des données relatives à un emplacement connu. L'emplacement que vous pouvez trouver facilement est l'emplacement du script, comme cela est décrit dans la rubrique Techniques de partage des scripts Python.

Pourquoi utiliser des chemins relatifs ou des chemins absolus ?

A l'aide de chemins absolus, les éléments suivants sont vrais :

A l'aide de chemins relatifs, ces ajustements sont nécessaires :

Par exemple, considérez la structure de répertoires ci-dessous. Dans cet exemple, D:\Tools\Toolboxes\Toolbox1 contient un outil de script qui utilise D:\Tools\Scripts\MyScript.py.

Exemple de structure

En utilisant des chemins absolus, si vous déplacez la boîte à outils de

    D:\Tools\Toolboxes\Toolbox1

vers un disque différent, tel que

    E:\Final\Toolbox1

ArcGIS trouvera D:\Tools\Scripts\MyScript.py et tout fonctionnera correctement. Toutefois, si vous utilisez des chemins relatifs, ArcGIS ne trouvera pas le script et l'outil ne fonctionnera pas. La boîte de dialogue de l'outil apparaîtra mais, lorsque vous exécuterez l'outil, le message d'erreur "Le script associé à cet outil n'existe pas" s'affichera. Vous devrez accéder aux propriétés de l'outil et entrer le chemin correct du script.

En revanche, si vous utilisez des chemins relatifs, vous pouvez simplement copier le dossier D:\Tools à un emplacement quelconque sur tout ordinateur et tout fonctionnera correctement. Cela ne fonctionnera pas si vous utilisez des chemins absolus, car le destinataire pourrait copier le dossier dans F:\NewTools et le chemin d'accès D:\Tools\Scripts\MyScript.py n'existera pas sur son ordinateur.

Récapitulatif

  • Les chemins relatifs ne peuvent pas couvrir plusieurs lecteurs de disques.
  • Les chemins absolus fonctionnent de façon optimale lorsque les données ne sont pas déplacées, ce qui est une règle générale pour les disques d'un ordinateur personnel.
  • Les chemins relatifs fonctionnent de façon optimale lorsque vous fournissez des documents et des données à un autre utilisateur.
  • Les chemins relatifs utilisent les symboles point et double pointillé (. et ..). Vous pouvez entrer des chemins relatifs avec cette notation dans l'Explorateur Windows ou dans une invite de commandes Windows.
  • ArcGIS ne vous permet pas d'entrer des chemins relatifs en utilisant les symboles point et double pointillé. A la place, les chemins relatifs sont stockés dans le document ou la boîte à outils (une fois que l'option Enregistrer les chemins relatifs est activée).
  • Les chemins relatifs sont relatifs à un répertoire courant, qui correspond à l'emplacement du document ou de la boîte à outils enregistré(e).

Chemins UNC

UNC correspond à Universal (ou Uniform ou Unified) Naming Convention (convention d'attribution de nom universelle, ou uniforme ou unifiée). Il s'agit d'une syntaxe d'accès aux dossiers et aux fichiers sur un réseau d'ordinateurs. La syntaxe est la suivante :

\\<computer name>\<shared directory>\

suivi d'un nombre quelconque de répertoires et terminé par un nom de répertoire ou de fichier.

Par exemple :

\\pondermatic\public\studyarea.gdb
\\omnipotent\shared_stuff\wednesday\tools

Le nom de l'ordinateur est toujours précédé d'une double barre oblique inverse (\\).

Dans la convention UNC, le nom de l'ordinateur est également désigné par le terme "nom de l'hôte".

Voici quelques règles relatives aux chemins UNC :

Dans ArcGIS, vous pouvez utiliser un chemin UNC chaque fois qu'un chemin est demandé. Cela est particulièrement avantageux dans le cas de données partagées sur un réseau local (LAN). Les données peuvent être stockées sur un ordinateur et chaque personne ayant accès à l'ordinateur peut utiliser les données, tant que l'ordinateur n'est pas éteint ou supprimé du réseau.

Sous Windows, vous pouvez partager un dossier de manière que les autres utilisateurs de votre réseau local puissent y accéder. Dans ArcCatalog ou l'Explorateur Windows, cliquez avec le bouton droit sur un dossier, cliquez sur Partage et sécurité, puis suivez les instructions de la boîte de dialogue qui s'affiche.

URL

L'acronyme URL correspond à Uniform Resource Locator (localisateur de ressources uniformes). L'URL précise l'adresse unique d'un document sur Internet. Les composants d'une URL sont les suivants :

Par exemple :

http://www.esri.com/products.html

Windows Internet Explorer vous permet de saisir simplement www.esri.com dans la barre d'adresse. Il ajoute automatiquement http://. Il est néanmoins plus correct de préciser le protocole, par exemple http. Parmi les autres protocoles, citons HTTPS (Secure HyperText Transfer Protocol), FTP (File Transfer Protocol), mailto (adresse électronique) et news (groupes de discussion Usenet).

Dans ArcGIS, vous ne pouvez utiliser des URL que lorsque cela est permis. En général, l'interface utilisateur précise si une URL est autorisée ou nécessaire. Lorsque vous utilisez des URL dans ArcGIS, nous vous conseillons d'inclure le protocole, comme dans

http://www.esri.com

au lieu de

www.esri.com

Chemin du fichier de connexion ArcSDE

Les outils de géotraitement utilisent le chemin d'accès à un fichier de connexion ArcSDE (.sde) pour localiser des données stockées dans une base de données ArcSDE.

D:\Data\Final\Connection to ArcSDE.sde\EastValley\powerlines

Les informations de connexion du fichier .sde permettent de créer une connexion à ArcSDE et la géodatabase recherche les données nécessaire comme elle le fait pour les géodatabases fichier et personnelles (voir ci-dessus).

Comme avec d'autres formats de données de géodatabase (.gdb et .mdb), vous devez stocker vos fichiers .sde sous votre dossier ToolShare et vos outils doivent accéder au fichier .sde à l'aide de chemins relatifs. Il n'est pas recommandé d'utiliser l'emplacement par défaut où ArcGIS stocke des fichiers de connexion ArcSDE, le chemin système des connexions de base de données, pour stocker les fichiers .sde et y accéder lors du partage d'outils. Cet emplacement est différent pour chaque utilisateur (il est associé à votre profil d'utilisateur Windows local) et peut contenir des fichiers .sde portant le même nom que vos outils partagés, mais avec des informations de connexion différentes qui peuvent entraîner des échecs pour vos outils.

RemarqueRemarque :

Lorsque vous utilisez des données ArcSDE dans des outils partagés, non seulement l'outil que vous partagez doit avoir accès au fichier .sde, mais le fichier .sde doit également contenir les informations de connexion sécurisée, autorisées pour l'utilisateur avec qui vous partagez l'outil, et cet utilisateur doit avoir accès au réseau sur lequel réside la géodatabase ArcSDE. Dans de nombreuses organisations, le partage d'informations de connexion à une base de données avec quelqu'un qui n'est pas autorisé à se connecter à la base de données est considéré comme une infraction de sécurité. Le simple partage d'un fichier de connexion ArcSDE contenant vos informations de connexion avec quelqu'un d'autre pourrait vous mettre en infraction avec les politiques de sécurité de votre organisation. Pour éviter les problèmes de sécurité, vous devez d'abord vous assurer que l'utilisateur avec qui vous partagez vos outils a le droit de se connecter à la base de données ArcSDE. Si c'est le cas, le fichier .sde que vous fournissez dans le dossier ToolShare ne doit pas contenir de nom d'utilisateur/mot de passe et vous devez fournir une documentation qui explique comment mettre à jour le fichier de connexion ArcSDE avec les informations de connexion de l'utilisateur. Contactez vos administrateurs ArcSDE et de base de données pour avoir toutes les informations sur les règles de sécurité de votre organisation.

Rubriques connexes


7/10/2012