Erläuterung zu Pfaden: Absolute, relative, UNC- und URL-Pfade

Beim Durchsuchen von Daten und Toolboxes haben Sie immer auch mit Pfaden zu tun. Wahrscheinlich denken Sie nicht groß darüber nach. Das müssen Sie auch erst zu dem Zeitpunkt, an dem Sie Daten und Werkzeuge zum gemeinsamen Nutzen bereitstellen möchten. In diesem Abschnitt werden verschiedene Aspekte zu Pfaden, die verschiedenen Typen und deren Verwaltung in ArcGIS erläutert.

Pfade und Pfadnamen

Pfad

Ein Pfad besteht aus einer durch Schrägstriche getrennten Liste von Verzeichnisnamen, die mit einem Verzeichnis- oder Dateinamen endet. Der Begriff "Verzeichnis" wird synonym mit dem Begriff "Systemordner" verwendet.

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

Pfadname

Sie stoßen möglicherweise auf den Begriff Pfadname oder Pfad-Name. Pfad, Pfadname und Pfad-Name sind Synonyme.

System- und Katalogpfad

In ArcGIS wird der Begriff Katalogpfad oder ArcCatalog-Pfad verwendet. Bei einem Katalogpfad handelt es sich um einen Pfad, der nur von ArcGIS erkannt wird. Beispiele:

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

bezieht sich auf die Feature-Class Powerlines im Feature-Dataset EastValley der File-Geodatabase Infrastructure. Unter Windows ist dieser Systempfad ungültig, da Feature-Datasets oder Feature-Classes in einer File-Geodatabase unter Windows nicht erkannt werden. In ArcGIS werden Katalogpfade natürlich ordnungsgemäß verarbeitet.

Workspace- und Basisname

Katalogpfade bestehen aus zwei Teilen: dem Workspace- und dem Basisnamen, wie unten dargestellt:

Dataset-Name

Position

Speicherort ist ein allgemeiner Begriff für Pfad, z. B. "Navigieren Sie zum Speicherort der Daten" oder "Geben Sie den Speicherort der Daten ein".

Schrägstriche und umgekehrte Schrägstriche

Unter Windows wird ein umgekehrter Schrägstrich (\) als Trennzeichen in Pfaden verwendet. In UNIX-Systemen wird hingegen ein Schrägstrich (/) verwendet. In ArcGIS ist es egal, ob Sie einen Schrägstrich oder einen umgekehrten Schrägstrich in Ihrem Pfad verwenden. ArcGIS konvertiert diese immer in die entsprechende Betriebssystemkonvention.

Umgekehrter Schrägstrich bei Skripten

Programmiersprachen, deren Wurzeln in den Programmiersprachen UNIX und C liegen, z. B. Python, behandeln den umgekehrten Schrägstrich (\) als Escape-Zeichen. \n gibt z. B. einen Zeilenumbruch an. Da Pfade umgekehrte Schrägstriche enthalten können, müssen Sie verhindern, dass umgekehrte Schrägstriche als Escape-Zeichen interpretiert werden. Die einfachste Möglichkeit hierzu ist das Konvertieren von Pfaden in Python-Raw-Strings mit der Direktive r, wie unten dargestellt. Hiermit wird Python angewiesen, umgekehrte Schrägstriche zu ignorieren.

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

Absolute und relative Pfade

Absoluter bzw. vollständiger Pfad

Ein absoluter bzw. vollständiger Pfad beginnt mit dem Laufwerksbuchstaben und einem Doppelpunkt, beispielsweise D:.

Relativer Pfad

Ein relativer Pfad bezieht sich auf einen Speicherort in Relation zum aktuellen Verzeichnis. In relativen Pfaden werden zwei besondere Symbole verwendet: ein Punkt (.) und ein doppelter Punkt (..), die für das aktuelle und das übergeordnete Verzeichnis stehen. Doppelte Punkte verweisen auf höhere Ebenen in der Hierarchie. Ein einzelner Punkt stellt das aktuelle Verzeichnis selbst dar.

