Die Geoverarbeitungsumgebung umfasst die Fenster und Dialogfelder, mit denen Sie Werkzeuge verwalten und ausführen können. Im vorliegenden Thema werden die allgemeinen Konzepte und Grundgedanken der Geoverarbeitungsumgebung erläutert. Auf ihre Verwendung wird dabei 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 gemeinsam mit den anderen ArcGIS-Benutzern verwenden 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 von Softwareprodukten sind die beiden folgenden Hauptelemente 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 übersichtliche Zusammenstellung integrierter Schnittstellen, über die vorhandene Werkzeuge organisiert und verwaltet sowie neue Werkzeuge erstellt werden können. Zu den Hauptkomponenten der Umgebung, die in Kurzer Überblick über die Geoverarbeitung ausführlich beschrieben werden, zählen folgende Elemente:
- Das Fenster Suchen, in dem Sie Werkzeuge suchen und ausführen können, sowie das Fenster Katalog, in dem Sie zu Toolboxes navigieren und darin enthaltene Werkzeuge verwalten oder ausführen können
- Das Werkzeugdialogfeld, in dem die Parameter für Werkzeuge interaktiv festgelegt werden können und das Werkzeug ausgeführt werden kann.
- Das Python-Fenster, 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
Über das Werkzeugdialogfeld können Sie ein einzelnes Werkzeug ausführen. Dies entspricht dem Ausführen einer Einzelanweisung in einer Programmiersprache. Die Ausführung einzelner Werkzeuge ist zwar praktisch, jedoch wäre das System nicht sehr nützlich, wenn Sie nicht mehrere Werkzeuge miteinander verketten könnten. Dabei wird die Ausgabe eines Werkzeugs wie bei einer Programmiersprache an das nächste Werkzeug übergeben.
In der Geoverarbeitungsumgebung können Sie Ihre Vorstellungen mithilfe des Fensters ModelBuilder schnell 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 mehreren Systemwerkzeugen in ArcGIS um Modelle.
Sie können dabei komplexe Modelle erstellen. Sie können in einem Modell alle Systemwerkzeuge oder benutzerdefinierten Werkzeuge verwenden, einschließlich anderer von Ihnen erstellter Modelle (da Modelle ebenfalls Werkzeuge darstellen). Sie können auch Schleifen und Bedingungen verwenden, um den logischen Fluss eines Modells zu steuern.
Modelle können 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. Jedoch wissen Sie, 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, darin diese drei Parameter festlegen und das Modell als Werkzeug "EigenerPuffer" speichern. Verwenden Sie dann dessen Dialogfeld anstatt des Dialogfeldes von Puffer. 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 damit einen Effektivitätsgewinn erzielt haben.
Skripterstellung
Sie können 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 Primitive und die Rohressourcen des Computers verwendet werden. Mithilfe von Skriptsprachen wie Python und Perl werden Anwendungen miteinander verknüpft. Dabei werden anwenderfreundliche Funktionen des Computers verwendet, sodass die Detailelemente, mit denen sich Programmierer auf Ebene der Systemsprache befassen müssen, verborgen bleiben. 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 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, wodurch dieses zu einem weiteren Werkzeug wird, das in einem Modell oder einem anderen Skript verwendet werden kann. Einige 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 ein eigenständiges Skript auf dem Datenträger.
Die Skripterstellung bietet sich in folgenden Fällen an:
- Sie benötigen eine erweiterte Programmierlogik (beispielsweise zur bedingten Ausführung und erweiterten Fehlerbehandlung), erweiterte Datenstrukturen (wie Wörterbücher und Listen) oder zusätzliche Funktionen in Form von Zeichenfolgen-, mathematischen und Dateibearbeitungsfunktionen. Viele Skriptsprachen wurden mithilfe von Drittanbieterbibliotheken um Dienstprogramme für erweiterte mathematische und statistische Funktionen, Webautomatisierung, Datenbankabfragen und erweiterte Systemfunktionen ergänzt.
- 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, z. B. auf die Ausdehnung einer Feature-Class oder die verschiedenen Eigenschaften von Einzelfeldern in einer Tabelle.
- Skripte können das Bindeglied zu anderer Software und damit die Verbindung zwischen Anwendungen darstellen. Angenommen, Sie verfügen über ein Modell, das eine einfache Textdatei ausgibt, die die Namen und Adressen der Eigentümer von Flurstücken enthält, die von einer Umstellung der Flächennutzung betroffen sind. Es soll nun 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 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 die schnelle Ausarbeitung 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, mit denen die Daten in ArcGIS (Tabellen, Feature-Classes, Raster, TINs usw.) verarbeitet werden. Außerdem werden damit Tasks ausgeführt, die für das Bearbeiten und Analysieren geographischer Daten in den unterschiedlichsten Disziplinen erforderlich sind.
Sie können Software in Form von Modellen und Skripten schnell 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, mit denen das einfache Modell zum Projizieren und Ausschneiden ausgeführt wird, das in Was ist Geoverarbeitung? beschrieben wird.
Werkzeuge werden von der Geoverarbeitungsumgebung verwaltet – die Verwaltung obliegt daher nicht Ihnen. Dies mag unbedeutend erschienen, ist jedoch ein wichtiger Punkt. Folgende Bereiche werden dabei verwaltet:
- Auf alle Werkzeuge – auf Systemwerkzeuge und benutzerdefinierte, d. h. vom Benutzer erstellte Werkzeuge – kann über die entsprechende Toolbox zugegriffen werden. Wenn Sie sich dagegen vorstellen, dass der Zugriff auf Modelle, Skripte, Systemwerkzeuge und benutzerdefinierte Werkzeuge über verschiedene Schnittstellen und Methoden erfolgen müsste – 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, die Einhaltung von 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 ganz einfach 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 einem Bestandteil 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. (Die meisten Systemwerkzeuge und die gesamte Geoverarbeitungsumgebung wurden mithilfe von ArcObjects erstellt.) Wie bei der Geoverarbeitung kann mit dem ArcObjects SDK Software erstellt werden.
Das ArcObjects-SDK und die Geoverarbeitung ergänzen einander. Das heißt nicht, dass sie einander gegenseitig ersetzen. 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 können Softwareelemente (Modelle und Skripte) erstellt werden, mit denen Tasks in der Umgebung automatisiert werden.
ArcObjects wird zusammen mit einer Systemprogrammiersprache verwendet, bei der Programmierer auf Grundroutinen der Hardware zugreifen müssen, um eine komplexe Logik und komplexe Algorithmen zu implementieren. Daher enthält ArcObjects Tausende von Objekten und Anforderungen: Diese ermöglichen Programmierern die detaillierte Steuerung im erforderlichen Umfang. Da ArcObjects zusammen mit einer Systemprogrammiersprache verwendet wird, sind hierfür fundiertere Programmierkenntnisse als für die Geoverarbeitung mit 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.