Beim Durchsuchen von Daten und Toolboxes haben Sie immer auch mit Pfaden zu tun. In diesem Thema 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 "Ordner" 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. Beispiel:
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:
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. Eine häufige Vorgehensweise besteht darin, den umgekehrten Schrägstrich folgendermaßen als Escape-Zeichen zu behandeln:
thePath = "E:\\data\\telluride\\newdata.gdb\\slopes"
Eine andere 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.
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)
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.
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 also das Stammverzeichnis auf Laufwerk D befindet, können Sie mit relativen Pfaden nicht zu einem Verzeichnis in 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:
- Daten in einem Modell
- Grafiken in einem Modell
- Im Modell verwendete Werkzeuge
- Dateien, auf die in Werkzeug-Metadaten und Hilfe verwiesen wird
- Stylesheets
- Für Symbologie verwendete Layer-Dateien (.lyr)
- Kompilierte Hilfedateien (.chm)
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).
Nur Pfade auf dem gleichen Datenträger werden konvertiert.
Relative Pfade können nicht auf einen Speicherort auf einem anderen Laufwerk verweisen. Wenn sich also das Stammverzeichnis auf Laufwerk D befindet, können Sie mit relativen Pfaden nicht zu einem Verzeichnis in 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:
- Das Skript
- Für die Standardwerteigenschaft verwendete Datasets
- Dateien, auf die in Werkzeug-Metadaten und Hilfe verwiesen wird
- Für Symbologieeigenschaft verwendete Layer-Dateien (.lyr)
- Kompilierte Hilfedateien (.chm)
- Stylesheets
Nur Pfade auf dem gleichen Datenträger werden konvertiert.
Relative Pfade können nicht auf einen Speicherort auf einem anderen Laufwerk verweisen. Wenn sich also das Stammverzeichnis auf Laufwerk D befindet, können Sie mit relativen Pfaden nicht zu einem Verzeichnis in 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.
Die Notation mit einem oder dem doppelten Punkt kann in Skripten nicht verwendet werden. 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.
Wann verwende ich relative und wann absolute Pfade?
Für absolute Pfade gilt Folgendes:
- Auch nach dem Verschieben des Dokuments oder der Toolbox an einen anderen Speicherplatz auf dem Computer werden die Daten beim erneuten Öffnen des Dokuments oder Werkzeugs gefunden.
- Auf den meisten privaten Computern bleibt der Speicherort von Daten in der Regel längere Zeit unverändert. Anders gesagt, auf privaten Computern werden Daten eher selten verschoben. In solchen Fällen werden absolute Pfade bevorzugt.
- Sie können auf Daten auf anderen Festplatten verweisen.
Für relative Pfade sind folgende Anpassungen notwendig:
- Wenn Sie ein Kartendokument oder eine Toolbox verschieben, müssen Sie auch die Daten verschieben, auf die verwiesen wird.
- Beim Bereitstellen von Dokumenten, Toolboxes und Daten für andere Benutzer sollten relative Pfade verwendet werden. Andernfalls ist auf dem Computer des Empfängers eine identische Verzeichnisstruktur erforderlich.
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.
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.
Beispiel:
\\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:
- UNC-Pfade dürfen keinen Laufwerksbuchstaben enthalten (beispielsweise D).
- Sie können nicht zu Verzeichnissen navigieren, die dem freigegebenen Verzeichnis übergeordnet sind.
- Das Aktivieren bzw. Deaktivieren des Kontrollkästchens Relative Pfadnamen speichern wirkt sich nicht auf UNC-Pfade aus.
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. Eine URL besteht aus folgenden Komponenten:
- Dem Protokoll für den Ressourcenzugriff, beispielsweise HTTP (Hypertext Transfer Protocol; Hypertext-Übertragungsprotokoll) oder FTP (File Transfer Protocol; Dateiübertragungsprotokoll)
- Dem Host (Server) für die Kommunikation
- Dem Pfad zu der Datei auf dem Host
Beispiel:
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 eine 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).