Angenommen, im folgenden Beispiel einer Verzeichnisstruktur sind Sie in Windows Explorer zu D:\Data\Shapefiles\Soils navigiert. Anschließend wird für einen relativen Pfad D:\Data\Shapefiles\Soils als aktuelles Verzeichnis verwendet (bis Sie zu einem neuen Verzeichnis navigieren und das neue Verzeichnis zum aktuellen Verzeichnis wird). Das aktuelle Verzeichnis wird gelegentlich auch als Stammverzeichnis bezeichnet.

Verzeichnisstruktur – Beispiel

Wenn Sie vom aktuellen Verzeichnis (Soils) zum Verzeichnis Landuse navigieren möchten, können Sie in Windows Explorer im Feld Adresse Folgendes eingeben:

..\Landuse

Daraufhin navigiert Windows Explorer zu D:\Data\Shapefiles\Landuse. Weitere Beispiele, in denen D:\Data\Shapefiles\Landuse als aktuelles Verzeichnis verwendet wird:

..               (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)
HinweisHinweis:

In ArcGIS-Anwendungen können Sie keine relativen Pfade (in der Notation mit einem oder dem doppelten Punkt) eingeben. Außerdem können Sie keine relativen Pfade in Python-Skripten verwenden.

Relative Pfade können nicht auf Speicherorte auf anderen Laufwerken verweisen. Wenn sich das aktuelle Verzeichnis beispielsweise auf Laufwerk "D" befindet, können Sie mit relativen Pfaden nicht zu einem Verzeichnis in Laufwerk "E" navigieren.

Absolute und relative Pfade in ArcMap

Beim Erstellen eines Dokuments in ArcMap (oder ArcScene oder ArcGlobe) können Sie angeben, dass die Pfade als relative Pfade gespeichert werden sollen. Um diese Option festzulegen, klicken Sie im Menü Datei auf Eigenschaften des Kartendokuments. Hier können Sie angeben, ob absolute oder relative Pfade gespeichert werden sollen.

Festlegen von relativen oder absoluten Pfaden

Beim Speichern eines Dokuments mit relativen Pfaden konvertiert die Anwendung alle Pfade in relative Pfade (in der Notation mit einem oder dem doppelten Punkt) in Relation zum Speicherort des Dokuments (das aktuelle Verzeichnis). Wenn beispielsweise das Dokument unter

D:\Maps\Posters\Newmap.mxd

und die Daten in einem der Layer unter

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

wird Folgendes in Newmap.mxd gespeichert:

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

Nach dem erneuten Öffnen von Newmap.mxd konvertiert ArcMap den gespeicherten relativen Pfad aus der Notation mit einem oder dem doppelten Punkt zurück in die Darstellung mit dem absoluten Pfadnamen, der als Datenquelle für den Layer angezeigt wird. Diese Konvertierung ist immer relativ zum Speicherort des Kartendokuments (das aktuelle Verzeichnis).

Nur Pfade auf dem gleichen Datenträger werden konvertiert.

Relative Pfade können nicht auf einen Speicherort auf einem anderen Laufwerk verweisen. Wenn sich das Stammverzeichnis daher auf Laufwerk "D" befindet, können Sie nicht mithilfe von relativen Pfaden zu einem Verzeichnis auf Laufwerk "E" navigieren. Wenn Sie das Kartendokument mit relativen Pfaden speichern, werden nur Pfade auf dem gleichen Laufwerk konvertiert und gespeichert.

Weitere Informationen zum Verweisen auf Daten in einem Kartendokument

Absolute und relative Pfade in Modellwerkzeugen

Genau wie für Daten in ArcMap können Sie angeben, dass Pfade in Modellwerkzeugen als relative Pfade gespeichert werden sollen.

Das aktuelle Verzeichnis für relative Pfade ist das Verzeichnis, in dem sich die Toolbox des Werkzeugs befindet. Mit der Option zum Speichern von relativen Pfaden können Pfade zu folgenden Elementen konvertiert und gespeichert werden:

