Die Geoverarbeitungsumgebung umfasst die Fenster und Dialogfelder, mit denen Sie Werkzeuge verwalten und ausführen können. Im vorliegenden Dokument werden die allgemeinen Konzepte und Grundgedanken dieser Umgebung erläutert. Auf ihre Verwendung wird nicht eingegangen.
Der grundlegende Zweck der Geoverarbeitung besteht darin, Ihnen das schnelle und einfache Entwickeln von Software zu ermöglichen, die Sie ausführen, verwalten, ändern, dokumentieren und für andere ArcGIS-Benutzer freigeben können. Software ist in diesem Zusammenhang ein Programm, das die gewünschten Anweisungen an ArcGIS ausgibt. Ein Geoverarbeitungsmodell ist beispielsweise eine neue Software, die Sie mit der unkomplizierten visuellen Programmiersprache "ModelBuilder" erstellen.
Dem vorliegenden Abschnitt liegt der Gedanke zugrunde, dass Ihnen die Geoverarbeitung das Erstellen neuer, hilfreicher Softwareprodukte ermöglicht. Dabei ist es unerlässlich, dass Sie über umfassende und eingehende Kenntnisse bezüglich der Verwendung der Geoverarbeitung verfügen.
Zum Erstellen neuer Softwareprodukte sind zwei wesentliche Elemente erforderlich:
- Eine formelle Sprache, mit der die im System erfassten Daten beschrieben und verarbeitet werden können.
- Eine Umgebung zum Erstellen, Verwalten und Ausführen der auf dieser Sprache basierenden Software. Diese umfasst Elemente wie Editoren, Browser und Dokumentationswerkzeuge.
Die Geoverarbeitungssprache besteht aus einer Vielzahl von Werkzeugen. Die Geoverarbeitungsumgebung ist eine kleine Zusammenstellung integrierter Schnittstellen, über die vorhandene Werkzeuge organisiert und verwaltet und neue Werkzeuge erstellt werden können. Die grundlegenden Komponenten der Umgebung werden in Kurzer Überblick über die Geoverarbeitung veranschaulicht und umfassen folgende Elemente:
- Das Fenster Suchen wird verwendet, um Werkzeuge zu suchen und auszuführen, und das Fenster Katalog wird verwendet, um zu Toolboxes zu navigieren und darin enthaltene Werkzeuge zu verwalten oder auszuführen.
- Das Werkzeugdialogfeld, in dem die Parameter für Werkzeuge interaktiv festgelegt werden können und das Werkzeug ausgeführt werden kann.
- Das Fenster Python, in dem ein Werkzeug durch Eingabe der Parameter ausgeführt werden kann.
- Das Fenster ModelBuilder zum Verketten von Werkzeugen.
- Methoden zum Erstellen von Skripten und Hinzufügen von Skripten zu Toolboxes.
Geoverarbeitungsmodelle und ModelBuilder
Im Werkzeug-Dialogfeld können Sie ein einzelnes Werkzeug ausführen. Dies entspricht dem Ausführen einer Einzelanweisung in einer Programmiersprache. Die Ausführung einzelner Werkzeuge ist sicherlich praktisch. Das System wäre jedoch nicht sehr nützlich, wenn Sie nicht mehrere Werkzeuge miteinander verketten könnten, wobei die Ausgabe eines Werkzeugs wie bei einer Programmiersprache an das nächste Werkzeug übergeben wird.
In der Geoverarbeitungsumgebung können Sie Ihre Vorstellungen mithilfe des Fensters ModelBuilder schnell und unkompliziert in Software umsetzen, indem Sie mehrere Elemente der Geoverarbeitungssprache (d. h. die Werkzeuge) in einer Abfolge miteinander verknüpfen. Machen Sie sich stets bewusst, dass Modelle Software darstellen, da Sie an den Computer Anweisungen zum Ausführen bestimmter Vorgänge ausgeben. Die Programmiersprache ist visuell (sie wird in ModelBuilder veranschaulicht) und nicht textgestützt wie eine herkömmliche Programmiersprache.
Besonders wichtig ist hier der Hinweis, dass Modelle Werkzeuge sind. Ihr Verhalten entspricht genau dem aller anderen Werkzeuge im System. Sie können Sie im Dialogfeld oder im Python-Fenster ausführen. Da Modelle Werkzeuge sind, können Sie Modelle in andere Modelle einbetten. Tatsächlich handelt es sich bei vielen der von ArcGIS bereitgestellten Systemwerkzeuge um Modelle.
Modelle können mit einer beliebigen Komplexität erstellt werden. Sie können alle Systemwerkzeuge oder benutzerdefinierten Werkzeuge in einem Modell verwenden, einschließlich anderer von Ihnen erstellter Modelle (da Modelle ebenfalls Werkzeuge darstellen) und auf Skripten basierender Werkzeuge. Sie können auch Schleifen und Bedingungen verwenden, um den logischen Fluss eines Modells zu steuern.
Modelle können sehr einfach und dennoch effektiv sein. Sie können ein Modell erstellen, das nur ein einziges Werkzeug enthält, in dem jedoch einige der zugehörigen Parameter eingebettet sind. Das Werkzeug Puffer akzeptiert beispielsweise sechs Parameter. Ihnen ist jedoch bekannt, dass drei dieser Parameter für die aktuell auszuführenden Tasks immer gleich sind. Anstatt diese Parameter bei jeder Ausführung des Werkzeugs Puffer anzugeben, können Sie schnell ein Modell erstellen und diese drei Parameter festlegen, das Modell als Werkzeug "EigenerPuffer" speichern und dessen Dialogfeld anstatt des Dialogfeldes Puffer verwenden. Möglicherweise verwenden Sie "EigenerPuffer" nur wenige Male, bevor Sie das Werkzeug wieder löschen. Das Werkzeug wurde jedoch so schnell und einfach erstellt, dass Sie Ihre Effektivität gesteigert haben.
Skripterstellung
Sie können neue, hilfreiche Software auch mithilfe einer Skriptsprache erstellen. Ein Skript ist ein Programm, das eine Skriptsprache verwendet. Bei der Softwareprogrammierung können Sprachen in zwei grundlegende Kategorien unterteilt werden: Systemsprachen und Skriptsprachen. Systemsprachen sind Sprachen wie C++ und .NET, mit denen Sie völlig neue Anwendungen erstellen können, wobei einfachste Primitiven und die Rohressourcen des Computers verwendet werden. Mithilfe von Skriptsprachen wie Python und Perl werden Anwendungen miteinander verknüpft. Dabei werden allgemeinere Funktionen des Computers verwendet, und die detaillierteren Elemente, mit denen sich Systemsprachenprogrammierer befassen müssen, werden verborgen. Im Unterschied zu Systemsprachen können Skriptsprachen leichter erlernt und verwendet werden. Sie können bereits mit Grundkenntnissen des Programmierens produktiv sein.
In der Geoverarbeitungsumgebung sind Skripte analog zu Modellen, da auch mit ihnen neue Werkzeuge erstellt werden können. Modelle werden mit einer visuellen Programmiersprache (ModelBuilder) und Skripte mit einer textbasierten Sprache und Texteditoren erstellt.
Wie Modelle sind Skripte ebenfalls Werkzeuge. Sie können ein Skript mithilfe eines Assistenten mit schrittweisen Anleitungen in eine benutzerdefinierte Toolbox integrieren, und dieses wird zu einem weiteren Werkzeug, das in einem Modell oder einem anderen Skript verwendet werden kann. Viele der Systemwerkzeuge sind Skripte. Sie können auch ein Skript erstellen und dieses nicht in eine Toolbox einbinden. In diesem Fall stellt das Skript jedoch kein Werkzeug dar, sondern lediglich ein eigenständiges Skript auf dem Datenträger.
Skripte empfehlen sich aus mehreren Gründen:
- In bestimmten Situationen können eine fortgeschrittenere Programmierlogik (beispielsweise bedingte Ausführung und erweiterte Fehlerbehandlung), erweiterte Datenstrukturen (wie Wörterbücher und Listen) oder zusätzliche Funktionen (Zeichenfolgen-, mathematische und Dateibearbeitungsfunktionen) erforderlich sein. Viele Skriptsprachen wurden mit Bibliotheken von Drittanbietern für erweiterte mathematische und statistische Funktionen, Webautomatisierung, Datenbankabfragen und erweiterte Systemfunktionen versehen.
- Einige allgemeine Geoverarbeitungsfunktionen sind nur in Skripten verfügbar. Mithilfe von Cursorn können Sie beispielsweise Datensätze einer Tabelle in einer Schleife durchlaufen, wobei Zeilen gelesen bzw. geschrieben und neue Zeilen eingefügt werden. Es sind Funktionen vorhanden, mit denen auf die Eigenschaften von ArcGIS-Daten zugegriffen werden kann, bis hin zu einer Feature-Class oder den diversen Eigenschaften von Einzelfeldern in einer Tabelle.
- In Skripten können hervorragend andere Softwareprodukte eingeschlossen werden, d. h. Anwendungen können miteinander verkettet werden. Angenommen, Sie verfügen über ein Modell, das eine einfache Textdatei mit den Namen und Adressen der Eigentümer von Flurstücken, die von einer Umstellung der Flächennutzung betroffen sind, und es soll ein anderes Programm gestartet werden, das diese Textdatei liest und offizielle Benachrichtigungsschreiben an die Eigentümer der betreffenden Flurstücke verfasst. Sie können dieses Programm zum Verfassen der Benachrichtigungsschreiben in ein Skript einschließen, dieses Skript in eine Toolbox integrieren und es direkt im Modell verwenden.
- Skripte können außerhalb von ArcGIS ausgeführt werden. Das heißt, Sie können das Skript direkt von der Eingabeaufforderung des Betriebssystems aus ausführen. (Das ArcPy-Site-Paket muss jedoch dennoch auf dem Computer installiert sein, da Sie auf die Geoverarbeitungswerkzeuge zugreifen müssen.)
Umgebung zum Erstellen und Verwalten von Software
Die Geoverarbeitungsumgebung wurde entwickelt, um Ihnen das schnelle und einfache Entwickeln von neuer Software zu ermöglichen, die vom System verwaltet und von mehreren Benutzern gemeinsam genutzt werden kann.
Die Geoverarbeitung ist eine Sprache, die aus Operatoren bzw. Werkzeugen besteht, die die Daten in ArcGIS (Tabellen, Feature-Classes, Raster, TINs usw.) verarbeiten und Tasks ausführen, die für das Bearbeiten und Analysieren geographischer Daten in einer Vielzahl von Disziplinen erforderlich sind.
Sie können neue Software schnell und einfach in Form von Modellen und Skripten erstellen. Von diesen neuen Werkzeugen werden Tasks ausgeführt, die nicht Bestandteil des ArcGIS-Standardpakets sind. In ArcGIS sind beispielsweise keine Menüs, Schaltflächen und Programmierobjekte vorhanden, die das einfache Modell zum Projizieren und Ausschneiden ausführen, das in Was ist Geoverarbeitung? beschrieben wird.
Werkzeuge werden von der Geoverarbeitungsumgebung verwaltet, d. h., Sie müssen sie nicht verwalten. Dies ist ein wesentlicher Vorteil, der häufig nicht sofort erkannt wird.
- Auf alle Werkzeuge (auf Systemwerkzeuge und benutzerdefinierte, d. h. vom Benutzer erstellte Werkzeuge) kann über ihre Toolbox zugegriffen werden. Stellen Sie sich dagegen eine Situation vor, in der der Zugriff auf Modelle, Skripte sowie Systemwerkzeuge und benutzerdefinierte Werkzeuge über verschiedene Schnittstellen und Methoden erfolgt – die Verwendung und Verwaltung wären ein Albtraum. Bei der Geoverarbeitung werden alle Elemente gleich erstellt und verwaltet, unabhängig davon, ob es sich um integrierte Werkzeuge, Modellwerkzeuge oder Skriptwerkzeuge handelt.
- Sämtliche Werkzeuge werden einheitlich dokumentiert. Nachdem Sie ein Werkzeug erstellt haben, können Sie es im Fenster Katalog dokumentieren, sodass es im System katalogisiert und gesucht werden kann. Stellen Sie sich dagegen vor, Dokumentationsstandards und die Verwaltung der Dokumentation blieben den Benutzern überlassen.
- Für alle Werkzeuge ist eine einheitliche Benutzeroberfläche verfügbar: das Dialogfeld. Diese Dialogfelder werden automatisch anhand der Werkzeugparameter erstellt. Sie müssen keine Benutzeroberflächen programmieren. Stellen Sie sich dagegen vor, das Design und die Programmierung der Benutzeroberfläche blieben dem Autor des Werkzeugs überlassen.
Werkzeuge können auf einfache Weise gemeinsam verwendet werden. Eine Toolbox mit allen zugehörigen Werkzeugen und Toolsets ist entweder in einer Datei mit der Erweiterung .tbx auf der Festplatte oder in einer Geodatabase enthalten. Alle Benutzer mit Zugriff auf die Datei oder Geodatabase können die darin enthaltenen Werkzeuge ausführen.
Der entscheidende Vorteil besteht darin, dass Ihre Werkzeuge zu vollständig integrierten Elementen der Geoverarbeitungsumgebung werden, mit einheitlicher Dokumentation, einheitlicher Benutzeroberfläche sowie einheitlichen Zugriffs- und Freigabemethoden.
Geoverarbeitung und ArcObjects
ArcObjects ist die umfassende Bibliothek allgemeiner Programmierungsobjekte, die im Rahmen des ArcGIS-SDK (Software Development Kit) bereitgestellt werden. Entwickler können mithilfe von ArcObjects neue Anwendungen erstellen oder den vorhandenen Funktionsumfang von ArcGIS-Anwendungen erweitern. (Zu Informationszwecken: Die meisten Systemwerkzeuge und die gesamte Geoverarbeitungsumgebung wurden mithilfe von ArcObjects erstellt.) Wie bei der Geoverarbeitung können mit dem ArcObjects-SDK neue Softwareprodukte erstellt werden.
Das ArcObjects-SDK und die Geoverarbeitung ergänzen einander. Das heißt nicht, dass sie einander gegenseitig ersetzen. Allgemein ausgedrückt: Durch ArcObjects wird ArcGIS um ein neues Verhalten erweitert, während mit der Geoverarbeitung Tasks automatisiert werden können. Mithilfe von ArcObjects können Sie neue Benutzeroberflächen erstellen, Feature-Classes benutzerdefiniertes Verhalten hinzufügen oder einen speziellen kartografischen Renderer erstellen. Mithilfe der Geoverarbeitung kann Software (Modelle und Skripte) erstellt werden, die Tasks im Rahmen einer ordnungsgemäßen Umgebung automatisiert.
ArcObjects wurde für die Verwendung mit einer Systemprogrammiersprache konzipiert, bei der Programmierer auf einfachste Primitiven zugreifen müssen, um eine komplexe Logik und komplexe Algorithmen zu implementieren. Daher enthält ArcObjects Tausende von unterschiedlichen Objekten und Anforderungen: Diese ermöglichen Programmierern die detaillierte Steuerung im benötigten Umfang. Da ArcObjects zusammen mit einer Systemprogrammiersprache verwendet wird, sind hierfür fundiertere Programmierkenntnisse als für die Geoverarbeitung mit ihren Modellen und Skripten erforderlich.
Die Geoverarbeitung ermöglicht hingegen ohne Einschränkung allen GIS-Benutzern das Automatisieren von Aufgaben, das Erstellen wiederholbarer und ordnungsgemäß definierter Methoden und Verfahren sowie das Modellieren wichtiger geographischer Prozesse.