Um Pfade als relative Pfade zu speichern, klicken Sie mit der rechten Maustaste auf das Modellwerkzeug, danach auf Eigenschaften und dann auf die Registerkarte Allgemein. Aktivieren Sie im unteren Bereich des Dialogfeldes, wie in der folgenden Abbildung gezeigt, das Kontrollkästchen Relative Pfadnamen speichern (statt absoluter Pfade).

Relative Pfade in Modellwerkzeugen

Nur Pfade auf dem gleichen Datenträger werden konvertiert.

Relative Pfade können nicht auf einen Speicherort auf einem anderen Laufwerk verweisen. Wenn sich das Stammverzeichnis daher auf Laufwerk "D" befindet, können Sie nicht mithilfe von relativen Pfaden zu einem Verzeichnis auf Laufwerk "E" navigieren. Wenn Sie das Modell mit relativen Pfaden speichern, werden nur Pfade auf dem gleichen Laufwerk konvertiert und gespeichert.

Absolute und relative Pfade in Skriptwerkzeugen

Wenn Sie den Assistenten "Skript hinzufügen" verwenden, wird die Option zum Speichern relativer Pfade im ersten Fenster angezeigt. Sie können diese Option auch festlegen, indem Sie mit der rechten Maustaste auf das Skriptwerkzeug klicken, auf Eigenschaften klicken und dann auf die Registerkarte Allgemein klicken. Aktivieren Sie im unteren Bereich des Dialogfeldes das Kontrollkästchen Relative Pfadnamen speichern (statt absoluter Pfade).

Das aktuelle Verzeichnis für relative Pfade ist das Verzeichnis, in dem sich die Toolbox des Werkzeugs befindet. Mit der Option zum Speichern von relativen Pfaden können Pfade zu folgenden Elementen konvertiert und gespeichert werden:

Nur Pfade auf dem gleichen Datenträger werden konvertiert.

Relative Pfade können nicht auf einen Speicherort auf einem anderen Laufwerk verweisen. Wenn sich das Stammverzeichnis daher auf Laufwerk "D" befindet, können Sie nicht mithilfe von relativen Pfaden zu einem Verzeichnis auf Laufwerk "E" navigieren. Wenn Sie das Skriptwerkzeug mit relativen Pfaden speichern, werden nur Pfade auf dem gleichen Laufwerk konvertiert und gespeichert.

Pfade im Skript werden nicht konvertiert.

Es gibt kein zuverlässiges Verfahren, mit dem ArcGIS den Skriptcode untersucht, alle Pfade findet und sie in relative Pfade konvertiert. Darüber hinaus können Sie die Notation mit einem oder dem doppelten Punkt in Skripten nicht verwenden. Der folgende Code kann z. B. nicht ordnungsgemäß ausgeführt werden:

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

Dies liegt daran, dass es sich bei ..\redlands.mdb\streets um einen relativen Pfad handelt.

Sie müssen den Skriptcode so ändern, dass Daten relativ zu einem bekannten Speicherort gesucht werden können. Den Speicherort, den Sie leicht finden, ist der Speicherort des Skripts, wie unter Verfahren für die gemeinsame Verwendung von Python-Skripten beschrieben.

Wann verwende ich relative und wann absolute Pfade?

Für absolute Pfade gilt Folgendes:

Für relative Pfade sind folgende Anpassungen notwendig:

Angenommen, die in der folgenden Abbildung dargestellte Verzeichnisstruktur liegt vor. In diesem Beispiel enthält D:\Tools\Toolboxes\Toolbox1 ein Skriptwerkzeug, das die Datei D:\Tools\Scripts\MyScript.py verwendet.

Beispielstruktur

Wenn absolute Pfade verwendet werden und Sie die Toolbox von

    D:\Tools\Toolboxes\Toolbox1

auf eine andere Festplatte, beispielsweise

    E:\Final\Toolbox1

verschoben haben, findet ArcGIS D:\Tools\Scripts\MyScript.py, und das Werkzeug funktioniert ordnungsgemäß. Wenn Sie jedoch relative Pfade verwenden, findet ArcGIS das Skript nicht, und das Werkzeug funktioniert nicht. Zwar wird das Dialogfeld des Werkzeugs geöffnet, aber beim Ausführen wird die Fehlermeldung "Das zu diesem Werkzeug gehörige Skript ist nicht vorhanden" angezeigt. Sie müssen die Eigenschaften des Werkzeugs aufrufen und den korrekten Pfad des Skripts eingeben.

Wenn Sie relative Pfade verwenden, können Sie jedoch auch den Ordner D:\Tools an einen beliebigen Speicherort auf einem beliebigen Computer kopieren. In diesem Fall funktioniert das Werkzeug ordnungsgemäß. Bei absoluten Pfaden wäre dies jedoch nicht der Fall, da der Empfänger den Ordner nach F:\NewTools kopieren könnte und dann der Pfad D:\Tools\Scripts\MyScript.py auf dessen Computer nicht vorhanden wäre.

Zusammenfassung

  • Relative Pfade können nicht auf einen Speicherort auf einem anderen Laufwerk verweisen.
  • Absolute Pfade werden empfohlen, wenn Daten nicht verschoben werden. Dies ist auf privaten Computern in der Regel der Fall.
  • Relative Pfade werden empfohlen, wenn Dokumente und Daten für andere Benutzer bereitgestellt werden.
  • Für relative Pfade wird die Notation mit einem oder zwei Punkten (. und ..) verwendet. Relative Pfade können mit dieser Notation in Windows Explorer oder an einer Windows-Eingabeaufforderung eingegeben werden.
  • In ArcGIS können keine relativen Pfade in der Notation mit einem oder dem doppelten Punkt eingegeben werden. Relative Pfade werden hingegen im Dokument oder in der Toolbox gespeichert (sofern das Kontrollkästchen "Relative Pfadnamen speichern" aktiviert ist).
  • Relative Pfade beziehen sich auf das jeweils aktuelle Verzeichnis. Hierbei handelt es sich um den Speicherort des gespeicherten Dokuments oder der gespeicherten Toolbox.

UNC-Pfade

UNC steht für Universal (oder "Uniform" oder "Unified") Naming Convention (universelle, einheitliche oder vereinheitlichte Benennungsregel) und stellt eine Syntax für den Zugriff auf Ordner und Dateien in einem Computernetzwerk dar. Folgende Syntax wird verwendet:

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

Es folgt eine Liste mit einer beliebigen Anzahl von Verzeichnissen, die mit einem Verzeichnis- oder Dateinamen endet.

Beispiele:

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

Dem Computernamen wird stets ein doppelter umgekehrter Schrägstrich (\\) vorangestellt.

In einem UNC-Pfad wird der Computername auch als Host-Name bezeichnet.

Es gibt einige Regeln für UNC-Pfade:

In ArcGIS können Sie UNC-Pfade an allen Stellen verwenden, an denen ein Pfad eingegeben werden muss. Für freigegebene Daten im LAN (Local Area Network) ist dies besonders vorteilhaft. Daten können auf einem Computer gespeichert und von allen Benutzern mit Zugriff auf diesen Computer verwendet werden, sofern der Computer nicht ausgeschaltet oder aus dem Netzwerk entfernt wird.

Unter Windows können Sie einen Ordner für andere Benutzer im lokalen Netzwerk freigeben. Klicken Sie hierzu in ArcCatalog oder Windows-Explorer mit der rechten Maustaste auf den entsprechenden Ordner, klicken Sie auf Freigabe und Sicherheit und folgen Sie den Anweisungen im anschließend geöffneten Dialogfeld.

URLs

URL steht für Uniform Resource Locator (einheitliche Ressourcenadresse). Damit wird die Adresse eines Dokuments im Internet eindeutig angegeben. Ein URL besteht aus folgenden Komponenten:

Beispiele:

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

In Windows Internet Explorer können Sie in der Adressleiste www.esri.com eingeben und http:// wird automatisch hinzugefügt. Richtiger wäre jedoch, das Protokoll, beispielsweise http, ebenfalls anzugeben. Weitere Protokolle sind beispielsweise HTTPS (sicheres Hypertext-Übertragungsprotokoll), FTP (Dateiübertragungsprotokoll), mailto (E-Mail-Adresse) und news (Usenet-Newsgroups).

In ArcGIS können Sie URLs nur an den dafür vorgesehenen Stellen verwenden. Im Allgemeinen wird auf der Benutzeroberfläche angezeigt, ob ein URL zulässig oder erforderlich ist. Beim Verwenden von URLs in ArcGIS wird empfohlen, das Protokoll anzugeben, beispielsweise folgendermaßen:

http://www.esri.com

Von der folgenden Eingabe wird abgeraten:

www.esri.com

Pfad der ArcSDE-Verbindungsdatei

Geoverarbeitungswerkzeuge verwenden den Pfad zu einer ArcSDE-Verbindungsdatei (.sde), um Daten in einer ArcSDE-Datenbank zu suchen.

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

Die Verbindungsinformationen in der .sde-Datei werden verwendet, um eine Verbindung zu ArcSDE herzustellen. Die Geodatabase sucht nach den angeforderten Daten wie bei File- oder Personal-Geodatabases (siehe oben).

Wie bei anderen Geodatabase-Datenformaten (.gdb und .mdb) sollten Sie die .sde-Dateien im Ordner "ToolShare" speichern. Ihre Werkzeuge sollten mit relativen Pfaden auf die .sde-Datei zugreifen. Es wird nicht empfohlen, den Standardspeicherort zu verwenden, an dem ArcGIS ArcSDE-Verbindungsdateien speichert (den Systempfad für Datenbankverbindungen), um .sde-Dateien bei der gemeinsamen Nutzung von Werkzeugen zu speichern und auf sie zuzugreifen. Dieser Speicherort ist für jeden Benutzer anders (mit Ihrem lokalen Windows-Benutzerprofil verknüpft) und kann .sde-Dateien enthalten, die denselben Namen wie die Objekte haben, die Ihre gemeinsam genutzten Werkzeuge verwenden, jedoch mit anderen Verbindungsinformationen, sodass Ihre Werkzeuge eventuell nicht korrekt ausgeführt werden.

HinweisHinweis:

Bei der Verwendung von ArcSDE-Daten in gemeinsam genutzten Werkzeugen, müssen die Werkzeuge auf die .sde-Datei zugreifen können. Ferner muss die .sde-Datei sichere, autorisierte Verbindungsinformationen für den Benutzer enthalten, mit dem Sie das Werkzeug gemeinsam nutzen, und der Benutzer muss Zugriff auf das Netzwerk haben, in dem sich die ArcSDE-Geodatabase befindet. In vielen Organisationen wird es als Sicherheitsverletzung betrachtet, Datenbankverbindungsinformationen an Personen weiterzugeben, die nicht autorisiert sind, eine Verbindung mit der Datenbank herzustellen. Wenn Sie eine ArcSDE-Verbindungsdatei mit Ihren Verbindungsinformationen an eine andere Person weitergeben, verletzen Sie eventuell die Sicherheitsrichtlinien Ihrer Organisation. Um Sicherheitsprobleme zu vermeiden, sollten Sie zuerst sicherstellen, dass der Benutzer, mit dem Sie Werkzeuge gemeinsam nutzen, autorisiert ist, eine Verbindung zur ArcSDE-Datenbank herzustellen. In diesem Fall sollte die .sde-Datei, die Sie im Ordner "ToolShare" bereitstellen, keinen Benutzernamen/kein Kennwort enthalten, und Sie sollten Dokumentation zum Aktualisieren der ArcSDE-Verbindungsdatei mit den Verbindungsinformationen des Benutzers bereitstellen. Wenden Sie sich an Ihre ArcSDE- und Datenbankadministratoren, um mehr über die Sicherheitsrichtlinien Ihrer Organisation zu erfahren.

Verwandte Themen


7/10/2012