Einführung in Theorie und Praxis Geographischer Informationssysteme

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Einführung in Theorie und Praxis Geographischer Informationssysteme"

Transkript

1 Einführung in Theorie und Praxis Geographischer Informationssysteme Dr. Alexander Zipf European Media Lab Lutz Nücker Universität Heidelberg Geographisches Institut

2 Einführung in Theorie und Praxis Geographischer Informationssysteme von Dr. Alexander Zipf und Lutz Nücker Copyright 2001 von Alexander Zipf und Lutz Nücker Alle in diesem Buch enthaltenen Angaben, Daten Ergebnisse usw. wurden von den Autoren nach bestem Wissen erstellt und von ihnen mit größtmöglicher Sorgfalt überprüft. Dennoch sind inhaltliche Fehler nicht völlig auszuschließen. Daher erfolgen die Angaben usw. ohne jegliche Verpflichtung oder Garantie der Autoren. Sie übernehmen deshalb keinerlei Verantwortung und Haftung für etwa vorhandene inhaltliche Unrichtigkeiten. Dieses Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung der Autoren unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

3 Inhaltsverzeichnis Vorwort...i 1. Grundlagen von Geographischen Informationssystemen... 1 Was ist ein GIS... 1 Wozu GIS?... 3 GIS und Datenbanken... 3 GIS und CAD... 4 GIS und Kartographie... 4 Einsatzbereiche von Geoinformationssystemen... 5 Digitale Geodaten... 6 Geoobjekte... 6 Geometrie versus Topologie... 8 Geometrie: Raster versus Vektor... 8 Topologie... 9 Topologie in ARC/INFO...10 Connectivity...10 Flächendefinition...10 Contiguity...10 Thematik und Dynamik...10 Thematik...10 Ebenenprinzip (Layerprinzip)...11 Objektklassenprinzip (Klassenhierarchien)...11 Dynamik...12 Datenbanken...12 Datenmodelle...13 Konzeptionelle Modellierung mit ER-Diagrammen...14 Entität...14 Beziehung...14 Attribute...15 Kardinaliät...15 Logische Datenbankschemata...15 Relationale Datenbanken...16 Grundbegriffe...16 Transaktion...17 Primärschlüssel...17 Fremdschlüssel...17 Sichten (Views)...18 Integritätsbedingungen...18 Referentielle Integrität...18 Indizes...19 Normalformen...19 Datenmanipulation und -selektion mit SQL...20 SQL als Datendefinitionssprache

4 Relationale Operationen...20 Mengenoperationen...21 Raumbezogene Erweiterungen von SQL (OPENGIS / SQL3)...22 Die Spatial Database Engine (SDE) von ESRI...24 Auf dem Weg zu raumzeitlichen Datenbanken...24 Speicherstrukturen für raumbezogene Daten...24 Analysefunktionen...25 Räumliche Transformationen...26 Räumliche Suche...26 Räumliche Statistik...26 Netzwerkanalyse...27 Oberflächenanalyse...27 Datenqualität...27 Fehlerquellen...28 Allgemeine Fehlerquellen...28 Räumliche Variationen...28 Verarbeitungsfehler...29 Metadaten...29 Weiterführende Literatur: Der Aufbau von ARC/INFO... 1 Architektur... 1 Die Benutzeroberfläche ARCTOOLS... 2 Datenmodelle... 3 Vektordaten... 3 Verknüpfung der Features mit den Attributdaten... 4 Das Coverage... 5 Die Coverage Feature Classes... 5 Arcs als Liniensegmente... 5 Nodes (Knotenpunkte)... 6 Pseudo Nodes... 7 Dangling Nodes... 7 Polygone... 8 Polygon Attributes... 8 Tics... 9 Annotation...10 Links...10 Route-Systems...10 Coverage Begrenzung (Boundary, BND)...12 Regions...12 Coverage-Verzeichnisstruktur...12 Map-Libraries...13 CAD-Zeichnungen...13 Shapefiles...13 Rasterdaten

5 Grids...14 Images...15 Dreidimensionale Daten...16 Lattice...16 Dreiecksvermaschung (TIN)...17 Workspaces...19 Erste Schritte in ARC/INFO...19 Grundsätzliche Bedienung...19 Initialisierung der Graphikfenster...20 Voreinstellungen beim Programmstart...21 Erhalten von Hilfe...22 Hilfe auf der Kommandozeile...22 Die Online-Hilfe ARCDOC...22 Der Tool Browser...26 Weitere nützliche Tools...27 Der Datenbetrachter...27 Umrechung von Maßeinheiten...27 Weiterführende Literatur: Erstellen der raumbezogenen Datengrundlage...29 Fragestellung und Arbeitsablauf...29 Namenskonventionen...30 Namensbeschränkungen...31 Einsatzbereiche von Arcedit...31 Kartengrundlage...31 Reihenfolge der Arbeitsschritte festlegen...31 Namenskonventionen, Verzeichnisstruktur festlegen...32 Karten vorbereiten...32 TICs...32 nicht eindeutige Elemente markieren...32 Richtung der Linien festlegen...33 Digitalisierung...33 Verzeichnisstruktur einrichten...33 Master-TIC-Coverage erstellen...33 ae starten, Digibrett initialisieren...33 Digitalisieren und Editieren mit ARCEDIT...34 Digitalisieren am Digitalisierbrett...35 Digitalisieren am Monitor...40 Georeferenzieren von Rastergraphiken mit register und rectify...40 Korrektur angrenzender Coverages...43 Anpassen von Elementen...43 Sachdatenhaltung / INFO-Dateien anlegen...43 Die INFO-Datenbank...44 Hinzufügen von Attributen...44 Erstellen eigener INFO-Tabellen

6 Einlesen von ASCII-Tabellen...46 Bearbeiten von INFO-Dateien...46 Erstellen von Indizes...47 Berechnung neuer Variablen...47 Verknüpfen mehrerer Tabellen...47 Anbindung externer Sachdaten...48 Anbindung an eine Oracle Datenbank...48 DBase-Dateien (DBF)...49 dbaseinfo...50 infodbase...50 Import/Export...50 Import von Vektorkoordinaten...50 Topologische Fehler erkennen und beseitigen...51 überschneidungen von Arcs...51 Fehler in Polygonlabels...53 fehlende Labels...53 doppelte Labels...53 Node-Fehler...54 Pseudonodes...54 Dangling Nodes INFO-Dateien anlegen/bearbeiten...54 Tabellen erzeugen...54 Attributdateien über joinitem verbinden...57 Relate erzeugen...57 Erstellen der Geometrie/Rohdaten in ARCEDIT...60 Grundfunktionen...60 öffnen eines Coverages...64 Darstellung der Editiergrundlage...65 Hintergrundcoverages und -bilder...66 Auswahl der zu editierenden Elemente...66 Graphische Auswahl...67 Logische Auswahl...67 Editieren oder Erzeugen eines Coverages...67 Editieren von Arcs...68 Verschieben und Kopieren von Arcs...69 Editieren von Nodes...69 Weitere Editierfunktionen...70 ändern der Geometrie...71 Editieren von Vertices...71 Rotate and Snap...71 Editieren anderer Feature Classes...72 Fehlerbereinigung...73 Pseudo Nodes...73 Dangling Nodes

7 Under/Overshoots...74 Toleranzen...74 Fuzzy Tolerance...75 Grain Tolerance...75 Weed Tolerance...75 Vergabe von Kennummern...76 Speichern einer Edit-Sitzung als Makro...77 Erzeugen der Topologie...77 Datenaustausch zwischen ARC/INFO Systemen (Im-/Export)...78 ASCII-Schnittstelle für Vektor-Geometriedaten (GENERATE)...80 DXF-Dateien...83 Weitere Schnittstellen...85 ATKIS / EDBS...85 SICAD...85 Export von Vektorkoordinaten...85 Import und Export von Rasterdaten...85 Koordinatentransformation und Projektion...85 Transformation in das Gauss-Krüger System...86 andere Projektionen...87 Weiterführende Literatur: Räumliche Analyse mit CommandTools und in ARC...91 Geographische Analyse...91 Auswahl anhand von Attributdaten mit reselect...91 Vorarbeiten...92 Verschneidungsoperationen und Bufferbildung...95 Union...98 Polygoncoverage...99 Identity Punktcoverage Liniencoverage Polygoncoverage Intersect Punktcoverage Liniencoverage Polygoncoverage Clip Punktcoverage Liniencoverage Polygoncoverage Erase Punktcoverage Liniencoverage Polygoncoverage Update

8 Split Mapjoin Append Reselect Dissolve Entfernen von Restflächen mit Eliminate Entfernungsberechnungen Buffer: Erzeugung von Pufferzonen Entfernungsberechnungen Near Entfernungsmatritzen zwischen Punkten Thiessen-Polygone Abschlußaufgabe Weitere Werkzeuge - Die Productivity Tools Geokodieren von Adressen Weiterführende Literatur: Netzwerkanalyse Netzwerkanalyse Netzwerkanalysen mit den Productivity Tools Rasteranalyse mit GRID Anwendungsgebiete Hydrologie Wirtschaftsgeographische Fragestellungen Umweltforschung Sozialforschung Wann sind andere Datentypen geeigneter? Datenquellen Gridtypen Integer-Grids Fließkomma-Grids Grid Visualisierung Ausgabe mit ARCPLOT Ausgabemedium Angaben zur Kartengröße Auswahl von Signaturen und Farbskalen Ausgabe von Coverage-Elementen Benennung von Coverage-Elementen Eingrenzen der Auswahl (ARCPLOT) Kartographische Elemente hinzufügen Ausgabe auf Papier oder in Dateien Erzeugen von Themes und Views Erstellen / öffnen eines Views

9 Editieren eines Views Klassenbildung u. Farbzuweisung (View-/Legendenerstellung) Variablenausprägung als Text Weitere Hilfsmittel beim Umgang mit Views Zoomen Abfragewerkzeuge Kartenerstellung Der Map Object Manager Einstellung der Zeichenumgebung Hinzufügen neuer Kartenobjekte View Legende Maßstab Nordpfeil Text, Rahmen, Grafik etc Erstellen von Diagrammen in Karten Speichern der Karte Drucken einer Karte ArcPress Weiterführende Literatur: (2.5D)-Geländemodelle Erzeugung eines TINs Umwandeln von TINs in Lattices Export von 3D-Daten Umwandlung von TINs in VRML Virtuelle 3D Welten mit VRML D-Visualisierung Anzeigen des dreidimensionalen Themas Orientierung des Geländes Virtuelle Durchflüge durch Geländemodelle Definition der Flugparameter durch den Flight Path Generator Abspielen der Videos D Analyse Interpolieren von Höhenlinien D-Sichtbarkeitsanalysen Volumen unter einem 3D-Modell berechnen Veränderung von 3D-Oberflächen verfolgen Weiterführende Literatur: Die Makro-Programmierung mit AML Was ist AML Wie funktioniert die Arc Macro Language Wie erzeuge ich ein AML-Programm Vereinfachungen bei der Programmierung

10 Zeilenumbruch Mehrere Aktionen in einer Zeile Erweiterungen Zeilenwiederholung Zeichenketten und Sonderzeichen Operatoren AML-Elemente Variablen Setzen von Variablen Löschen von Variablen Lokale und globale Variablen Lokale Variablen Globale Variablen Variablenverkettungen Indexvariablen Anzeigen von Variablen und deren Werten übertragen von Argumenten/Variablen Reservierte Variablen Coverage-/Grid-/Tin-Variablen Cursorposition (PNT$) AML-Status-Variablen (AML$) Programmvariablen Funktionen und Anweisungen Anzeigen einer Liste mit Auswahl Existenzüberprüfung von Objekten Erhalten von Attributinformationen Anzeigen der momentanen Einstellungen Verschachtelte Funktionen Entscheidungen und Bedingungen IF-THEN (Wenn... dann) IF-THEN-ELSE (Wenn... dann... sonst) SELECT-WHEN (Wähle... wenn) GOTO Schleifen Zählschleifen (&DO... &TO... &BY... &END) WHILE-Schleifen UNTIL-Schleifen LIST-Schleifen REPEAT-Schleifen Verschachtelte Schleifen Routinen (Module) Dateien und Datenbanken öffnen einer Datei Datei lesend öffnen (-read)

11 Datei mit Schreibberechtigung öffnen (-write) An Datei anfügen (-append) Lesen einer Zeile aus einer Datei Schreiben einer Zeile in eine Datei Schließen einer Datei Löschen einer Datei Anzeigen von vorhandenen Dateien und Spalten Zugriff auf INFO-Tabellen Menüs Pulldown Menu Sidebar Menu Matrix Menu Key Menu Tablet und Digitizer Menu Form Menu Input fields: Choice fields: Slider fields: Button: Scrolling list of devices: Check box: Display field: Setbutton: Die Arbeitsweise eines Form Menus Setzen von Variablen durch das Ausführen von Eingaben Wie erzeugt man ein Formmenu? Form Menu Widgets (Bedienelemente) Buttons Check Box Fields Choice Fields Display Fields Setbuttons Input Fields Slider Fields Beispieloberflächen Weiterführende Literatur: Stichwortverzeichnis

12 Tabellenverzeichnis 1-1. Strukturelle Bestandteile eines GIS Funktionale Bestandteile eines GIS GIS und DBS Logische Datenbankschemata Einige Attribute des FDGC Metadaten-Standards Namenskonventionen für Coverages Namenskonventionen für Bearbeitungsschritte DCW layers WORLD 1: , Edition 3-GSGS...88 Abbildungsverzeichnis 1-1. Ebenenprinzip Objektklassenprinzip am Beispiel ALK Datenbanksystem (DBS) :n-Beziehung Primärschlüssel: Geometriedaten Fremdschlüssel: Sachdaten Metadatentypen (nach SPIESS 98) Vektordaten: Ein Polygoncoverage Aufbau eines Arcs Arcs mit Dangling Nodes Polygone mit Pseudo Nodes und Label Points Straßencoverage mit drei bemaßten Routen Ausschnitt eines Liniencoverages mit bemaßten Abschnitten Dateien eines Coverages Rasterdaten: ein Grid TINs und Lattices im Vergleich - Ausgangsdaten und Resultate (aus ARCDOC) Datenquelle (Punkte) für ein TIN Resultierendes TIN Das ARCTOOLS Hauptmenü Die Online-Hilfe ARCDOC Funktionale Kommandolisten in ARCDOC Alphabetische Kommandolisten in ARCDOC Suchfunktion in ARCDOC Glossar in ARCDOC Tool Browser Menü Data Viewer Menü Programm zur Konvertierung von Einheiten Arbeitsablauf Kartenübersicht mit TICs

13 3-3. Vorbereitung des Kartenmaterials: unklare Start- und Schnittpunkte festlegen Eingabemethode auswählen (Set Coordinate Entry Device) Initialisierung des Digitalisierbretts Digitalisieren von Arcs und Polygonen Das Add Items Menü ASCII Table to INFO Menü Describe Coverage Popup Select an Edit Coverage Menü Change Symbolset Menü Erweiterte Maustastenbelegung zum Digitalisieren Das Edit-Menü More Arc Editing Menü Optionen beim Node to Arc Snapping Arc Environment Menü Arcs mit Dangling Nodes Das Table Editor (AAT) Menü Export-Menü Generate-Menü Generate-Menü zur manuellen Eingabe (Linien) Konvertierung von DXF nach ARC/INFO Transform Coordinates Menü Das Union Menü Das Identity Menü Das Intersect Menü Das Clip Menü Das Erase Menü Das Update Menü Das Split Menü Das Mapjoin Menü Das Append Menü Das Reselect Menü Das Dissolve Menü Das Eliminate Menü Productivity Tools Menü Productivity Tools Menü Productivity Tools Menü, Type = Network und das Location-Allocation-Pulldownmenü Productivity Tools Menü, Type = Geocoding, Type = Grid Wichtige Kartenparameter Das Map Tools Hauptfenster MapTools mit View Pulldownmenü Add New Theme Manager Theme Manager Menü Polygon Coverage Properties - Menü Discrete Legend Editor (Bsp. für Linien-Coverages

14 7-8. Das Classification - Menü Save File as Macro - Dialog Das CoverageText Properties Menü Das Zoom Menü Das Tool Menü Das Snapshot Menü Map Pulldownmenü Das Map Template Menü Seiteneigenschaften: Das Page Properties Menu Der Map Object Manager Das Add New Object Menü Das Snap to Grid Menü Das View Properties Menü Das Key Properties Menü Das Scalebar Properties Menü Das North Arrow Properties Menü Das Text String Properties Menü Das Text Symbol Properties Menü Das More Text Symbol Properties Menü Das Shaded Box Properties Menü Das Shade Properties Menü Das Custom Color Properties Menü Das Graph Properties Menü Das Layout Properties Menü Metafile Format und Plotting Utilities Menüs Das TIN Builder Menü TIN Source Menü TIN Source Menü (Generate) TIN Source Menü (Lattice) TIN Properties Menü Tin to Lattice Menü Export from ARC / TINs and Lattices Menü VRML-3D Geländemodell von Heidelberg TIN to VRML-Menü Ausschnitt einer VR-Welt der Heidelberger Altstadt direkt aus ARC/INFO Surface Properties Menü Grid Composite Property Sheet Mesh Properties Menü D-Mesh Das Camera Orientation & Advanced Camera Orientation Menü Das Camera Preferences Menü Einzelbild aus einem der Videos Productivity Tools Menü (Type = Animation)

15 8-19. Flightpath - Menü und Optionen - Menü unter ProductivityTools -Animation in MapTools - View Flyby Viewing Options Menü Flight Frame Generator Menü Mpeg-Encode-Menü unter Productivity-Tools - Animations in MapTools - View Circular Flight Path Generator Interner MPEG-Player Surface Pulldownmenü Contouring Tool Menü Visibility-Menü Volume Calculation Menü Cut & Fill Calculation Menü Beispiele 1-1. Tabelle / Sicht erstellen Selektion: Auswahl von Zeilen einer Tabelle Projektion: Auswahl von Spalten einer Tabelle Verbund: Relationen werden miteinander verknüpft (JOIN) Vereinigung (UNION) Schnittbildung (INTERSECT) Differenz (EXCEPT) Nunavut Brunnenstandorte und Altlasten Krötenwanderung Erosionsgefahr Naturschutzgebiet Landnutzung einer Gemeinde Kahlschlagflächen

16 Vorwort Fast alle Entscheidungen haben einen räumlichen Bezug. Mit der immer breiteren Verfügbarkeit Geographischer Informationssysteme wachsen auch die Möglichkeiten, diese räumlichem Bezüge und Abhängigkeiten mit Hilfe des Computers herauszuarbeiten. Da dieses Potential noch lange nicht ausgeschöpft ist, ist ein weiterer Zuwachs der Nachfrage nach GIS (und deren Anwendern/Betreuern) abzusehen. Wir wollen mit diesem Buch eine Einführung in Theorie, Grundlagen und Anwendung Geographischer Informationssysteme geben. Der Schwerpunkt dieses Buches liegt in der Einführung in die GIS-Software ARC/INFO, sei es als Kursbegleitung oder zum Selbststudium. Die umfangreichen Möglichkeiten, die dieses Programm bietet, können wir natürlich bei diesem Umfang des Buches nicht erschöpfend behandeln, genausowenig können wir auf alle Analysemöglichkeiten ausführlich eingehen. Für weitergehende Fragen verweisen wir auf die weiterführende Fachliteratur und verschiedene WWW-Seiten. ARC/INFO war eines der ersten kommerziellen GIS-Programme. Seine lange Entwicklungsgeschichte bringt eine manchmal etwas sperrige Bedienung und eine anfangs hohe Lernkurve mit sich. Dies liegt jedoch nicht alleine am Programm, sondern vielmehr an der Komplexität der Materie insgesamt. Mit der Version 8 erschien eine in der Windows-Version grundlegend neue Version des GIS-Pakets ARC/INFO. Neben einer stark vereinfachten Bedienung wurde das relationale Datenmodell um ein objektorientiertes ergänzt. Die Workstation-Varianten wurden ebenfalls erweitert, ihre Bedienung hat sich gegenüber den 7er Versionen jedoch nicht wesentlich geändert. Dieses Buch soll den Anwender in die Lage versetzen, sich selbständig oder im Rahmen eines Kurses die Bedienung von ARC/INFO anzueignen. Mit dem Kapitel zu AML wird zugleich ein plattformunabhängiges Werkzeug zur Erstellung eigener Anwendungen mit ARC/INFO beschrieben. Auf die Programmierung von Desktop-ARC/INFO mit Visual Basic oder COM-kompatiblen Sprachen können wir in diesem Zusammenhang nicht eingehen. Im Text verwenden wir häufig die englischen Begriffe, die in der jahrzehntelangen Geschichte des Programmes im täglichen Umgang mit ARC/INFO häufig gebraucht werden. Die verwendeten Beispieldaten stammen hauptsächlich aus dem angelsächsischen Raum, da nur hier umfangreiche Daten problem- und kostenlos zugänglich sind. Das Kapitel zur AML basiert auf einem Skript von Stefan Scherer, dem Abschnitt zu SDE liegt eine Arbeit von Roman Elsässer zugrunde. Die Abbildungen des Theorieteils wurden von Dipl. Ing. Christine Brückner und den Autoren angefertigt. Den Teilnehmern unserer Kurse danken wir für zahlreiche Anregungen zu früheren Versionen dieses Buches. Für die kritische Durchsicht des Textes und Anregungen danken wir ganz besonders herzlich... und.... 1

17 Vorwort Layout-Konventionen Allgemein Um dieses Buch möglichst übersichtlich zu gestalten, wurden für Programmein- und ausgaben, Übungsaufgaben, Hinweise etc. verschiedene Formatierungen verwendet, die wir hier kurz vorstellen wollen. Im laufenden Text beziehen wir uns manchmal auf Datei- oder Verzeichnisnamen. Damit sich diese vom übrigen Text abheben, setzen wir sie in Schreibmaschinenschrift, wie z.b die Datei grenzen.bnd. Um auf möglicherweise schwerwiegende Fehler in der Bedienung etc. hinzuweisen geben wir einen Warnhinweis:! Achtung! Tun Sie das bloß nicht, Sie würden es höchstwahrscheinlich später bereuen. Sagen Sie nicht, wir hätten Sie nicht gewarnt! Daneben gibt es natürlich noch beliebig viele Möglichkeiten, weniger schwere Fehler zu machen, auf die wir mit den folgenden Formaten hinweisen: Vorsicht Auch hier ist eine mögliche Falle versteckt, die Ihnen bei Nichtbeachtung möglicherweise einige graue Haare beschert.! Wichtig Auch bei diesem Hinweis sollten sie etwas genauer hinsehen, wenn Sie sich unnötige Arbeit oder Datenverluste ersparen möchten. 2

18 Vorwort Ein Hinweis Wenn wir Hinweise geben, dann machen wir das so. i Tip: Bitmaps in Karten Kleine Tricks oder Hinweise, die vielleicht der einen oder dem anderen etwas Arbeit sparen oder eine neue Möglichkeit aufzeigen sehen so aus. Um das Programm zu lernen, müssen Sie leider ab und zu auch selbst etwas tun. Dafür sind unsere Übungsaufgaben da. Sie sehen in etwa folgendermaßen aus: Verbinden Sie die durch split geteilten Coverages durch append wieder zu einem Coverage und erstellen Sie die Topologie neu. Manchmal gibt es auch sinnvolle Ergänzungen im World Wide Web, die wir ihnen nicht vorenthalten wollen, z.b. auf der Homepage unseres Lehrstuhls ;) : Alles können wir in diesem Buch bei weitem nicht abdecken, deshalb geben wir nach jedem Kapitel Hinweise für weiterführende Literatur. Kommandozeile Folgende Darstellung verwenden wir für die kommandozeilenorientierte Schreibweise von ARC/INFO- Befehlen 1 : Kommando {erf. Argument} [opt. Argument opt. Argument] In diesem Beispiel ist das erste Argument nach dem Befehl ein erforderliches Argument, das 2. und 3. Argument stellen optionale Eingaben dar, aus denen eine ausgewählt werden kann. Wird das optionale Argument nicht angegeben, so wird die Programmvorgabe übernommen, falls eine solche existiert. In der Regel ist dies die erste von mehreren genannten Optionen. 3

19 Vorwort ArcTools Fußnoten Will man ein optionales Argument auslassen, aber ein späteres angeben, so muß für jedes ausgelassene Argument ein # eingegeben werden. Für die so übersprungenen optionalen Argumente wird jeweils der vom Programm standardmäßig vorgegebene Wert eingesetzt. In der Regel wird eine Eingabe an der Kommandozeile mit einer Return/Entertaste beendet: Ret. Der Digitalisierpuck hat eine eigene Tastatur, die im Text so erscheint: 1, 8, A etc. Der Teil, der selbst eingegeben werden muß, wird von der Programmausgabe abgehoben: Arc: erase i_poly op_poly outerpy Erasing i_poly with op_poly to create outerpy Sorting... Intersecting... 5 Assembling polygons... Creating new labels... Creating outerpy.pat... AML-Texte und andere Textdateien oder Programmtexte erscheinen ebenfalls in Schreibmaschinenschrift: display arcedit editcover river drawenvironment arc node error editfeature arc nodesize dangle.2 nodecolor dangle 2 nodesize pseudo.15 nodecolor pseudo 5 draw Um Ihnen Hilfe zu geben, sich durch die verschiedenen ARCTOOLS-Menüs zu hangeln, ohne das ganze Buch mit Screenshots vollpflastern zu müssen, haben wir den Weg, den Sie mit der Maus zurücklegen müssen, markiert: CommandTools Analysis Overlay Intersect Beziehen wir uns auf einzelne Schaltflächen eines gerade aktiven Menüs, so sieht das im laufenden Text so aus: Klick-mich. 1. In den Hilfesystemen von ARC/INFO werden die Befehlsnamen zur besseren Lesbarkeit jeweils groß geschrieben, obwohl das Programm in der Regel eine Eingabe in Kleinbuchstaben erwartet. 4

20 Kapitel 1. Grundlagen von Geographischen Informationssystemen Was ist ein GIS? Der englische Begriff geographical information system wird im Deutschen mit Geoinformationssystem wiedergegeben. Unter diesem allgemeinen Oberbegriff werden recht unterschiedliche Dinge verstanden. Dies liegt am weiten Spektrum möglicher Einsatzgebiete von Geoinformationssystemen. Was ist ein GIS Grundsätzlich handelt es sich bei einem GIS 1 um ein spezielles digitales Informationssystem. Die große Klasse der digitalen Informationssysteme gewinnt in unserem digitalen Informationszeitalter immer mehr an Bedeutung. Ihre wesentlichen Charakteristika sollen nachfolgend kurz skizziert werden. Digitale Informationssysteme (IS) erlauben die digitale Erfassung, Speicherung, Aktualisierung, Verarbeitung und Wiedergabe von umfangreichen Informationen eines Fachgebietes (nach STREIT 97). Als operationale Grundlage dafür dienen meist ein oder mehrere Datenbanksysteme. Das Informationssystem ermöglicht eine thematisch strukturierte Abfrage und Analyse dieser unterschiedlichen Daten. Diese können wiederum in unterschiedlicher Form vorliegen. Grob können folgende Typen unterschieden werden: (Alpha)numerische Daten Text-Dokumente Bilder Multimediale Informationen d.h. Attribute als Text oder Zahlen in der Regel unstrukturiert (wenn der Text nicht z.b. in SGML/XML markiert ist und so auch eine gezieltere inhaltliche Suche ermöglicht), aber z.b. Volltextsuche möglich Fotos, Scans, Satellitenbilder Digitale Videos, Audiosequenzen, computergenerierte Animationen, o.ä. GIS ist ein Oberbegriff für eine große Menge differenzierter raumbezogener Informationssysteme. Nach Bill (1999:91) können z.b. folgende Typen unterschieden werden: LIS RIS KIS UIS NIS Land(schafts)informationssystem (z.b. zur Naturraumausstattung) Rauminformationssystem (z.b. für Regionalplanung) Kommunales Informationssystem (für Planung u. Verwaltung) Umweltinformationssystem (z.b. Umweltüberwachung) Netzinformationssystem (z.b. Kanal-IS, Straßen-IS) 1

21 Kapitel 1. Grundlagen FIS Fachinformationssystem (z.b. Boden-IS,...) BILL/FRITSCH (1991) definieren ein GIS folgendermaßen: Bill/Fritsch 1991, 5 Ein Geo-Informationssystem ist ein rechnergestütztes System, das aus Hardware, Software, Daten und den Anwendungen besteht. Mit ihm können raumbezogene Daten digital erfaßt und redigiert, gespeichert und reorganisiert, modelliert und analysiert sowie alphanumerisch und graphisch präsentiert werden. Im Englischen läßt sich dies noch knapper formulieren: Burrough 1986 a powerful set of tools for collecting, storing, retrieving at will, transforming and displaying spatial data from the real world. oder mit Betonung der Organisationsseite: Cowen 1988, zitiert in Burrough 1998 a decision support system involving the integration of spatially referenced data in a problem solving environment. Dabei unterscheiden die Worte analyze und spatial ein GIS von herkömmlichen (nichträumlichen) Informationssystemen oder aber von Kartographieprogrammen (die keine Analysefunktionen besitzen). Damit kann man GIS strukturell (Tabelle strgis) oder funktionell (Tabelle fnkgis) nach seinen Komponenten untergliedern: Tabelle 1-1. Strukturelle Bestandteile eines GIS Komponente Bestandteile und geschätzte Lebensdauer in Jahren Hardware Rechner, Peripherie, Netzwerk (3-5) Software Programm-System und modulare GIS-Werkzeuge (3-15) Geodaten bestehend aus Geometrie, Topologie und Thematik (10-30) Anwender (weites Spektrum) Tabelle 1-2. Funktionale Bestandteile eines GIS Komponente Datenbank Räumliches Analysewerkzeug Bestandteile Attribute, Geoobjekte Routenfindung, Pufferung, Polygonverschneidung, Räumliche Suche 2

22 Kapitel 1. Grundlagen Komponente Kartographiesystem Bestandteile Punkte, Linien, Flächen, Objekte, Schichten / Ebenen Aus der Lebensdauer kann auch der Wert der einzelnen Komponenten abgeschätzt werden: Digital erfaßte und vor allem gepflegte Datenbestände sind meist deutlich wertvoller als Hard- oder Software. Besonders die Pflege von sich in der Regel ändernden Datenbeständen ist noch immer sehr aufwendig und kostenintensiv. Kosten für Hard- und Software sinken laufend, doch insbesondere für spezialisierte Software muß oft deutlich mehr ausgegeben werden als für Hardware. Wozu GIS? Es stellt sich die Frage, wozu ein GIS benötigt wird. Sind all diese Funktionalitäten nicht schon durch eigene, spezialisierte Programme abgedeckt, wie es folgende Beispiele nahezulegen scheinen? Möglichkeit der statistischen Berechnung durch SAS, SPSS, Excel Darstellung von Karten z.b. MERCATOR, MapInfo, THEMAK Bearbeitung der Geometriedaten mit CAD-Programmen z.b. AutoCAD... Verwaltung großer Datenbestände in Datenbanken Diese Unschärfe in der Abgrenzung zwischen Datenbanksystemen, Kartographiesystemen und CAD- Systemen nimmt sogar noch zu, da viele Funktionen heute in den unterschiedlichsten Systemen implementiert werden. Folgende Aspekte eines typischen GIS sollen daher noch einmal aufgeführt werden: Geometrische Analysen / Flächenverschneidung / Buffer... Alle Möglichkeiten in einem System Verknüpfung verschiedener Abfragen möglich Kombination verschiedener Datentypen / Geometrien Aufbau eines interaktiven räumlichen Informationssystems. GIS und Datenbanken Heute ist ein Trend zu beobachten, daß einige GIS-Funktionalität auch in modernen Datenbanksystemen zur Verfügung gestellt wird. Doch sind nach SPIESS die in Tabelle Tabelle 1-3 genannten grundsätzlichen Unterschiede zwischen Geoinformationssytemen und Datenbanksystemen zu berücksichtigen. 3

23 Kapitel 1. Grundlagen Tabelle 1-3. GIS und DBS GIS Geoobjekte mit explizitem Raumbezug und gekoppelten Sachdaten DBS Modellierung allgemeiner Objekte, Raumbezug nur als Attribut Selektion von Geoobjekten über Raumbezug oder Selektion von Objekten über Attribute (Schlüssel) Attribute Datenanalyse interaktiv-graphisch und numerisch-statistisch Kartographische Visualisierung Statistische Datenanalyse Visualisierung als Tabellen und Diagramme (Business-Grafik) GIS und CAD Gerne werden GIS mit CAD (Computer-Aided-Design) Systemen verglichen, da sich die Funktionalität beider Systeme annähert. Jedoch ist ein grundsätzlicher Unterschied in der Aufgabenstellung der jeweiligen Produkte zu sehen: bei CAD steht die Konstruktion im Vordergrund, d.h. vom digitalen Modell zur realen Welt, während dies in GIS umgekehrt ist, da dort das Hauptaugenmerk auf der Abbildung der realen Welt ins digitale Modell liegt. BILL u. FRITSCH geben folgende Definition eines CAD-Systems: Bill/Fritsch 1991, 40 CAD - Systeme dienen dem interaktiven geometrischen Modellieren in 2D und 3D im Rechner mit den Komponenten Beschreibung, Entwicklung, Bearbeitung, Speicherung und Darstellung. Damit ergeben sich im Vergleich zu GIS folgende Eigenschaften von CAD-Systemen: Erfassung, Verwaltung und Präsentation als Komponenten Erweiterte Datenmodellierung Zwei- und/oder Dreidimensional Rein vektororientiert (Raster nicht sinnvoll) Permanentdatenhaltung Hohe Interaktivität Stärken in der Visualisierung nur eingeschränkte Analysefunktionen (nach BILL / FRITSCH 1991, 40, erweitert) 4

24 Kapitel 1. Grundlagen GIS und Kartographie Kartographieprogramme legen den Schwerpunkt auf die Visualisierung raumbezogener Sachverhalte. Eine computerunterstützte Analyse wurde ursprünglich nicht unterstützt. Heute werden Kartographieprogramme oft mit Datenbanken gekoppelt, bzw.~greifen auf diese zu und werden werden dann bisweilen schon als GIS bezeichnet. Diese Bezeichnung ist nicht zutreffend, da die Analyse ein elementares Merkmal eines GIS darstellt. Oben erwähnte Systeme werden heute meist als Desktop Mapping Systeme (Bsp: ARCVIEW) bezeichnet. Ursprünglich als reine Visualisierungswerkzeuge gedacht, fließt in diese Systeme heute immer mehr GIS-Funktionalität ein, oder wird in Form von optionalen Modulen zur Verfügung gestellt. Es ist also ein Trend weg von großen, monolithischen Geoinformationssystemen hin zu modularen, für die jeweilige Aufgabe optimierten GIS festzustellen. Dies spiegelt auch besser die heterogene Struktur, Funktionalität und Anwendungsgebiete von GIS wieder. In einer GIS-Analyse stellen die eigentlichen Kartographieprogramme nur einen Aspekt, nämlich die kartographische Visualisierung, zur Verfügung. Einsatzbereiche von Geoinformationssystemen Geoinfomationssysteme weisen einen äußerst breiten Bereich von Einsatzmöglichkeiten auf, da eigentlich alle Informationen und Daten über die physische Welt und die in ihr lebenden und wirkenden Menschen in irgendeiner Weise einen Ortsbezug besitzen. Die Verwaltung, Darstellung und Analyse dieser verorteten Daten gehört zu den grundsätzlichen Aufgaben eines Geoinformationssystems. Dieses gilt für die unterschiedlichsten Maßstabsebenen und Themenschwerpunkte. Damit ist die Bedeutung von Geoinformationssystemen als einem der Hauptwerkzeuge in den Geo- und Umweltwissenschaften, aber auch für alle raumbezogenen Planungs-, Verwaltungs- oder Überwachungs- und Analyseaufgaben stark gestiegen. Es soll nur grob zwischen dem Einsatz in Wirtschaft und Verwaltung und dem in Umwelt und Natur unterschieden werden. Da aber auch mit und in der Umwelt gewirtschaftet wird, kommt es natürlich zu Überschneidungen. Mögliche Anwendungen (ohne Anspruch auf Vollständigkeit) sind: Logistik / Verkehrsplanung / Routenplanung (Speditionen, Taxiunternehmen, Lieferverkehr, Feuerwehr, Rettungsdienste...) Einzugsbereichsermittlung Standortplanung Trassenplanung Landschaftsplanung Grundstücksverwaltung Umweltkataster / Baumkataster,... Erosionsberechnungen 5

25 Kapitel 1. Grundlagen Kanal-/Leitungsverwaltung Straßenverwaltung Stadtinformationssysteme Nationalpark-Informationssysteme Tourismusinformationssysteme Geomarketing Hydrologische Fragestellungen (Grundwasser, Einzugsbereiche, Ablaufgebiete) Hochwassermodellierung Sozioökonomische Modellierung Klimaforschung Telematik / Navigationssysteme Medizin Kriminalistik u.v.m. Außerdem spielt die Integration von Systemen und Methoden für folgende Aufgaben im Rahmen von interoperable GIS eine verstärkte Rolle: wissensbasierte Spatial Decision Support Systems (SDSS) rechnergestützte Datengewinnung (für Geometrie und Sachdaten) WWW-Integration Weitere Einsatzmöglichkeiten können aus der in den späteren Kapiteln vorgestellten Übersicht über mögliche Analysefunktionen erschlossen werden. Letztendlich hängt es vom Anwender ab, wie er ein GIS einsetzt. Digitale Geodaten Geoobjekte Es existieren unterschiedliche Sichtweisen der Welt und ihrer Phänomene. Eine Aufgabe der Geoinformatik ist es, diese Phänomene geeignet in ein digitales und damit auf 0 und 1 als Ausdrucksmittel beschränktes Computersystem zu überführen. BURROUGH und McDONNELL (1998) unterscheiden folgende mögliche Abstraktionsebenen der realen Welt: Reale Welt 6

26 Kapitel 1. Grundlagen (wahrgenommene) Struktur des untersuchten Phänomens GIS-Repräsentation der Phänomenstruktur Raster Vektor etc. Struktur der Datenbasis Hierarchisches Datenmodell Netzwerk-Datenmodell Relationales Datenmodell Objektorientiertes Datenmodell Hardwarestruktur Wie definieren wir nun die für GIS relevanten Geoobjekte und wie werden sie in Geographischen Informationssystemen verwaltet und verwendet? Ein Geoobjekt (auch feature oder entity) definieren wir als ein auf einen räumlichen Ausschnitt der Erde bezogenes reales oder abstraktes Objekt mit folgenden Charakteristika: Lage (und Form) im Raum (Geometrie) Räumliche Beziehungen zu anderen Geoobjekten (Topologie) Fachliche Inhalte (Thematik) SPIESS 98 fügt diesen die Dynamik als Veränderung der obigen Charakteristika mit der Zeit hinzu. Darauf gehen wir unter Thematik und Dynamik im Abschnitt namens Thematik und Dynamik genauer ein. Geodaten können unterschiedliche räumliche (aber auch zeitliche) Dimensionen besitzen. Mögliche Dimensionen von Geoobjekten führen wir nachfolgend an: 0-dimensional (Node / Point) 1-dimensional (Arc) 2-dimensional Polygon,...) Punkt (keine Länge oder Fläche) Linienstück (Strecke) Fläche (in der Regel besitzen Flächen keine natürliche Länge, d.h. die Länge einer Fläche müßte jeweils definiert werden. Nur der Kreis besitzt mit dem Durchmesser eine inhärente Länge. 7

27 Kapitel 1. Grundlagen 3-dimensional Körper (verschiedene Modellierungsmöglichkeiten: Solide (Volumen-Körper) versus Polyeder (Grenzflächen-Körper). Die kursiven englischen Bezeichnungen in der ersten Spalte nennen die typischen Vertreter im traditionellen Coverage-Datenmodell von ARC/INFO. Auf dieses wird später genau eingegangen. Wie ARC/INFO unterstützen heute viele GIS-Systeme 2,5-dimensionale Objekte, d.h. Flächen mit Höheninformationen als zusätzliche Z-Koordinate. Diese Geländemodelle sind aber keine echten 3D- Körper mit Volumen, sondern im Raum gefaltete Flächen. Allerdings sind Volumenberechnungen zum Beispiel mit ebenen Schnittflächen möglich. Die entsprechenden Datenstrukturen (TIN, LAT- TICE, GRID), die diese 2,5-Dimensionalität unterstützen, werden üblicherweise dennoch als 3D- Datentypen aufgeführt und im Kapitel Kapitel 2 erläutert, sowie im Kapitel Kapitel 8 ausführlicher vorgestellt. Echte 3D-Systeme sind Gegenstand von Forschungsprototypen. Erste kommerzielle Systeme existieren in den Bereichen Geologie, Umweltwissenschaften und Architektur. Geometrie versus Topologie Geometrie: Raster versus Vektor Die verschiedenen GIS-Systeme verwenden unterschiedliche Ansätze zur Repräsentation der Geometrie. Grob können die folgenden Gruppen unterschieden werden, wobei wir einige verbreitete Produkte exemplarisch nach ihrem Haupteinsatzgebiet aufführen. Vektor (ARC/INFO, SICAD, GTIS, ATLAS-GIS) Raster (GRASS, IDRISI, OSU-MAP) Hybrid-GIS Die meisten Produkte können heute sowohl mit Raster als auch mit Vektordaten umgehen (Hybrid- GIS), wobei noch immer die ursprünglichen Schwerpunkte erkennbar sind. Im Allgemeinen bestimmt die Geometrie eines Geoobjektes dessen Lage und Form im Raum bezogen auf ein räumliches Bezugssystem (Koordinatensystem), die durch die Angabe von Koordinaten (im zweidimensionalen Raum zwei: x und y, drei falls die Höhe z einbezogen wird) definiert wird. Zusätzlich wird eine Metrik (Anstandsfunktion) definiert, die das Messen von Entfernungen erlaubt. In rechtwinkligen Koordinatensystemen ist dies üblicherweise die Euklidische Distanz. Auf die Unterschiede zwischen Raster und Vektor wird noch bei der Vorstellung des Rasterfomates GRID von ARC/INFO kurz eingegangen. Die folgende Tabelle bietet eine differenziertere Einteilung der wichtigsten GIS-Geometriedatenstrukturen nach Raster- und Vektorformaten: 8

28 Kapitel 1. Grundlagen Vektor Unstrukturiert (Spaghetti) Nicht-Topologisch Topologie (einfach/komplex) Objekt-Orientiert Raster Einfache BitMap / Matrix Run-length encoded Quadtree Modelle (diverse Erweiterungen) Tesselation Topologie Topologie ist definiert als die räumliche Beziehung der Geoobjekte zueinander: In einer analogen Karte steckt implizit Information über die Lage der Geoobjekte zueinander: ein Mensch kann die Karte lesen und erkennt dabei, daß die Brücke über den Fluß verläuft oder sich die Kirche neben dem Marktplatz befindet. Soll der Rechner ähnliche Leistungen vollbringen, müssen außer der Geometrie der Objekte zusätzliche Informationen explizit gespeichert werden (oder errechenbar sein). Typische topologische Fragestellungen lauten: Schneidet Objekt A Objekt B? Ist Objekt A in Objekt B enthalten? Sind Objekt A und B benachbart? Die Geometrie der einzelnen Geoobjekte ist für solche Fragestellungen nicht ausschlaggebend. Bekannte Beispiele für topologische Karten sind Pläne von Straßenbahn- oder Omnibuslinien. Der genau geometrische Verlauf der Straßen ist für diese unerheblich. Es ist sogar so, daß Veränderungen im Straßenverlauf die topologische Struktur unverändert lassen. So können Haltestellen verschoben oder Straßen umgeleitet werden, ohne daß sich die Topologie der Karte ändert. Das bekannteste Beispiel zur Erklärung dieser Invarianz gegenüber solchen Transformationen wie Drehung oder Streckung ist der Luftballon auf dessen Hülle eine einfache Straßenkarte gemalt ist. Die Hülle des Luftballon kann stark verzerrt werden, aber dennoch bleibt die Topologie der aufgemalten Objekte zueinander gleich. GIS-Systeme können bezüglich ihrer Behandlung der Topologie unterschieden werden. Sie können ein topologisches Datenmodell benutzen, also die topologischen Beziehungen explizit speichern, oder diese bei Bedarf errechnen, d.h. über Möglichkeiten zur Bestimmung der topologischen Beziehungen verfügen. ARC/INFO gehört zur ersten Kategorie, während ARCVIEW zur zweiten gerechnet würde. Systeme, die keine der beiden Möglichkeiten unterstützen, sind dagegen nur als Visualisierungswerkzeug und nicht als vollwertiges GIS anzusehen. Die explizite Speicherung der Topologie bewirkt, daß das Retrieval der Information relativ rasch vonstatten geht. Dieser Vorteil wird mit einem relativ aufwendigen Datenerhebungs- und Editiervorgang erkauft. Es existieren verschiedene topologische Datenstrukturen wie DIME, TIGER etc. Im Rahmen dieses Buches kann nur das von ARC/INFO verwendete Modell genauer dargelegt werden (vgl. Kapitel Kapitel 2. Schnellere Hardware ermöglicht heute auch das Errechnen der Topologie on the fly (in erträglicher Geschwindigkeit). Dies machen sich moderne, stärker objektorientierte Systeme wie ARCVIEW, aber auch Konkurrenzprodukte, zunutze, indem sie sich die komplexere Datenverwaltung sparen. Allerdings verzichten sie dadurch auch auf die eingebaute Sicherheit, daß die Beziehungen in den Daten korrekt sind, die ein topologisches 9

29 Kapitel 1. Grundlagen Datenmodell bietet. Die Vor- und Nachteile der beiden Ansätze müssen also im Verhältnis zu ihrem Haupteinsatzgebiet gesehen werden. Sind topologische Analysen häufig und Veränderungen der Grunddaten selten, bietet sich ein topologisches Datenmodell an -- auch wenn es um die Verwaltung großer Datenbestände geht, deren Korrektheit gewährleistet sein muß. Liegt der Schwerpunkt auf der Visualisierung und verändert sich die Datengrundlage häufig, topologische Beziehungen werden aber seltener abgefragt, so ist der zweite Ansatz pragmatischer. Topologie in ARC/INFO Der genauere Aufbau der vektorbasierten Datentypen und der dazu verwendeten wesentlichen Dateien und Tabellen wird in Kapitel Kapitel 2 vorgestellt. Folgende topologische Grundtypen werden in ARC/INFO explizit abgelegt: Connectivity (Arc-Node Topologie, Verbundenheit von Features): Eine Kante (Arc) besteht aus zwei Knoten (Nodes), die den Anfangs- und Endpunkt dieser Kante (From-Node und To-Node) definieren, damit eine Richtung definieren und in einer für den Endbenutzer lesbaren Tabelle abgelegt sind. Die genaue Form der Kante ist für die Topologie uninteressant. Diese Form, d.h der geometrische Verlauf eines Arcs, wird intern über Zwischenpunkte (Vertices) definiert. Flächendefinition (Polygon-Arc Topologie): In ARC/INFO werden Polygone definiert, indem die das Polygon begrenzenden Kantenlinien (Arcs) in einer internen Tabelle abgelegt werden. Contiguity (Rechts-Links-Topologie): Da jede Kante in ARC/INFO eine Richtung besitzt, kann das Programm daraus eine Tabelle mit den Polygonen erstellen, die jeweils links oder rechts dieser Kante (Arc) liegen. Diese Tabelle wird gespeichert. Dabei erhält die unendliche Restfläche, d.h. die Fläche außerhalb aller definierten Polygone, die Nummer 1 und wird als Universalpolygon bezeichnet. Thematik und Dynamik Thematik Wenn wir die Geometrie und Topologie eines Geoobjektes definiert haben, wissen wir noch nichts über seine inhaltliche Bedeutung. Repräsentiert diese Linie einen Fluß oder Eisenbahnschienen? Ein Geoobjekt besitzt also eine sogenannte Thematik, die über Attribute, d.h. beschreibende Variablen 10

30 Kapitel 1. Grundlagen festgelegt wird. Diese sogenannten Sachdaten werden in der Regel in Datenbanken gespeichert und können unterschiedliche Datentypen oder Skalenniveaus aufweisen. Ebenenprinzip (Layerprinzip) In ARC/INFO werden wie in vielen Geoinformationssystemen die Geometriedaten unterschiedlicher Thematik voneinander getrennt gespeichert, d.h. in einzelnen Geometrieebenen (layers) vorgehalten. Diese Geometrieebenen sind in ARC/INFO die sogenannten Coverages (vgl. Kap. coverage). Dieses Modellierungsprinzip stammt vom Folienprinzip der Kartographie ab, bei dem für jeden dargestellten Inhalt eine eigene Folie erstellt wurde, z.b.: Gewässerfolie, Grünflächenfolie oder Schriftfolie. Durch Austausch der einzelnen Folien (bzw. Coverages) können leicht thematische Karten erstellt werden. Außerdem können die einzelnen Informationsebenen getrennt bzw. in unterschiedlichen Kombinationen analysiert werden (vgl. Abbildung Abbildung 1-1). Objektklassenprinzip (Klassenhierarchien) Während beim Layerprinzip zunächst alle Ebenen gleichberechtigt sind, werden im Objektklassenprinzip Geoobjekte zu Klassen geordnet. Ein Objekt besitzt damit einen bestimmten Klassentyp und kann in eine Hierarchie von Klassen eingeordnet werden. Als Beispiel dazu zeigen wir in Abbildung Abbildung 1-2 einen Ausschnitt des Objektschlüsselkatalogs der ALK (Automatisierte Liegenschaftskarte). Abbildung 1-1. Ebenenprinzip 11

31 Kapitel 1. Grundlagen Abbildung 1-2. Objektklassenprinzip am Beispiel ALK Dynamik Die Dynamik eines Geoobjektes betrifft änderungen des Geoobjektes über die Zeit. Diese Veränderungen können sowohl Thematik (Attributwerte), Geometrie oder Topologie betreffen. Am einfachsten sind die änderungen der Thematik, d.h. der Sachdaten. Einzelnen Attributen können Zeitabschnitte für die Gültigkeit der einzelnen Ausprägungen zugewiesen werden. Dies kann mit herkömmlichen Datenbankmanagementsystemen (DBMS) realisiert werden, indem zusätzlich für jedes Attribut der Anfangs- und Endzeitpunkt der Gültigkeit als Datum gespeichert wird. Für die Verwaltung der zeitlichen Veränderung der Geometrie (2D oder 3D) oder gar Topologie von Geoobjekten sind in den meisten kommerziellen Systemen nur rudimentäre Möglichkeiten vorgesehen. Diese beschränken sich oft darauf, zu bestimmten Zeitpunkten Schnappschüsse zur Verfügung zu stellen. Im einfachsten Falle beinhaltet dies eine komplette Kopie des gesamten Datenbestandes. Dies ist natürlich äußerst ineffizient und zudem geht die Dynamik der Veränderungen zwischen diesen gespeicherten Zuständen verloren. Insbesondere objektorientierte Datenbanken bieten ausgefeiltere Mechanismen der Versionierung von Objektzuständen, eine nähere Betrachtung derselben würde aber den Rahmen dieser Einführung sprengen. Grundsätzlich müßten für eine möglichst realitätsnahe Modellierung also dynamische räumliche Prozesse (spatio-temporal processes), mit gleichzeitigen Veränderungen in Raum und Zeit (und Attributwerten) behandelt werden. Entsprechende mehrdimensionale Analysemethoden oder Modelle sind äußerst komplex. In der Regel finden vereinfachte Modelle Anwendung, wie z.b. Zeitreihen an einem Meßpunkt (Hauptaugenmerk auf der Zeit) oder die Analyse räumlicher Verteilungsmuster zwischen definierten Zeitpunkten (Hauptaugenmerk auf dem Raum). Ein wichtiges Hilfsmittel stellt die Visualisierung solcher mehrdimensionaler Phänomene dar. Hierbei können neue Hilfsmittel wie Virtual Reality von Nutzen sein. 12

32 Kapitel 1. Grundlagen Datenbanken Die Speicherung von Daten erfolgt entweder als einfache Datei (Flat File) oder in der einfachen Dateistruktur des Betriebssystems, oder besser unter Zuhilfenahme einer Datenbank, genauer eines Datenbank-Management-Systems (DBMS). Für GIS ist dabei die unterschiedliche Behandlung von Geometriedaten, Topologie und der thematischen Sachdaten von Bedeutung. Für letztere hat sich die Speicherung in Datenbanksystemen durchgesetzt. Geometrie und Topologie bereiten Standard- DBMS jedoch Schwierigkeiten, da diese für einfache eindimensionale Tabellen entwickelt wurden. Hierfür wurden eigene Lösungen gefunden, wobei die Verwaltung der Geometrie und Topologie in Datenbanken gerade durch neue Entwicklungen ein starkes Wachstum erfährt. Die großen Datenmengen und die hohen Anschaffungs- und Pflegekosten, die für Geodaten typisch sind, machen eine professionelle Speicherung aller Daten in Datenbanken unerläßlich. Zunächst sollen die grundlegenden Begriffe geklärt werden: Inhaltlich zusammengehörige Dateien bilden eine Datenbank (Datenbasis, DB). Spezielle Softwareprogramme, die die integre Verwaltung und Auswertung solcher Datenbestände erlauben, heißen Datenbankmanagementsystem (DBMS). Zusammen bilden DBMS und ein oder mehrere Datenbanken ein Datenbanksystem, was in Abbildung Abbildung 1-3 veranschaulicht wird. Abbildung 1-3. Datenbanksystem (DBS) Allerdings werden umgangssprachlich auch oft Datenbanksysteme oder Datenbankmanagementsysteme als Datenbanken bezeichnet. Wir werden im Folgenden daher nicht die strikte Nomenklatur einhalten. Bekannte DBMS sind z.b. Oracle, Informix, DB2 oder (ein paar Nummern kleiner) Access. Datenmodelle In einem Datenbanksystem können 3 Ebenen bezüglich der Datenmodelle unterschieden werden. Externe Ebene Unterschiedliche Sichten verschiedener Anwender auf die Daten 13

33 Kapitel 1. Grundlagen Konzeptionelle Ebene Interne Ebene Strukturierung der Daten unabhängig von Hardund Software oder speziellen Fachfragen. Beliebtes Hilfsmittel zur konzeptionellen oder logischen Modellierung des fraglichen Weltausschnitts sind die sogenannten ER-Diagramme (Entity-Relationship-Diagramme). Physische Organisation der Speicherung auf dem Rechner, d.h. Festlegung von Datentypen, Speicherplatzen, Speichermedium, Zugriffsoperationen etc. Die einzelnen Ebenen sind unabhängig voneinander. Aus dieser schichten-basierten Sichtweise lassen sich einige Vorteile von Datenbanken gegenüber der Speicherung auf Basis einfacher Dateien ableiten: Unabhängigkeit von Anwendungsprogrammen Datenintegrität Mehrbenutzerbetrieb Verschiedene Sichten auf Daten Sicherheit Konzeptionelle Modellierung mit ER-Diagrammen Bei der Datenmodellierung handelt es sich um eine Abstraktion, bei der ein Ausschnitt der realen Welt in Form einer Datenbeschreibung abgebildet wird. Das ER-Modell ist ein möglicher Ansatz, von der realen Welt zu abstrahieren. Dabei wird in dem betrachteten Ausschnitt der Wirklichkeit nach Objekten gesucht, die miteinander in Beziehung (= Relationship) stehen und dies im Rahmen einer speziellen grafischen Notation dargestellt. Diese Technik wird vor allem dazu verwendet, die reale Welt in Form eines abstrakteren Diagramms anschaulich darzustellen. Diese Diagramme können dann in ein Datenbankschema überführt werden. Es gibt Softwarewerkzeuge, die dabei helfen (CASE-Tools). Folgende Begriffe müssen in diesem Zusammenhang kurz erläutert werden: Entität Ein real existierendes oder abstraktes, aber identifizierbares Objekt, das meist in Form eines Rechteckes dargestellt wird. 14

34 Kapitel 1. Grundlagen Beziehung Eine Beziehung (relationship) zeigt eine mögliche Verbindung, einen Zusammenhang zwischen zwei Entitäten auf. Für die Namen von Beziehungen werden daher gerne Verben benutzt. Dabei muß beachtet werden, daß Beziehungen von zwei Richtungen aus gelesen werden können, dann erhält die Beziehung gegebenenfalls zwei unterschiedliche Rollennamen. Relationships werden meist als Raute dargestellt. Linien weisen zu den einzelnen Entitäten. Es existieren verschiedene spezielle Typen von Beziehungen, wie Aggregation (Teil Ganzes-Beziehung), IS_A, Vater-Sohn-Beziehung,... Attribute In einem weiteren Schritt werden nun Eigenschaften (Attribute) der einzelnen Entitäten und Beziehungen identifiziert, die sie beschreiben. Attribute ordnen den Entitäten oder auch den Relationships beschreibende Werte zu. Hierbei muß auf die funktionale Abhängigkeit geachtet werden. So kann ein Grundstück als Attribute einen zugehörigen NAMEN, eine ZUGEHöRIGKEIT zu einer Gemeinde, eine FLURSTUECKNUMMER, einen EIGENTüMER, eine LANDNUTZUNG etc besitzen. Der Besitzer wird z.b. durch seinen NAME, die, die SPRACHE charakterisiert. Auch die Beziehungen können durch Attribute genauer charakterisiert werden. In unserem Beispiel z.b. das Jahr (DATUM), in der Besitzer das Grundstück erworben hat. Kardinaliät Die Kardinalität beschreibt die Quantität, die zwischen den beiden Entitäten herrscht, d.h. wie viele Exemplare einer Entität mit wie vielen Exemplaren einer anderen Entität in einer speziellen Beziehung stehen können. Folgende Typen können unterschieden werden: 1:1, 1:n, n:m. (Für die ns oder ms können gegebenenfalls konkrete Zahlen eingesetzt werden). Es existieren noch andere Schreibweisen für Kardinalitäten, auf die hier aber nicht eingegangen werden soll. Abbildung :n-Beziehung Als Illustration soll Abbildung bez_1_n dienen: ein Eigentümer kann mehrere Flurstücke besitzen, aber ein Flurstück gehört genau einem Eigentümer. Man kann sich bereits über diesen Fall streiten. Wieso sollte ein Flurstück nicht mehrere Eigentümer haben? Die Modellierung hängt also sehr stark davon ab, wie der Modellierende den Weltauschnitt sieht und welche Randbedingungen für die Anwendung gegeben sind. 15

35 Kapitel 1. Grundlagen Logische Datenbankschemata Für Datenbanken existieren verschiedene Möglichkeiten für den Aufbau der konzeptionellen (oder logischen) Datenschemata. Die grundlegenden logischen Schemata sollen kurz angeführt werden: Tabelle 1-4. Logische Datenbankschemata Hierarchisch Netzwerk Relational Postrelational, objektrelational, hybrid Objektorientiert Nur 1:n- Beziehungen (d.h. auch 1:1) -- einfache Baumstruktur (historisch ältestes Datenbankkonzept) Navigation in Graphen. Bsp: IMS von IBM. Tabellen als Grundstruktur -- heute Standard der meisten kommerziellen DBMS, besonders für Sachdaten geeignet Die aktuellen Entwicklungen zeigen in Richtung einer Verschmelzung von relationalen und objektorientierten Ansätzen. Natürliche Sichtweise auf die modellierten Objekte. Einheit von Daten und Methoden, Zugriff auf das Objekt nur über die von ihm unterstützen Methoden, Vererbung / Kapselung/ und Polymorphie. Für Attributdaten hat sich das relationale Modell etabliert. Netzwerk- und hierarchische Datenbanken besitzen hier nur historische Bedeutung. Bei räumlichen Datenstrukturen spielen sie neben originären Konzepten noch eine gewisse Rolle. Objektorientierte Datenmodelle befinden sich noch weitgehend in der Forschungs- und Entwicklungsphase. Auf sie werden Hoffnungen bei der Modellierung komplexer Daten gesetzt, da relationale Datenbanken im Wesentlichen für einfache "flache" Tabellen entwickelt wurden und Schwierigkeiten bestehen, komplexere Zusammenhänge effektiv in (normalisierter) Tabellenform darzustellen. Es gibt mittlerweile ein breites Angebot an sogenannter Middleware, die die Speicherung komplexer Objekte (wie Geometrie) in relationalen Systemen erlaubt. Damit ist ein Trend zu objektrelationalen (hybriden) Datenbanksystemen zu verzeichnen. Beispiele für solche Middleware-Lösungen sind die Spatial Data Cartridge für Oracle, der Spatial Extender von IBM oder die Spatial Database Engine (SDE) von ESRI. Dies unterstreicht die heutige Marktdominanz relationaler Datenbanksysteme. Es ist daher notwendig, einige grundlegende Begriffe dieses Datenbanktyps zu klären. Relationale Datenbanken In diesem Rahmen kann nur eine erste Begriffsbestimmung einiger für (relationale) Datenbanken wichtiger Aspekte erfolgen, damit ein grundsätzliches Verständnis des später Folgenden möglich ist. Sollen selbst größere Datenbanken aufgebaut werden empfiehlt sich eine eingehendere Beschäftigung mit diesem Thema. 16

36 Kapitel 1. Grundlagen Grundbegriffe Transaktion Das Transaktionsprinzip ist einer der grundlegenden Mechanismen in Datenbanken. Durch Transaktionsmechanismen werden erst sichere auf Datenbanken basierende Anwendungen oder Mehrbenutzerfähigkeit ermöglicht. Eine Transaktion besteht aus einer Folge von zusammengehörigen Verarbeitungsschritten innerhalb der Datenbank, die z.b. ein Benutzer als eine Aufgabe durchführen will (z.b. die änderung eines Wertes in einer Tabelle). Vereinfacht dargestellt basieren Transaktionen auf dem Alles oder Nichts -Prinzip: Entweder wird die gesamte Transaktion erfolgreich durchgeführt oder komplett zurückgewiesen. Auch bei einem Systemabsturz mitten im laufenden Betrieb, bei dem bei einer Mehrbenutzerdatenbank sehr viele Transaktionen gleichzeitig aktiv sein können, darf kein inkonsistenter Zustand der Daten entstehen, sondern es muß die Integrität der gesamten Datenbank gesichert bleiben. Inkonsistente Zustände könnten z.b. dann auftreten, wenn ein Wert gelöscht, aber der neue Wert noch nicht eingefügt wurde, oder Trigger (siehe unten im Abschnitt Abschnitt namens Integritätsbedingungen) nicht vollständig ausgeführt wurden. Es gibt verschiedene Ansätze, um den Transaktionsgedanken zu realisieren. Diese sogenannten Lockingmechanismen beruhen darauf, die gerade in Benutzung (Read, Write) befindlichen Tabellen (oder Tupel) für andere Benutzer auf gewisse Weise zu sperren. Primärschlüssel In Relationen dürfen Tupel (Zeilen) mit gleichen Einträgen in allen Attributen nicht vorkommen, d.h. Einträge müssen eindeutig identifizierbar sein. Identifiziert werden die Einträge genau durch ihre Attribute. Kombinationen von Attributen, die einen Eintrag eindeutig identifizieren, heißen Schlüsselkandidaten. Aus den Schlüsselkandidaten kann einer, nämlich der minimale (d.h. mit der kleinsten Menge beteiligter Attribute) als Primärschlüssel ausgewählt werden. Der Primärschlüssel identifiziert damit jede Zeile eindeutig und besteht aus der minimalen Anzahl dazu notwendiger Attribute. Aus der Forderung der eindeutigen Identifizierbarkeit folgt, daß der Wert eines Primärschlüssels nie NULL sein darf. Oft wird extra ein eigenes, neues Attribut als Primärschlüssel kreiert: z.b. werden Integerwerte beständig hochgezählt oder vom System generierte, eindeutige Werte vergeben. Abbildung 1-5. Primärschlüssel: Geometriedaten 17

37 Kapitel 1. Grundlagen Fremdschlüssel Kommt der Primärschlüssel einer Relation in einer anderen Relation noch einmal als Attribut(menge) vor, d.h. referenzieren diese Attribute die erste Relation eindeutig, so werden sie in der zweiten Relation als Fremdschlüssel bezeichnet. Auf diese Weise können Beziehungen (Relationships) des ER- Modells im Fall 1:n realisiert werden. Abbildung 1-6. Fremdschlüssel: Sachdaten Sichten (Views) Ein View (in einer Datenbank) ist eine externe Sicht (d.h. die eines Endanwenders oder eines externen Anwendungsprogrammes) auf die Daten. Ein View beruht auf einer konkreten Abfrage der real existierenden Tabellen einer Datenbank und wird beim Aufruf dynamisch erzeugt. Man kann einen View daher auch als virtuelle Tabelle bezeichnen. Damit zeigt ein View auch immer die aktuellen Daten an, da bei jedem öffnen eines solchen Views die entsprechende Abfrage von neuem ausgeführt wird. Für verschiedene Benutzer oder Benutzerkategorien können auf diese Weise verschiedene Sichten (je nach Benutzerrechten) auf dieselbe zentrale Datenbasis definiert werden. Beispielsweise dürfen nur Mitarbeiter bestimmter Abteilungen definierte Attribute gewisser Tabellen ansehen oder gar verändern. Dies wird über datenbankinterne Zugriffsrechte geregelt, die zusätzlich die Sicherheit einer Datenbank gewährleisten. In ARC/INFO exisitiert ebenfalls der Begriff view, der eine ähnliche Bedeutung aufweist und in Kapitel Kapitel 7 eingehender erläutert wird. Integritätsbedingungen Integritätsregeln sind Regeln, die bei der Eingabe oder Veränderung von Werten in der Datenbank beachtet werden müssen, damit die sachliche und logische Korrektheit der Datenbasis gewährleistet ist. Sie umfassen z.b. erlaubte Wertebereiche und Datentypen, sowie sogenannte Geschäftsregeln (business rules), die in relationalen Datenbanken mit Hilfe von Triggern realisiert werden können. Trigger sind Anweisungen (Programmcode), die beim Verändern von Werten ausgeführt werden und z.b. die Korrektheit der Änderungen überprüfen oder auf Grundlage der Eingaben andere Daten verändern. Referentielle Integrität Die Einhaltung folgender Regeln muß u.a. vom Datenbankmanagementsystem gewährleistet werden: 18

38 Kapitel 1. Grundlagen Kein Bestandteil eines Primärschlüssels (wenn es sich um einen zusammengesetzten Primärschlüssel handelt) darf je den Wert NULL annehmen, da sonst der Gesamtschlüssel den Datensatz nicht mehr eindeutig identifiziert. Zeilen, die einen Fremdschlüssel enthalten, müssen den Wert des bereits vergebenen Primärschlüssels in der referenzierten Tabelle besitzen oder den Wert NULL, sonst werden sie abgewiesen. Primärschlüssel dürfen nicht verändert werden, wenn zu ihnen Fremdschlüssel existieren. Indizes Typisch für Standard-Datenbanksysteme sind eindimensionale Indexmechanismen (z.b. B-Bäume). Für raumbezogene Daten werden spezielle Zugriffsmechanismen benötigt, die später kurz angerissen werden. Normalformen Wir haben Relationen im Wesentlichen als Tabellen mit gleicher Variablenstruktur definiert. Diese Tabellen erfüllen nun eine bestimmte Normalform, wenn die Struktur der Tabellen gewissen Regeln entspricht. Es können mehrere Normalformen unterschieden werden. Der Zweck der Normalisierung von Tabellen ist die Beseitigung von Redundanzen oder mehrwertigen Abhängigkeiten zwischen Attributen. Falls diese Regeln nicht befolgt werden, kann es zu sogenannten Anomalien kommen, die die logische Konsistenz der Datenbasis gefährden, da dann in unterschiedlichen Tabellen sich widersprechende Aussagen zum Inhalt gewisser Variablen existieren. Im Folgenden geben wir eine kurze Charakterisierung der wichtigsten Normalformen: Normalformen 1NF 2NF 3NF Eine Relation ist in erster Normalform (1NF), wenn jeder Attributwert elementar ist, also nicht aus mehreren Bestandteilen besteht (Vektoren, Gruppen, Aufzählungen). Eine Relation ist in zweiter Normalform (2NF), wenn sie in 1NF ist und jedes Nichtschlüssel- Attribut vom Gesamtschlüssel voll funktional abhängig ist. D.h.: Ein Nicht-Schlüsselattribut darf nicht schon von einem Teil des Schlüssels abhängen. Eine Relation ist in dritter Normalform (3NF), wenn sie in 2NF ist und kein Nichtschlüssel- Attribut von einer Menge anderer Schlüssel-Attribute transitiv abhängig ist. 19

39 Kapitel 1. Grundlagen 4NF 5NF Eine Relation ist in vierter Normalform (4NF), wenn sie in 3NF ist und außer funktionalen Abhängigkeiten keine mehrwertigen Abhängigkeiten enthält. Eine Relation ist in fünfter Normalform (5NF), wenn sie in 4NF ist und wenn sie nicht dadurch gewonnen werden kann, daß einfachere Relationen mit unterschiedlichen Schlüsseln verschmolzen werden. Ihre praktische Bedeutung ist umstritten. Wird eine relationale Datenbank entworfen, so sollten die Tabellen grundsätzlich normalisiert sein. Allerdings können Performanceaspekte o.ä. Abweichungen sinnvoll erscheinen lassen. Diese sollen dann aber sehr bewußt vorgenommen werden. Mögliche Inkonsistenzen müssen erkannt und z.b. von der auf der Datenbank aufsetzenden Anwendung oder von Triggern behandelt werden. Datenmanipulation und -selektion mit SQL Die Structured Query Language (SQL) ist die standardisierte Sprache zum Erzeugen, Manipulieren und Abfragen von relationalen Datenbanken, weswegen diese manchmal auch SQL-Datenbanken genannt werden. SQL (Structured Query Language) wurde ursprünglich in den 70er Jahren in den Labors von IBM entwickelt und stellt eine Möglichkeit des Zugriffs auf relationale Datenbanken dar. SQL-Anweisungen dienen dazu, Tabellen zu erzeugen, Daten aufzufinden, einzufügen, zu verändern oder zu löschen und Zugriffsberechtigungen zu verwalten. Seither wurde SQL zum Standard für den Zugriff auf relationale Datenbanken, wenn sich auch, wie nachfolgend erläutert, verschiedene Dialekte entwickelten. Beispiele für den Umgang mit externen relationalen Datenbanken und SQL mit ARC/INFO finden sich im Kapitel Kapitel 3. Hier sollen nur einige wesentliche Konstrukte von SQL vorgestellt werden. SQL als Datendefinitionssprache Beispiel 1-1. Tabelle / Sicht erstellen CREATE TABLE CREATE VIEW AS... Relationale Operationen Beispiel 1-2. Selektion: Auswahl von Zeilen einer Tabelle SELECT * FROM MITARBEITER WHERE NAME = "Maier" Alle Zeilen, deren Feld Name den Eintrag Maier enthält, werden ausgewählt. 20

40 Kapitel 1. Grundlagen Beispiel 1-3. Projektion: Auswahl von Spalten einer Tabelle SELECT NAME, GEHALT FROM MITARBEITER Aus der Tabelle Mitarbeiter werden die Spalten Name und Gehalt ausgewählt. Beispiel 1-4. Verbund: Relationen werden miteinander verknüpft (JOIN) SELECT MITARBEITER.NAME, ABTEILUNG.NAME FROM MITARBEITER, ABTEILUNG WHERE MI- TARBEITER.ABTEILUNG = ABTEILUNG.ID Gibt alle Mitarbeiter mit dem Namen der Abteilung, in der sie arbeiten aus. Die Namen von Mitarbeitern und Abteilungen stehen in jeweils eigenen Tabellen und werden über die ID als Fremdschlüssel verknüpft. Mengenoperationen Beispiel 1-5. Vereinigung (UNION) SELECT * FROM BERGHEIM.EINWOHNER UNION SELECT * FROM NEUENHEIM.EINWOHNER Die Ergebnistabelle erhält die Liste aller Einwohner von Bergheim und Neuenheim. Beispiel 1-6. Schnittbildung (INTERSECT) SELECT * FROM BANKA.KUNDEN INTERSECT SELECT * FROM FIRMAB.KUNDEN Die Ergebnistabelle erhält die Liste aller Kundendaten, die sowohl Kunde der Bank A als auch der Firma B sind. Beispiel 1-7. Differenz (EXCEPT) SELECT * FROM BANKA.KUNDEN EXCEPT (SELECT * FROM FIRMAB.KUNDEN) Die Ergebnistabelle enthält alle Kundendaten der Bank A, die nicht Kunden der Firma B sind. Wie wir später sehen werden, gibt es in ARC/INFO recht ähnliche Operationen zur geometrischen Verschneidung von räumlichen Gebietseinheiten, bzw.~geoobjekten (vgl. Kapitel Kapitel 4). Dies motiviert auch die zunehmende Verlagerung von GIS-Funktionalität in Datenbanken, bzw.~die Entwicklung von SQL-Erweiterungen für raumbezogene Datentypen. 21

41 Kapitel 1. Grundlagen Raumbezogene Erweiterungen von SQL (OPENGIS / SQL3) Im folgenden sollen Entwicklungstendenzen der Sprache SQL in Bezug auf die Integration geographischer Elemente vorgestellt werden. Eine Komponente des SQL 3-Standards ist SQL Multimedia (MM). Diese definiert standardisierte Erweiterungen für die Handhabung von Datentypen wie Text, Bild und räumlichen Daten. Es wird versucht, SQL Multimedia (MM) mit dem Open GIS Standard abzustimmen, so daß beide die gleiche Funktionalität für räumliche Daten besitzen. Im Folgenden wird die OpenGIS Simple Features Specification For SQL Revision 1.0 erläutert, die im März 1998 veröffentlicht wurde, und an der u.a. die folgenden Unternehmen beteiligt sind: Environmental Systems Research Institute, Inc. (ESRI) IBM Corporation. Informix Software, Inc. MapInfo Corporation. Oracle Corporation. Ziel dieser Spezifikation ist die Definition eines standardisierten SQL-Schemas, das die Speicherung, Wiederauffindung, Abfrage einschließlich Update einer Auswahl einfacher räumlicher Objekte mittels der ODBC API unterstützt. Hierbei wird unter einem Feature ein Objekt mit geometrischen Attributen verstanden. Eine Tabelle, deren Zeilen grundlegende räumliche Objekte (OpenGIS Simple Features) enthalten, wird Feature Table genannt. Ein Objekt, das in einer Feature Table gespeichert wird, besteht aus einer zweidimensionalen Geometrie mit linearer Interpolation zwischen den Knoten (Vertices). Einem solchen Objekt werden sowohl räumliche als auch nicht-räumliche Attribute zugeordnet. Vom Ansatz her werden die Datensätze räumlicher Objekte in einem relationalen DBMS in Tabellen gespeichert. Die nicht-räumlichen Attribute der Objekte werden in Spalten eingetragen, deren Datentypen denen des Standard-SQL92 entnommen sind. Die räumlichen Attribute der Objekte beziehen sich auf Spalten, deren Datentypen auf dem Konzept der zusätzlichen geometrischen Datentypen für SQL basieren. Dem Ansatz liegt folgendes geometrisches Objektmodell zugrunde (siehe Abb.): Die übergeordnete Geometrieklasse (Geometry) hat als Unterklassen Point, Curve, Surface und GeometryCollection. Jedes geometrische Objekt ist mit einem räumlichen Referenzsystem verbunden, das Auskunft über den Koordinatenraum gibt, in dem das geometrische Objekt definiert ist. Die null-, ein- und zweidimensionalen Klassen namens MultiPoint, MultiLineString und MultiPolygon setzen sich aus einer Sammlung von Punkten (Points), Linien (LineStrings) und Flächen (Polygons) zusammen. Alle Elemente einer Sammlung von Geometrien müssen dem gleichen räumlichen Referenzsystem zugeordnet sein. Die Einführung von MultiCurve und MultiSurface als abstrakte Oberklassen verallgemeinert die Schnittstelle zu den Geometriesammlungen und vereinfacht den Umgang mit Kurven und Flächen. Die Spezifikation stellt neben den neuen Datentypen auch neue Methoden in SQL zur Verfügung, um räumliche Beziehungen zwischen geometrischen Objekten zu überprüfen: 22

42 Kapitel 1. Grundlagen neue SQL-Methoden in OPENGIS / SQL3 Equal Disjoint Intersect Touch Contains Prüfen, ob eine Geometrie räumlich gleich einer anderen ist. Prüfen, ob eine Geometrie räumlich getrennt von einer anderen ist. Prüfen, ob eine Geometrie eine andere räumlich schneidet. Prüfen, ob eine Geometrie eine andere räumlich berührt. Prüfen, ob eine Geometrie eine andere beinhaltet Diese und weitere Methoden waren bisher nur Geographischen Informationssystemen vorbehalten und sind jetzt direkt in der Datenbank verfügbar. Weiterhin stehen u.a. folgende Methoden bereit, die räumliche Analysen unterstützen: Methoden für räumliche Analyse Distance Buffer Ermittelt die kürzeste Distanz zwischen zwei beliebigen Punkten. Ermittelt eine Geometrie, deren Punkte sich gleich oder innerhalb eines maximalen Abstandes befinden. Dies ermöglicht z.b. die Berechnung eines lärmbelasteten Streifens 50m rechts und links von einer Straße. ConvexHull Ermittelt die Umrandung einer Geometrie. Intersection Ermittelt die Punkte einer Geometrie, die sich mit denen einer anderen überlagern. Difference Ermittelt die Punkte einer Geometrie, die sich von denen einer anderen unterscheiden. Die SQL92-Implementation von räumlichen Objekten, wie sie von OpenGIS definiert werden, erzeugt ein Schema zur Speicherung der Feature Tables, der Geometrie und der Informationen des räumlichen Referenzsystems. Sie legt also ein Schema zur Speicherung der räumlichen Attribute, der abstrakten 23

43 Kapitel 1. Grundlagen geometrischen Klasse (Punkt, Linie, Fläche...) und des zugehörigen räumlichen Referenzsystems fest. Die Spatial Database Engine (SDE) von ESRI Damit SDE diesen offenen Datenzugriff gewährleisten kann, hat ESRI eine dreischichtige Client/Server- Architektur. Diese ist folgendermaßen aufgebaut: Präsentationsschicht (ArcView GIS, MapObjects, ARC/INFO, ArcExplorer etc.), Application Server-Schicht (SDE Server), Datenmanager-Schicht (ARC/INFO Coverages, Open GIS Simple Features, SDE compressed binary, RDBMS 2 ). SDE arbeitet mit allen führenden modernen relationalen DBMS-Produkten wie Oracle, Informix, IBM DB2, Microsoft SQL Server und Sysbase zusammen. SDE benutzt das darunterliegende RDBMS, das für den Endbenutzer und den Anwendungsentwickler unsichtbar ist und das die räumlichen und nichträumlichen Daten enthält. SDE ist mittels eines Database Interface Modules eng mit dem RDBMS gekoppelt. Dieses Modul ist die Schnittstelle zu allen in dem darunterliegenden RDBMS gespeicherten, Geodaten und Sachdaten. Dieses Modul wurde so anbieterunabhängig wie möglich vom RDBMS gestaltet, um die Zusammenarbeit mit vielen Systemen zu erreichen. Ein SDE-Datensatz wird Schicht (Layer) genannt und ist ein Satz von geographischen Eigenschaften einheitlicher Objekttypen, die die gleichen Attribute haben. Ist z.b. ein Gebietsausschnitt eines topologischen oder kartographischen Modells nicht als ein komplettes Objekt gespeichert, sondern als Pfade, die entlang von Punkten aufgereiht sind, hat das zum Nachteil, daß jeder Zugriff auf das Polygon des Gebietes eine Rekonstruktion benötigt, die viele Plattenzugriffe nach sich zieht. Um diesen Nachteil zu umgehen, speichert das von SDE verwendete Objekt-Entitäten-Modell jedes Gebiet als ein komplettes Polygon, wodurch das ganze Objekt mit einem einmaligen Plattenzugriff geladen werden kann. Auf dem Weg zu raumzeitlichen Datenbanken Ein spannende Fragestellung ist die Verwaltung historischer Daten. Um in die Datenbank einen historischen Bezug zu integrieren, müssen alle Informationen, die über die Zeit hinweg eine Veränderung erfahren haben, mit einem entsprechenden Zeitbezug versehen werden. Wie die steigende Anzahl von Publikationen zeigt, wird die Integration der Zeit in der Datenbank von immer größerer Bedeutung. Die zeitliche Veränderung ist ein grundlegender Bestandteil von Phänomenen in der Realität. Es gibt verschiedene Arten von Zeit, die je nach Bedeutung auf unterschiedliche reale Sachverhalte verweisen, wie z.b. Ereignisse, Tatsachen, Prozesse. Bei der Definition und Verwaltung zeitabhängiger Daten haben sich bezogen auf die Verwaltung in SQL-Datenbanken nach Snodgrass [Sno98] schon einfache Konzepte, wie z.b. der Schutz vor Duplikaten von zeitabhängigen Daten als überraschend komplex erwiesen. 24

44 Kapitel 1. Grundlagen Speicherstrukturen für raumbezogene Daten Räumliche Daten weisen im Gegensatz zu den üblicherweise in Datenbanken gespeicherten eindimensionalen Sachdaten (z.b. Wirtschaftsdaten) einige Besonderheiten auf. Dazu gehört vor allem die inhärente Zweidimensionalität der Daten, die eine einfache Sortierung (und damit eine Standard- Indizierung über B-Bäume oder ähnliche eindimensionale Indexalgorithmen) erschwert. Daher wurden besondere Verfahren entwickelt, um Geometriedaten im Computer zu speichern. Hierin ist auch die Trennung der Speicherung von Geometriedaten und Sachdaten in unterschiedlichen Datenbanken in den meisten GIS begründet. Einige wenige dieser zweidimensionalen Indexalgorithmen sollen hier wenigstens angeführt werden. Für den Endbenutzer sind sie von untergeordneter Bedeutung. Sie betreffen im wesentlichen die Performanz räumlicher Abfragen. Vertiefende Informationen können aus der einschlägigen Fachliteratur, speziell auch derjeniger der Geoinformatik gewonnen werden. Sogenannte Nicht-Standard- Datenbankensysteme sind noch immer Forschungsgegenstand der Informatik. Rasterzellen Quadtrees (4 Nachfolger je Knoten) Halbebenenunterteilung (k-1 dimensionale Hyperebenen) K-d-Bäume K-d-B-Bäume etc. (BILL / FRITSCH, 1991, 305) Es existieren weitere Methoden, um den physikalischen Zugriff auf die Daten mittels unterschiedlicher Datenstrukturen zu realisieren: Extendable hashing (Formelbasiertes Indexmanagement) Extendable cell method (Erweiterung desselben) Gridfile R-Baum (R+ -Baum) Zellbaum (Knoten mit komplexen Polyedern) (BILL / FRITSCH 1991, 306) Dynamische Zugriffsmethoden zeichnen sich dadurch aus, daß sie sich dem Wachstum des Datenvolumens dynamisch anpassen, wodurch die periodische Notwendigkeit der Reorganisation der Daten entfällt und effizienter Zugriff bei akzeptablem Speicherplatzverbrauch gewährleistet ist. In diesem Rahmen können und sollen nur einige gängige Verfahren erwähnt werden. Genauere Beschreibungen liefert die Fachliteratur. 25

45 Kapitel 1. Grundlagen Analysefunktionen Im Zusammenhang mit GIS tauchen immer wieder die Begriffe Spatial Analysis (raumbezogene Analyse) oder Spatial Modelling (raumbezogene Modellierung) auf. Die folgenden Tabellen geben eine knappe übersicht über die damit verknüpften Konzepte. Grundsätzliche Erläuterungen zu den damit verbundenen Funktionalitäten finden sich in den Standard-Lehrbüchern zu GIS: Die in ARC/INFO relevanten Variationen werden vor allem in den Kapiteln Kapitel 4 und Kapitel 8 angesprochen. Wie die folgenden Aufzählungen andeuten, existieren daneben eine große Zahl weiterer Analysemethoden, die jedoch den hier verfügbaren Rahmen sprengen würden, sollten sie alle ausführlich behandelt werden. Räumliche Transformationen Koordinatensystemkonvertierung Rubber-sheeting (Entzerrung) Erzeugung von Pufferzonen (buffer generation) um Punkte (Punkt zu Fläche) um Linien (Linie zu Fläche) um Flächen (Fläche zu Fläche) Thiessen Tessellation / Delaunay Triangulation (Punkt zu Fläche) Netzwerk Einzugsbereich (Linie zu Fläche) Räumliche Suche Entfernung Räumliche Bemaßung, Fläche,... Räumliche Statistik Räumliche Korrelation und Autokorrelation Interpolation Gravitätsmodelle Mustererkennung Fehleranalyse 26

46 Kapitel 1. Grundlagen Fernerkundung und Satellitenbildinterpretation Netzwerkanalyse Kürzeste Strecke Pfadanalysen in Netzwerken Konnektivität Gerichtete Netzwerke Interaktionsmodellierung Ermittlung von Einzugsbereichen Oberflächenanalyse Interpolation Hangneigung Hangrichtung Sichtbarkeit Volumenberechnung Aus den genannten Anwendungsbereichen bzw.~den gewünschten Funktionalitäten ergeben sich folgende Anforderungen an ein GIS: Fähigkeit, große heterogene Mengen räumlich indizierter Punkte zu verwalten Möglichkeit der Abfrage solcher Datenbanken hinsichtlich Existenz, Position und Eigenschaften von raumbezogenen Objekten Möglichkeit der Interaktion, Verknüpfung von Abfragen Offenheit des Systems in Hinsicht auf Nutzeranpassung und Aufgabenanpassung Datenqualität Geographische Informationssysteme können nur so gut sein wie die Daten, auf denen sie aufbauen. Von deren Qualität und Eignung hängt die Gültigkeit einer Untersuchung ab. Eines der größten Probleme ist die Maßstabsfrage, da Geometriedaten unterschiedlichster Maßstabsebenen und damit 27

47 Kapitel 1. Grundlagen Generalisierungsgrade digitalisiert und mittels Zoom- und Streckfunktionen übereinander abgebildet und verschnitten werden können. Fehlerquellen Bei Betrachtung möglicher Fehlerquellen bei GIS-Analysen sind folgende Problemfelder zu nennen (vgl. BILL / FRITSCH 1991, 193ff und BURROUGH/McDONNELL 1998, 223): Allgemeine Fehlerquellen Unterschiedliches Alter der Daten Verschieden dichte Gebietsbedeckung Maßstab Generalisierung Gültigkeit / Eignung der Daten Digitale Aufbereitung Verfügbarkeit / Kosten Räumliche Variationen Positionsgenauigkeit Erfassungsmethode Gebietsgröße und -form Datenart Inhaltsgenauigkeit Konsistenz Gültigkeit Repräsentativität Eingabefehler Natürliche Variation Meßfehler Interpretationsfehler Auflösung Vergleichbarkeit 28

48 Kapitel 1. Grundlagen Verarbeitungsfehler Rechenschärfe des Computers Algorithmen Erfassungsfehler Verarbeitungsfehler Metadaten Metadaten sind Daten über Daten, also beschreibende Informationen einer höheren Abstraktionsebene als die Primärdaten. Sie sollen notwendige Informationen (Quelle, Maßstab, Alter, Genauigkeit, Erfassungsmethoden, Maßeinheit, Datentyp, Erstellungsart, Bearbeiter,...) über die Primärdaten liefern. Um Daten mit verschiedenen Anwendungen nutzen zu können, gibt es Bemühungen, diese Metadaten zu standardisieren. Abhängig von der inhaltlichen Bedeutung werden drei Typen von Metadaten unterschieden (vgl. auch Abb. metadata): Metadaten Semantische Metadaten Sie bestimmen die fachliche Bedeutung durch eine inhaltliche Beschreibung der Geodaten (Maßeinheit, etc). Syntaktische Metadaten Hier erfolgt die strukturell formale Beschreibung (also Datentyp oder Datenstruktur). Pragmatische Metadaten Diese beschreiben Frage zur Nutzbarkeit, wie Zugriffspfade (navigatorische Metadaten) oder datenrechtliche Bestimmungen. 29

49 Kapitel 1. Grundlagen Abbildung 1-7. Metadatentypen (nach SPIESS 98) Wichtige Metadatenstandards sind derjenige des US-amerikanischen FGDC (Federal Geographic Data Comitee) oder der Dublin CORE. Auf europäische Ebene wird im ESMI-Projekt (European Spatial Metadata Infrastructure) die Entwicklung solcher Standards koordiniert. Als Beispiel sollen einige der über 200 Attribute des in den USA für Behörden vorgeschriebenen Content Standard for Digital Geospatial Metadata des FGDC angeführt werden: Tabelle 1-5. Einige Attribute des FDGC Metadaten-Standards Identification Information Data Quality Information Spatial Data Organization Information Spatial Reference Information Entity and Attribute Information Distribution Information Urheber des analogen Datenbestandes Urheber des digitalen Datenbestandes Kurzbeschreibung räumlicher Umgriff thematische und räumliche Schlagworte Genauigkeit der Geometrie- und Sachdaten Logische Konsistenz Vollständigkeit Historie des Datensatzes Raster-/Vektormodell Anzahl der vektoriellen Informationen Zeilen- und Spaltenzahl bei Datenmatritzen Art der geodätischen Referenzierung Projektionsparameter Beschreibung der Sachdaten Urheber Datentyp Wertebereich Datenvertreiber Optionen für den Datenverkehr (online/offline) Techn. Voraussetzungen der Datenübernahme 30

50 Kapitel 1. Grundlagen Metadata Reference Information Kosten Aktualität des Eintrags in die Metadatenbank Da in zunehmenden Maße digitale Geodaten aus den unterschiedlichsten Quellen mit diversen Maßstäben, Zeitbezug und Erhebungsart zur Verfügung stehen, sind Metadaten zur Orientierung unerläßlich und ermöglichen erst eine sinnvolle Integration verschiedener (Geo-)Daten. Zum Teil erfordert die Fülle der Metadaten schon wieder Metadaten über Metadaten. Grundsätzlich können Metadaten, wie normale Daten auch, unterschiedliche Datentypen aufweisen: Diese reichen von Attributwerten in einer Datenbank über unstrukturierten Freitext bis hin zu Karten oder Bildern (z.b. quick looks). Damit wird verdeutlicht, daß die Erfassung der Metadaten ähnlich organisiert sein muß wie die Erhebung der Primärdaten selbst. Insbesondere sollte dies werkzeuggestützt vonstatten gehen. So sind im WWW auf der ESRI-Homepage und andernorts verschiedene AMLs 3 (bzw. AVENUE-Scripte für ARCVIEW) verfügbar, die Hilfestellung bei der Erstellung von Metaddaten für die verwendeten Geodaten geben. Weiterführende Literatur: Norbert Bartelme, 1995, Geoinformatik: Modelle, Strukturen, Funktionen., Berlin, Heidelberg: Springer. Ralf Bill, 1999, Grundlagen der Geo-Informationssysteme. Band 2: Analysen, Anwendungen und neue Entwicklungen. 2. Auflage, Heidelberg: Wichmann. Michael F. Worboys, 1995, Geoinformatik: Modelle, Strukturen, Funktionen., London: Taylor and Francis. Andrew MacDonald, 1999, Building a Geodatabase., Redlands: ESRI. Fußnoten 1. Vgl. J.D. Wilson: What s In A Name in: GeoWorld Vol. 11, No. 11, anläßlich der Umbenennung von GISWorld in GEOWorld: Während dieser Begriff in Europa noch geläufig ist, sind anderswo Tendenzen zu beobachten, diese als zu eng betrachtete Bezeichnung zu ändern. So ist in Asien inzwischen der Begriff Räumliches Informationssystem gebräuchlicher, und auch in Nordamerika findet spatial inzwischen weitere Verbreitung, neben dem vor allem kanadischen Begriff Geomatics. 2. Relationales Datenbankmanagementsystem 3. Makros, die in der Arc Macro Language (vgl. Kap. amlprog) geschrieben wurden. Da es sich um eine interpretierte Skriptsprache handelt, sind die Makros les- und änderbar und können an die eigenen Bedürfnisse angepaßt werden. 31

51 Kapitel 2. Der Aufbau von ARC/INFO ARC/INFO besteht aus verschiedenen Modulen mit eigenen Einsatzbereichen, die eng mit dem Grundmodul ARCverwoben sind. Wir starten ARC/INFO und stellen einige wichtige Unterprogramme vor. Architektur Mit der Version 8 wurde eine Trennung von ARC/INFO in Workstation-ARC/INFO und Desktop- ARC/INFO vollzogen. Dabei kann der Desktop-Teil nur unter Windows NT installiert werden, der Workstation-Teil unter NT (auch auf dem gleichen Computer) oder unter Unix. Der Workstation-Teil beinhaltet eine aktualisierte Version des bisherigen ARC/INFO-Kerns. Seine wichtigsten Bestandteile werden in der nachfolgenden Aufstellung vorgestellt: ARC ARCEDIT ARCPLOT LIBRARIAN ARCSTORM NETWORK DYNAMIC SEGMENTA- TION Einstellungen der Arbeitsumgebung Aufruf der Unterprogramme/Module von ARC/INFO Datenerfassung, -automation und -aktualisierung Analyse Koordinatentransformation und -projektion Sachdatenautomation und -aktualisierung Datenexport und -import Anbindung externer Datenbanken Datenerfassung / Digitalisierung Editierung und Aktualisierung der Koordinatengrundlage Analyse, Visualisierung und graphische Ausgabe Erstellung und Verwaltung von Kartenbibliotheken Weiterentwicklung von LIBRARIAN Aufbau und Analyse von Netzwerkstrukturen Bemaßung von Netzwerken, Routenplanung Einzugsgebietsberechnung (Location / Allocation-Probleme) Dynamisches Zuordnen von Sachdaten an Linientopologien COGO Analyse und Visualisierung dynamischer Phänomene auf Netzwerken Werkzeuge zur Einbindung von Vermessungsdaten, CAD-Daten, Daten der Feldaufnahme ((halb-)automatisch) 1

52 Kapitel 2. Der Aufbau von ARC/INFO ArcSDE IMAGE INTEGRATOR GRID TIN ARCSCAN ARCPRESS AML ODE Einbindung und Zugriff auf externe Datenbanksysteme wie ORACLE, INGRES, SYBASE, INFORMIX, RDB Gleichzeitige Visualisierung von Raster- und Vektordaten Georeferenzierung von Rasterdaten Organisation von Bilddaten in einem Image Katalog Bearbeitung und Analyse von Rasterdaten Triangular Irregular Network, Verarbeitung dreidimensionaler Vektordaten, Oberflächendarstellung und -modellierung Vektorisierung von Rasterdaten (halb- oder vollautomatisch) Rasterung von Ausgabedateien für Plotausgabe und Druckvorstufe Arc Macro Language, prozedurale Programmiersprache von ARC/INFO Programmierschnittstellen zu C, Java etc. Bei Nutzung der Kommandozeile muß das jeweilige Modul von ARCaus aufgerufen werden und stellt dann einen eigenen Prompt zur Verfügung. Ein Großteil der Möglichkeiten der Module steht auch menügesteuert über ARCTOOLS zur Verfügung. ARCTOOLS wird im nächsten Abschnitt vorgestellt. Der Desktop-Teil besteht aus folgenden Anwendungen: ArcToolbox ArcCatalog ArcMap Konvertierung, Verschneidung, Transformierung Datenbrowser /-editor Abfrage, Visualisierung und Ausgabe von Vektor- und Rasterdaten Die Benutzeroberfläche ARCTOOLS ARCTOOLS ist die bisherige grafische Benutzeroberfläche (GUI -- Graphical User Interface) für ARC/INFO. Sie ermöglicht dem Benutzer relativ bedienungsfreundlich verschiedene Analyse- und Editierabläufe, sowie z.b. die Layoutgestaltung der Ergebniskarte mittels Menüfenstern. Die Oberfläche ist auf allen verfügbaren Betriebssystemen im wesentlichen identisch. Bis auf wenige Ausnahmen (z.b. Dateidialoge) ist nur das Aussehen des umgebenden Fensters plattformabhängig. ARCTOOLS gliedert sich in fünf logische Aufgabenbereiche, die im wesentlichen den Modulen von ARC/INFO entsprechen: EditTools Aufbau und Editieren der Kartengrundlage MapTools Visualisierung und Kartenerstellung CommandTools Analyse und weiterführende Befehle GridTools Analyse von Grids Land Records Verwaltung von Vermessungsdaten 2

53 Kapitel 2. Der Aufbau von ARC/INFO Jedes dieser Tools arbeitet unabhängig von den anderen. Daher sind die grundlegenden Funktionen (Dateimanagement, Hilfemenü, allgemeine Arc-Befehle) in jedem vorhanden. Die Command Tools sind zusätzlich von den anderen vier Modulen als eigenes Fenster aufrufbar. ARCTOOLS übernimmt automatisch die Festlegung verschiedener Umgebungsvariablen, die normalerweise vom Benutzer zu Sitzungsbeginn selbst definiert werden müssen (z.b. der Typ des Terminals: &TERMINAL 9999). Da ARCTOOLS als GUI vollständig in AML, der interpretierten ARC/INFO-eigenen Makrosprache, programmiert wurde, liegen alle Menüs und Werkzeuge als AML-Makro-Sourcecode vor. Damit ist die Programmierung eigener, speziell angepaßter Oberflächen in AML möglich. Auf diese Möglichkeiten gehen wir in Kapitel Kapitel 9 ein. Seit der Version 7.2 können auch weitere Programmiersprachen wie C++ o.ä. für die Programmierung von Oberflächen, die an spezifische Nutzergruppen angepaßt wurden (Fachschalen) oder die leichtere Einbindung externer Funktionalität (z.b. eigene Optimierungs- oder Simulationsroutinen) im Rahmen der ODE-Architektur (Open Developers Environment) genutzt werden. Datenmodelle ARC/INFO kann mit verschiedenen Datenmodellen umgehen. Es unterstützt verschiedene Raster- (Grid, Lattice) und Vektorformate (Coverage, TIN, Network). Die Geometrieinformation wird dabei entweder getrennt gespeichert (Coverages, Grids) oder über ArcSDE direkt in der Datenbank als sogenanntes GeoObject vorgehalten. Vektordaten In den folgenden Abschnitten werden die in ARC/INFO verwendeten Datenstrukturen erklärt. Im wesentlichen wird in vektorbasierten Systemen versucht, die reale Welt mittels Punkt und Linie als kleinsten Elementen abzubilden. Die mit einer Richtung versehene Linie (= Vektor) erhält in ARC/INFO den Namen Arcund bildet die Grundlage für komplexere Konstruktionen. Die nächste Ebene stellen Polygone zur Darstellung von Flächen dar. Die räumlichen Beziehungen zwischen all diesen (und weiteren) Elementen wird als Topologie bezeichnet. Diese digitale Kartengrundlage -- über Koordinaten und IDs verortet und ansprechbar, kann in einem weiteren Schritt mit zusätzlichen Variablen versehen und dadurch mit Inhalt und Sinn erfüllt werden (Computerkartographie, räumliche Statistik). Nun können jedoch noch zusätzliche räumliche Analyseverfahren angewendet werden. Diese bilden das eigentlich Neue und Spezifische eines GIS gegenüber herkömmlichen Techniken. Sie werden im Kapitel analyse (Analysetechniken) vorgestellt. Das Ergebnis derselben wird im Normalfall die Grundlage einer neuen Karte bilden. Abbildung vektor zeigt ein schematisches Vektorcoverage (vgl. dazu auch Abbildung raster auf Seite vektor. 3

54 Kapitel 2. Der Aufbau von ARC/INFO Abbildung 2-1. Vektordaten: Ein Polygoncoverage Es muß in ARC/INFO zwischen der Koordinatenebene, d.h. dem zusätzlich mit expliziter Topologie versehenen Coverage als Kartengrundlage und den Ergebnissen weiterer Verarbeitungsschritte unterschieden werden. Die in den Coverages verorteten Sachdaten werden in ARCTOOLS in sogenannten Views visualisiert. Ein View kann aus mehreren sogenannter Themes aufgebaut sein. Ein Theme ist die Visualisierung einer (oder mehreren) Variablen auf einer bestimmten Grundgeometrie (dem Coverage). Es wird also pro Theme ein thematischer Inhalt eines Coverages dargestellt. Der ARCTOOLS-spezifische Fachbegriff Theme kann also gut mit Thema übersetzt werden. Beispielsweise könnte ein Thema die Gewässergüte darstellen, ein weiteres die aktuelle Bodennutzung und ein drittes den Strassenzustand. Alle drei Themes können dann in einem View gemeinsam dargestellt werden. Erst solch ein View dient als Grundlage einer Karte im klassischen Sinne. Diese wird mit Map bezeichnet. Sie verfügt neben dem View über Legende, Maßstab, Titel und gegebenenfalls weitere gestalterische Elemente. Es können aber auch mehrere Views (z.b. eine übersichtskarte und eine Detailkarte) in einer einzigen Map dargestellt werden. Die Erstellung von Views und Maps wird in Kapitel Kapitel 7 erläutert. Zunächst soll jedoch die Struktur innerhalb eines Coverages untersucht werden. Verknüpfung der Features mit den Attributdaten Von besonderem Interesse ist die Verknüpfung der den Raum darstellenden Daten (Koordinaten, Geländemodell) und der ihn beschreibenden Sachverhalte, welche zunächst in tabellarischer Form vorliegen. Diese von ARC/INFO automatisch erzeugte Verknüpfung besitzt folgende Charakteristika: Eine eineindeutige Beziehung zwischen den Coverage-Features und den zugehörigen Einträgen in der Datentabelle (Feature Attribute Table). Diese wird realisiert durch: 4

55 Kapitel 2. Der Aufbau von ARC/INFO Die programminterne Kennung (Sequence Number) (#) (-#), als für jedes Coverage Feature spezifisches Kennzeichen zur Identifizierung zugehöriger Daten im Feature Attribute Table (FAT). Es existieren verschiedenene FAT-Arten -- zu jedem Objekttyp (Feature Type, z.b. arc, poly, line) eines Coverages, bzw. besser Coverage-Types (Line Coverage, Polygon Coverage, Point Coverage,...) eine eigene. Dies wird in den kommenden Kapiteln im Detail dargestellt. Letztendlich muß diese Indentifikationsnummer für jedes Feature, d.h. die räumlichen Datengrundstrukturen, pro Coverage an zwei physikalisch verschiedenen Orten gespeichert werden: Nämlich in der Datei, welche die Raumdaten, z.b. x/y-koordinaten beinhaltet, sowie in der Datei mit den zugehörigen Einträgen in der Feature Attribute Table. Das Coverage Vektordaten werden in Informationsebenen verwaltet, die als Coverages bezeichnet werden. Ein Coverage repräsentiert die digitale Form einer einzelnen Informationsebene. Beispiele solcher Informationsschichten sind ein Straßen- oder Gewässernetz, eine Bodenkarte oder Verwaltungseinheiten, also jeweils geometrische Objekte mit festen Grenzen 1 Eine Informationsebene enthält sowohl geometrische Lagedaten als auch Attributdaten. Letztere beschreiben die Geoobjekte weitergehend durch Sachinformationen. Die einzelnen Coverage-Features, also z.b. Polygone oder Linien, besitzen zwei Kenn-Nummern. Die eine ist die vom Benutzer vergebene Feature-ID und wird mit coveragename-id gekennzeichnet. Die andere ist eine fortlaufende programminterne Nummer (sequence number), welche an einem Gartenzäunchen -# erkennbar ist. Letztere kann sich nach Editiersitzungen ändern, was vom Benutzer nicht beeinflußbar ist. 2 Dagegen bleibt die Feature-ID voll unter Kontrolle des Benutzers. Beide Kennnummern werden als ganzzahlige numerische Werte (Integer) abgelegt. Die Coverage Feature Classes Da jede Informationsebene (Coverage) in ARC/INFO nicht nur logisch aus den unterschiedlichen Feature Classes besteht, sondern diese auch physikalisch in eigenen Dateien gespeichert werden, sollen deren Charakteristika erläutert werden. Arcs als Liniensegmente Arcs werden definiert als fortlaufende Kette von x/y-koordinatenpaaren, die an einem Ort beginnt (From-Node), an einem zweiten endet (To-Node) und eine Länge, jedoch keine Fläche besitzt (vgl. Abbildung 2-2. Abbildung 2-2. Aufbau eines Arcs 5

56 Kapitel 2. Der Aufbau von ARC/INFO Der Anfangs- und der Endpunkt werden besonders ausgezeichnet und mit Node bezeichnet. Da beide genannten Punkte explizit unterschieden werden, ist ein Arc mehr als eine einfache Linie oder beliebige Kurve, denn er besitzt eine Richtung. Diese kann z.b. in Straßen- oder Flußsnetzen Bedeutung erlangen und ermöglicht erst Pfadanalysen wie Network Tracing oder Routing. Arcs definieren Liniensysteme wie z.b. Flüsse, aber auch die Grenzen von Polygonen. Sie werden in zwei Coverage-Dateien mit den Namen ARC und AAT gespeichert: In der ARC-Datei findet man pro Arc die IDs (jeweils die programminterne und die vom Anwender definierbare) und die Folge von x/y-koordinaten, die Ort und Aussehen des Arcs bestimmen. Die AAT-Datei enthält Zusatzinformationen wie Anfangs- und Endpunkt (From-node und To-node) jedes Arcs. Weiterhin sind die Nummern des links und rechts des Arcs liegenden Polygons gespeichert. Falls dieses nicht existiert, lautet der Eintrag 0. Die explizite Speicherung ist notwendig, um später räumliche Abfragen zu Nachbarschaftsbeziehungen o.ä. realisieren zu können. Dies unterscheidet ein GIS u.a. von Kartographieprogrammen, die folglich keine so komplexe Datenstruktur benötigen. In letzeren reicht eine eindeutige Indizierung der darzustellenden Elemente (Flächen, Linien), um ihnen über diese ID Farbwerte o.ä. zuzuordnen. Mittels der Sequenz-Nummer (-#) werden jedem Arc verschiedene Einträge zugeordnet. Als Minimum findet man folgende Items (Felder): FNODE# TNODE# LPOLY# programminterne Kennung des Anfangspunktes (from-node interne Kennung des Endpunktes (to-node interne Kennung des linken Polygons (0, falls nicht existent) RPOLY# interne Kennung des rechten Polygons ( xxxxx ) Cover# Cover-ID LENGTH interne Kennung des Arcs in der ARC-Datei vom Benutzer vergebene Feature-ID Länge des Arcs in Coverage-Einheiten Danach können sich noch benutzerdefinierte Variablen anschließen. Durch obige Variablen wird die Topologie definiert. Nun kann eine Reihe weiterer vom Benutzer angelegter Variablen folgen (Sie dürfen erst nach der Cover-ID stehen!) Nodes (Knotenpunkte) Die Koordinaten eines Nodes werden als Teil des Arcs in der Datei ARC gespeichert. Außerdem tauchen sie in der AAT-Datei auf (s.o.). Falls nun ein Node ein eigenes Punktfeature darstellt (z.b. einen Kanaldeckel in der Straße), also weitergehende Eigenschaften aufweist als die reine Trennfunktion zweier Arcs, werden diese Eigenschaften in einer NAT-Datei (Node Attribute Table) gespeichert. Diese Datei enthält folgende Einträge: ARC Cover# programminterne Kennung des Arcs mit der niedrigsten Nummer der Arcs, die den Node berühren programminterne Kennung des Nodes 6

57 Kapitel 2. Der Aufbau von ARC/INFO Cover-ID vom Benutzer festgelegte Feature-ID Beim erstmaligen Erstellen einer NAT (Node Atttribute Table) wird letztere automatisch auf den Wert der Sequenznummer gesetzt. Genaugenommen gibt es drei unterschiedliche Node-Typen, die besonders bei der Fehlerkorrektur von Bedeutung sind: Normale Nodes Pseudo Nodes Dangling Nodes Pseudo Nodes werden durch eine Raute dargestellt. Sie repräsentieren Nodes von in sich geschlossenen Arcs (Inseln) oder entstehen, wenn nur zwei Arcs miteinander verbunden werden. Abbildung 2-3. Arcs mit Dangling Nodes Dangling Nodes zeigen mögliche Digitalisierfehler wie zu kurz oder zu lang geratene Abschnitte bei Polygonen an. Sie werden durch Quadrate gekennzeichnet. Natürlich kann solch ein sogenannter undershoot (Arc dessen Endpunkt nicht mit weiterem Arc verbunden ist, sondern kurz davor endet) oder overshoot (Arc, der einen anderen Arc schneidet und darüber hinaus weiter verläuft) auch Absicht sein, z.b. bei der Digitalisierung von Sackgassen. Label Points sind einfache Punkte auf einer Ebene. Sie werden daher nur durch ein einzelnes x/y- Koordinatenpaar bestimmt und besitzen eine Kennummer (ID). 7

58 Kapitel 2. Der Aufbau von ARC/INFO Ihr Nutzen besteht darin, daß sie punktförmige Gegebenheiten wie Laternenpfähle, Grenzsteine oder Gipfelkreuze darstellen können. Außerdem kennzeichnen sie den Ort, an dem die Kennummer (User- ID) eines Polygons auf der Karte aufgetragen werden soll - in diesem Fall ist die genaue räumliche Lage unerheblich. Ohne Label Point ist ein Polygon nicht vollständig. Die zu einem Punkt-Feature gehörenden Daten heißen Point Attributes. Diese werden in einer sogenannten PAT-Datei abgelegt (Point Attribute Table). Dasselbe gilt für Polygon Attributes. Die PAT- Datei enthält also entweder Punkt- oder Polygon-Features. Pro Coverage ist aber nur eine PAT-Datei möglich. Somit kann ein Coverage nicht beide Feature-Typen gleichzeitig beinhalten. % nachpruefen... mehrere Punkte in einem Polygon...?? Polygone Polygone (Polygons) sind geschlossene, durch mehrere Arcs als Umrandung definierte flächige Figuren. Sie besitzen eine User-ID, die an einen Label Point innerhalb des Polygons positioniert wird. Beispiele für Polygone reichen von administrativen Grenzen über die Landnutzungsverteilung bis zur Verteilung von Bodenarten etc. Abbildung 2-4. Polygone mit Pseudo Nodes und Label Points Zu den definierenden Arcs eines Polygons gehören auch die Arcs, die innerhalb eines Polygons liegen und eine Insel (Enklave) aus diesem herausschneiden. Für Polygone werden keine expliziten Koordinaten gespeichert. Stattdessen enthält die PAL (Polygon Arc List) eine Liste aller Arcs und Nodes, welche die Grenze eines Polygons definieren. Für jedes Polygon wird wieder eine Kennung erstellt. Der erste Eintrag dahinter bestimmt das umschließende Hintergrundpolygon. 8

59 Kapitel 2. Der Aufbau von ARC/INFO Polygon Attributes Die die Polygone beschreibenden Daten werden in einer PAT-Datei (Polygon Atribute Table) gespeichert. Wie schon erläutert, sind dort für jedes Polygon wenigstens folgende Variablen notwendig: Area Perimeter Cover# Cover-ID Fläche des Polygons (bzw. 0 bei Punkten) entsprechende Umfang (bzw. 0 bei Punkten) programminterne Kennung des Punkt-Features in der LAB-Datei benutzerspezifizierte Feature-ID des Punktes Nach diesen können sich weitere benutzerdefinierte Variablen (Items) anschließen. Hier ein Beispiel aus einer PAT: 1 AREA = PERIMETER = SIEDL# = 1 5 SIEDL-ID = 0 EIGENTUEMER = heike 2 AREA = PERIMETER = SIEDL# = 2 SIEDL-ID = 500 EIGENTUEMER = tim Tics Die Referenzpunkte eines Kartenauschnitts, die eine Georeferenzierung und damit z.b. das übereinanderprojezieren räumlich zusammengehöriger Informationsebenen ermöglichen, heißen Tics. Oft werden für diese Kontrollpunkte die vier Eckpunkte eines Kartenblattes verwendet. Selbstverständlich müssen bei allen Informationsebenen (also den einzelnen Coverages) jeweils räumlich genau dieselben Punkte als Tics benutzt werden. Um eindeutig zugeordnet werden zu können, müssen diese auch alle dieselbe Tic-ID aufweisen. Tics spielen auch bei der Transformation von Digitalisierkoordinaten in Echte-Welt-Koordinaten eine entscheidende Rolle. Aus den Echte-Welt-Koordinaten der Tics werden die entsprechenden Koordinaten aller übrigen Punkte berechnet. Die Informationen über Tics stehen in der Tic-Datei. Dabei handelt es sich um eine INFO-Datei, die ebenso wie das Coverage benannt wird: COVER.TIC. Die enthaltenen Informationen sind: IDTIC XTIC YTIC User-ID für jedes Tic X-Koordinate des Tics entsprechende Y-Koordinate 9

60 Kapitel 2. Der Aufbau von ARC/INFO Weitere für das Koordinatenmanagement notwendige Informationen finden sich in den Dateien PRJ und TOL. In PRJ stehen Angaben zur benutzten Kartenprojektion und in TOL zu den eingestellten Fehlertoleranzen für die Digitalisierung. Annotation Unter Annotations versteht man Anmerkungen, die benutzt werden, um die bisher beschriebenen Typen von räumlichen Features mit einem Textkommentar zu versehen. Dieser wird aber nicht mit der zu beschreibenden Feature Class topologisch verbunden, sondern bildet eine unabhängige Informationsschicht, welche zu reinen Darstellungszwecken über die übrigen Ebenen gelegt werden kann. Demgemäß besitzen Annotations keine Aussagekraft bei der Analysearbeit, sondern dienen nur der Orientierung oder zusätzlichen Beschreibung der Objekte auf dem Kartenausschnitt. Suchabfragen nach bestimmten Annotations sind beispielsweise nicht möglich. Annotationen werden in den TAT-Dateien eines Coverages gespeichert. Es können verschiedene Unterklassen von Annotationen definiert werden, die dann in eigenen Dateien gespeichert werden. Beispielsweise können Text-Annotationen entlang der Geometrie anderer Feature-Typen (z.b. Linien) ausgerichtet werden. Dies ermöglicht eine Beschriftung, die z.b. dem Verlauf von Straßen oder Flüssen folgt. Jedoch können für Annotationen auch eigene Geometrien definiert werden. Für die nichtgeographischen, dem Layout dienenden Bestandteile einer Karte wie Titel, Legende, Windrosen oder Quellenangaben etc. werden sie jedoch in der Regel nicht verwendet. Dies fällt in den Bereich der Kartenerstellung mit MapTools bzw. dem Modul ARCPLOT Links Links sind durch einen Anfangs- und Endpunkt definierte Verschiebungsvektoren. Sie werden zur Korrektur und Anpassung ganzer Coverages an angrenzende Gebiete oder weitere Informationsebenen gebraucht. Oft passen die Features aneinandergrenzender Kartenausschnitte durch Digitalisierfehler oder andere Ungenauigkeiten nicht zusammen. Durch eine Entzerrung des Coverages werden diese so hingezogen, daß eine Verknüpfung möglich ist. Man kann diese Links auch als Soll-Ist-Vektoren bezeichnen. Sie werden in der LNK-Datei innerhalb einer Coverage-Informationsebene mit den Koordinaten ihrer Anfangs- und Endpunkte gespeichert. Falls bestimmte Punkte unbedingt ihren Platz behalten sollen, können Links mit identischen Anfangs- und Endkoordinaten benutzt werden. Diese wirken während des Anpassungsprozesses wie Nägel. Route-Systems Aus den Coverage-Features Arcs, Routes und Sections sind die sogenannten Routensysteme (Route Systems) aufgebaut. Für jedes Liniencoverage kann es Routensysteme geben. Sie stellen eine logisch zusammengehörende Sammlung linienförmiger Gegebenheiten wie Buslinien, Stromleitungsnetze, Einkaufswege... dar. Da sie bezüglich der Anwendungs- und Analysemethoden einen eigenständigen Komplex darstellen, soll hier nur kurz auf ihre Existenz hingewiesen werden. Ihre Handhabung er- 10

61 Kapitel 2. Der Aufbau von ARC/INFO folgt im ARC/INFO-Modul NETWORK. Einige Funktionalität des NETWORK-Moduls findet sich in ARCTOOLS unter MapTools Productivity Tools Routensysteme sind eine Methode zur Darstellung von Abschnitten auf Linienstrukturen. Diese Abschnitte können dynamisch verändert werden (Dynamic Segmentation). Dabei muß nicht jedesmal die zugrundeliegende Arc-Node-Topologie geändert werden. Auf diese Weise können auf demselben Coverage verschiedene Routen (z.b. von Buslinien) definiert werden oder Verkehrsbelastungsszenarien durchgespielt werden, ohne daß eine änderung der Arc-Definitionen und damit der Grundtopologie notwendig ist. Die Feature Classes im Network-Modul heißen Route und Section. Als Route bezeichnet man dabei eine geordnete Abfolge von Abschnitten (Sections). Jede einzelne Buslinie in einem öpnv-netz ist z.b. eine Route. Die Gesamtheit der Buslinien stellt das Route System dar. Die Daten der Routen finden sich in der RAT-Datei (Route Attribute Table), welche wie üblich mindestens die interne Subclass-# und die benutzerdefinierte Subclass-ID enthält. Abbildung 2-5. Straßencoverage mit drei bemaßten Routen Mit Sektionen/Abschnitten (Sections) werden die Arcs oder Teile derselben bezeichnet, welche das Gerüst für die einzelnen Routen bilden. Für jedes Routensystem eines Coverages finden sich die Daten über die Abschnitte in der SEC-Datei. Mit folgendem Inhalt besitzt es einen ähnlichen Aufbau wie ein Feature Attribute Table: ROUTELINK# ARCLINK# F-POS T-POS F-MEAS T-MEAS Subclass# Subclass-ID interne Sequenznummer der Route, zu der der Abschnitt gehört. Dies bezieht sich auf den Eintrag mit dem Namen SUBCLASS# in der RAT. dasselbe für den betroffenen Arc. Die Bezugsadresse ist COVER# in der AAT. Prozentwert der Länge des Arcs, an dem der Abschnitt beginnt. Prozentwert der Arc-Länge, an dem der Abschnitt endet. Maß des Routensystems, an dem der Abschnitt beginnt, in den realen Einheiten wie Meilen oder km. die entsprechende Angabe für den Endpunkt des Abschnittes. interne Sequenznummer für jeden Abschnitt. benutzerdefinierte Feature-ID jedes Abschnittes. Hieran können sich weitere Variablen anschließen. Falls der Abschnitt eine dem Arc entgegengesetzte 11

62 Kapitel 2. Der Aufbau von ARC/INFO Richtung aufweist, ist der Wert von F-POS größer als der von T-POS. Abbildung 2-6. Ausschnitt eines Liniencoverages mit bemaßten Abschnitten Coverage Begrenzung (Boundary, BND) Die Ausdehnung des Kartenausschnittes wird mit Coverage Extent bezeichnet. Als minimale Abgrenzung definiert es die Werte der extremen Eckkoordinaten der sichtbaren (d.h. dargestellten) Arcs und Label Points des Coverages. Von ARC/INFO wird es als standardmäßige Kartengrenze bei der graphischen Umsetzung eines Coverages benutzt. Folgende Informationen werden in der Datei Covername.BND gespeichert: XMIN YMIN XMAX YMAX X-Koordinate der linken unteren Ecke des Kartenausschnitts Y-Koordinate der linken unteren Ecke des Kartenausschnitts X-Koordinate der rechten oberen Ecke des Kartenausschnitts Y-Koordinate der rechten oberen Ecke des Kartenausschnitts Diese definieren die Ecken (links unten, rechts oben) des Rechtecks, innerhalb dessen alle dargestellten Arcs und Label Points (und mit diesen die Polygone und Routensysteme) liegen. Sie gelten nur für die Visualisierung als Karte. Regions Regions sind aus mehreren Polygonen zusammengesetzte Gebiete. Dies erleichtert die einheitliche Behandlung von logisch zusammengehörenden Gebieten, die aus nicht zusammenhängenden Flächen bestehen. Beispiele dafür sind Inselgruppen oder Gebiete mit Exklaven. Coverage-Verzeichnisstruktur Die in den vorherigen Kapiteln beschriebene Dateienstruktur für ein Coverage sieht für ein Liniencoverage z.b. wie in Abbildung datcov wiedergegeben aus. Dabei ist zu beachten, daß die Namen, unter denen INFO-Dateien wie z.b. Feature-Attributtabellen in INFO und anderen Modulen angesprochen werden, in dieser Form im Dateisystem nicht existieren. Es ist also nicht möglich, eine Datei wie z.b. fluss.aat direkt von der Betriebssystemebene aus zu kopieren. 12

63 Kapitel 2. Der Aufbau von ARC/INFO Abbildung 2-7. Dateien eines Coverages Map-Libraries Bei größeren Projekten ist es sinnvoll, die Information in einzelnen Teilflächen (tiles), die zum Beispiel einzelnen Kartenblättern entsprechen können, zu organisieren und innerhalb dieser Teilflächen wieder einheitliche Informationsebenen (layers zu definieren. Solch eine räumlich und thematisch geordnete Sammlung zusammengehoerender Informationsebenen wird in ARC/INFO als map library bezeichnet. Diese map libraries können ihrerseits mit ARCSTORM verwaltet werden. CAD-Zeichnungen Durch den starken Gebrauch von CAD (Computer-Aided Design) in Planung und Entwicklung existieren eine Fülle interessanter Karten (Katasterpläne...) oder Bilder, die in ein GIS-Projekt miteinbezogen werden können. ARC/INFO besitzt dazu die Voraussetzungen. Ihrer Natur gemäß eignen sich CAD-basierte Pläne jedoch nur bedingt zu Analysezwecken oder zur Modellbildung. CAD- Zeichnungen können als Bereicherung vorhandener geographischer Raumobjekte gespeichert werden. Beispielsweise könnte beim Anklicken eines Hauses in einem Stadtplan der Grundrißplan des gewählten Gebäudes als CAD-Zeichnung erscheinen. Es ist heute für einige CAD-Formate möglich, sie in ARC/INFO-Vector-Coverages umzuwandeln. So gibt es Schnittstellen zu den gängigsten Formaten wie DXF (Binär oder ASCII), Intergraph IGDS und IGES. Shapefiles Shapefiles sind das Datenformat von ArcView. Sie können importiert und umgewandelt werden. In Desktop-ArcInfo können sie auch direkt verwendet werden. Im Gegensatz zu Coverages verfügen sie über keine explizite Topologie. Die Attributdaten von Shapefiles werden in einer separaten DBase-Datei vorgehalten. 13

64 Kapitel 2. Der Aufbau von ARC/INFO Rasterdaten Obwohl Coverages als vektorbasierte Informationsebenen das Herzstück von ARC/INFO bilden, gibt es einige Aufgabenstellungen, für deren Lösung ihre Struktur weniger geeignet ist. Hierzu zählen: Oberflächenmodellierung Darstellung fließender Grenzen und Übergangsbereiche (z.b. Bodengüte, Vegetation, Feuchtgebiete) Schnelle Verschneidung verschiedener Ebenen Das Erzeugen neuer Grenzen durch Verschneidungsoperationen ist auf Vektorbasis sehr rechenintensiv, da jeweils die Topologie neu erstellt werden muß. Für Aufgaben, bei denen der genaue Grenzverlauf weniger kritisch ist, sind Rasterverfahren im Vorteil. Diese werden neben anderen im nächsten Abschnitt vorgestellt. Außer den ausführlich behandelten Coverages gibt es noch eine Reihe anderer Datenmodelle. Der Schwerpunkt im Übungsteil auf der Handhabung von Vektorcoverages. ARC/INFO wurde ursprünglich als vektororientiertes GIS entwickelt. Die im folgenden vorgestellten ebenfalls unterstützten Datenmodelle sollen nur kurz erläutert werden. Grids Dem Coverage im Vektorformat entspricht das Grid im Rasterformat. Grid steht im Englischen für Raster und das entsprechende Softwaremodul von ARC/INFO trägt denselben Namen. Rasterkarten (Grids) wie in Abb. raster sind aus gleich großen quadratischen Zellen als kleinsten Einheiten aufgebaut. Jeder dieser Zellen ist ein ganzzahliger oder reeller 32 Bit-Wert zugeordnet, welcher z.b. in einen Grauton oder Farbwert umgesetzt werden kann. Dieser steht wiederum für eine beliebige Variablenausprägung. Diese Informationen werden in Value Attribute Tables (VAT) gespeichert und können bei Integer-Grids (also Grids mit ganzzahligen Werten) mit Zusatzinformationen in einer Attributtabelle versehen werden. Die Verortung erfolgt über die X- und Y-Werte der Spalten- und Zeilennummern. Jedes Grid entspricht dabei einer Informationsschicht. Im Gegensatz zu den Objekten eines Coverages, die durch eine Folge von X- und Y-Koordinaten definiert werden (Nullpunkt links unten), werden Grids als Spalten- und Zeilennummer gespeichert (Nullpunkt links oben). 14

65 Kapitel 2. Der Aufbau von ARC/INFO Abbildung 2-8. Rasterdaten: ein Grid In den Grid-Attributtabellen (VAT) stehen immer wenigstens die beiden Variablen VALUE und COUNT. VAT stehen dieselben Möglichkeiten der Datenbank-Anbindung offen wie den entsprechenden Attributtabellen eines Coverages. Besonders geeignet sind Grids zur Darstellung kontinuierlich fließender übergänge oder von Oberflächen. Weitere Einsatzbereiche sind Fließ- bzw. Diffusionssimulationen. Ein anderer Vorteil liegt in der hohen Geschwindigkeit, die im vergleichsweise simplen Aufbau solch eines Rasters begründet liegt. Das Softwaremodul GRID verfügt über mehrere räumliche Analysemöglichkeiten. Durch die Festlegung auf ein bestimmtes Rasterformat werden Objekte mit einer Ausdehnung unterhalb dieser Auflösung nicht mehr dargestellt. Analyseoperationen, die sich auf linien- oder punktförmige geographische Objekte oder Polygone beziehen, (wie z.b. Netzwerkanalysen oder Grundstücksmanagement) sind mit Grids nicht zufriedenstellend zu lösen. Will man die Auflösung eines bestehenden Grids verfeinern, muß daher eine völlige Neuaufnahme der Orginaldaten erfolgen. Jedoch sind auf der anderen Seite Generalisierungen relativ einfach durchzuführen. GRID verfügt über die Möglichkeit, Raster mit unterschiedlicher Auflösung zu überlagern. Keine der beiden Datenstrukturen Raster und Vektor ist grundsätzlich besser, vielmehr hängt es von der jeweiligen Fragestellung und der vorhandenen Datengrundlage ab, mit welchen Datenstrukturen eine Aufgabe optimal gelöst werden kann. Dabei können beide Modelle nebeneinander existieren und es wird in ARC/INFO eine gewisse Integration beider Modelle erreicht, da zudem Konvertierungsmöglichkeiten zwischen den unterschiedlichen Datenstrukturen bestehen. Images Bilder können die Aussagekraft der Darstellung vieler Sachverhalte erhöhen. Mit der Tool-Sammlung IMAGE INTEGRATOR verfügt ARC/INFO über die Möglichkeit, u.a. Bilder folgender Formate dar- 15

66 Kapitel 2. Der Aufbau von ARC/INFO zustellen und einzubinden. ERDAS.GIS und.lan -Formate GRASS RLC Grids BIL (Band-interleaved-by-Line) BIP (Band-interleaved-by-Pixel) TIFF Sun-Raster Bilder bestehen aus Bildpunkten (Pixeln), die je einem bestimmten Zahlenwert (z.~b.: zwischen für 8-Bit Rastergrafiken (Bitmaps)) entsprechen, der in Graustufen oder Farben umgesetzt wird. Reine Schwarz-Weiß-Bilder ohne Graustufen bestehen nur aus Nullen und Einsen. Farben werden durch verschiedene Intensitäten der Farben Rot, Gelb und Blau gemischt. Es werden aber auch andere Farbmodelle wie die Prozessfarben CYMK oder HSV-Werte (Hue, Saturation, Value) unterstützt. Ein Beispiel ist die Zuordnung der verschiedenen Bänder (jeweils Graustufen) von Satellitenbildern zu jeweils einer Farbe, um zu einem farbigen Ergebnis zu kommen, d.h. die Zuweisung dreier Werte pro Pixel, z.b. für die drei Kanäle Rot, Gelb, Blau. Die entstehenden Monochrombilder werden dann übereinandergelagert. Das Resultat ist ein multispektrales Bild. Typische Beispiele sind Landsat TM oder SPOT-Satellitenaufnahmen. Diese oder anderweitig gescannte Bilder (z.b. Landkarten) können als Hintergrund zu anderen in ARC/INFO erstellten Informationsebenen unterlegt werden oder als Attributdaten gespeichert werden. Im zweiten Fall können sie bei Mausklick auf das zugehörige Objekt angezeigt werden. Anwendungsbeispiele dafür sind in einem Informationssystem gescannte Photos von Gebäuden, Sehenswürdigkeiten oder Straßenabschnitten mit erhöhter Unfallgefahr etc. Images lassen sich auch in Grids umwandeln und können dann bei entsprechender Georeferenzierung für die Analyse mit herangezogen werden. Dabei sind natürlich wie bei der Einbindung anderer Daten mögliche Fehler- bzw. Maßstabsprobleme zu beachten (vgl. Kapitel Kapitel 1). In Kapitel Kapitel 3 wird die Georeferenzierung von Bildinformationen auf ein Coverage, sowie die On-Screen-Digitalisierung von solchen hinterlegten Rasterkarten erläutert. Dreidimensionale Daten Lattice Ein Lattice bezeichnet in ARC/INFO eine regelmäßig angeordnete Menge von Punkten auf einer Fläche (X,Y-Kordinaten), die durch eine Z-Koordinate eine Oberfläche definieren. Im Prinzip ist ein 16

67 Kapitel 2. Der Aufbau von ARC/INFO Lattice also ähnlich aufgebaut wie ein Grid und besitzt in ARC/INFO eine entsprechende Datenstruktur 3. Der Unterschied liegt in der Interpretation der X,Y,Z -Werte. Es handelt sich hier um echte Punktinformationen, während eine Gridzelle eine Fläche darstellt. Abbildung 2-9. TINs und Lattices im Vergleich - Ausgangsdaten und Resultate (aus ARCDOC) In einem Grid erhält die gesamte Zelle (X,Y) einen Wert (Z). In einem Lattice wird der Z-Wert als Höhenangabe eines einzelnen Punktes, dessen Basis den Mittelpunkt der entsprechenden Grid- Zelle darstellt, interpretiert. Die Werte zwischen den bekannten Oberflächenpunkten werden über die übrigen Lattice-Punkte interpoliert. Für diese Aufgabe stehen in dem TIN-Modul verschiedene Algorithmen zur Verfügung. Sie sind in der Online-Hilfe ARCDOC dargestellt. Die Auflösung muß insgesamt an die feinste benötigte Geländedarstellung angepaßt werden. Dreiecksvermaschung (TIN) TIN ist die Abkürzung für Triangulated Irregular Network (trianguliertes irreguläres Netzwerk oder unregelmäßige Dreiecksvermaschung) und wird zur Darstellung kontinuierlicher Oberflächen -- z.b. Gelände -- benutzt. Geländeoberflächen o.ä. bestehen in der Realität aus unendlich vielen Punkten. Nun ergibt sich das Problem, eine geeignete, noch handhabbare Auswahl aus diesen zu treffen, um die Oberfläche möglichst exakt abzubilden. Die nicht explizit gespeicherten Punkte sollen möglichst genau aus den gegebenen interpoliert werden. xti; versucht dies mittels der Grundelemente Dreieck (Triangle), Knoten (Node) und Kante (Edge) zu erreichen, während einfache rasterbasierte Geländemodelle aus einer regelmäßigen Matrix bestehen, die damit keine Rücksicht darauf nehmen kann, ob die Stützpunkte signifikant für die abzubildende Oberfläche sind. 17

68 Kapitel 2. Der Aufbau von ARC/INFO Abbildung Datenquelle (Punkte) für ein TIN Abbildung Resultierendes TIN Viele einfache digitale Geländemodelle (Digital Elevation Model, DEM) besitzen ein regelmäßiges Netz von Stützpunkten, ohne Unterscheidung, ob die gewählten Punkte signifikante änderungen im Gelände darstellen oder ob mehrere Punkte für die Darstellung einer homogenen Fläche verschwendet werden. In einem TIN können dagegen charakteristische Gegebenheiten (Küstenlinien, Talboden, Gipfelpunkte, Höhenzüge...) herangezogen werden, um die Geländeform zu modellieren. Diese charakteristischen Linien (Breaklines), mit bekannten Koordinaten stellen im TIN die Kanten (bzw. Eckpunkte) von Dreiecken dar. TINs haben gegenüber Grids den Vorteil, daß Daten aus unterschiedlichen Quellen (Punkt-, Linienund Flächencoverages, ASCII-Dateien...) verarbeitet werden können, die Darstellungsgenauigkeit ist adaptiv, das heißt es werden nur jeweils so viele Dreiecke verwendet, wie es für das jeweilige Relief erforderlich ist -- wenige bei Ebenen und viele bei großer Variabilität. Außerdem können Breaklines definiert werden, d.h. Linien, deren Höhenwert nicht durch Interpolation verändert werden darf, so z.b. Küstenlinien. Sind Tins also für die Modellierung realer Oberflächen prädestiniert, besitzen Grids Vorteile bei der Darstellung theoretischer Gebilde wie Kostenoberflächen, Wasserleitfähigkeit etc. sowie der mit solchen Anwendungen verbundenen Modellierung wie der Simulation eines Waldbrandes oder der Planung kostenminimaler Trassen. 18

69 Kapitel 2. Der Aufbau von ARC/INFO Workspaces Die Coverages in ARC/INFO sind in sogenannten Workspaces organisiert. Das sind Unterverzeichnisse, die ein oder mehrere Coverages enthalten und in denen ein Unterverzeichnis namens info angelegt wird, in welchem die internen Verknüpfungen zwischen den Coverages und den INFO-Tabellen für die Sachattribute durch ARC/INFO verwaltet werden. Neu erstellte Coverages oder ähnliches werden standardmäßig in das gerade aktive Workspace gespeichert. Die Erzeugung von Workspaces und das Wechseln zwischen den Workspaces kann auf der Kommandozeile über die Befehle createworkspace workspace (kurz: cw) bzw. workspace workspace (kurz: w geschehen. ARCTOOLS erstellt jedoch bei jedem Speichern eines Coverages über ARCTOOLS bei Bedarf in dem angegebenen Verzeichnis ein eigenes neues Workspace. Dies führt bei fehlender Umsicht oder Kontrolle unter Umständen zu einem Wildwuchs an Verzeichnissen und Workspaces, so daß es besser ist, bei Projektbeginn eine entsprechende Verzeichnisstruktur zu planen, diese mit createworkspace einzurichten und dann auch darauf zu achten, daß die entsprechenden Coverages hier gespeichert werden. Dies ist besonders dann sinnvoll, wenn mehrere Personen in einem Projekt mitarbeiten, da dann nur einmal die entsprechenden Zugriffsrechte vergeben werden müssen. Bei der Vergabe der Zugriffsrechte auf Betriebssystem- bzw. Netzwerkdateisystemebene ist darauf zu achten, daß insbesondere auch Zugriffsrechte (lesend und schreibend) auf das in jedem Workspace enthaltene Info- Unterverzeichnis gewährt werden müssen, damit das Arbeiten darin möglich ist. Bei Netzwerkverbindungen müssen gegebenenfalls noch Locking-Mechanismen berücksichtigt werden, aber dies ist dann Sache Ihres Netzwerkadministrators. Erste Schritte in ARC/INFO Grundsätzliche Bedienung Um ARCTOOLS zu starten, muß zunächst ARCauf der Kommandozeile gestartet werden. ARC- TOOLS wird dann durch Eingabe von arctools aufgerufen: algonquin: arc... einige Startup-Meldungen ARC/INFO meldet sich mit seinem eigenen Prompt und damit steht nun das gesamte Programmpaket von ARC/INFO zur Verfügung (bzw. die für die lokale Installation lizensierten Module). Um sich einen ersten Eindruck zu verschaffen, kann man zunächst die grafische Bedienoberfläche ARC- TOOLS von ARC/INFO starten: Arc: arctools Das Hauptmenü erscheint (vgl. Abb. atmenu). Aus der Liste kann der gewünschte Unterpunkt durch Mausklick ausgewählt und dann durch Anklicken des OK-Knopfes bestätigt werden. 19

70 Kapitel 2. Der Aufbau von ARC/INFO Abbildung Das ARCTOOLS Hauptmenü Bei Auswahlvorgängen wird der rechte Mausbutton benutzt. Soll eine gewählte Aktion schließlich ausgeführt werden, wird der linke Mausbutton eingesetzt. Bei Eingabe eines expliziten Wertes oder Textstrings in die dafür vorgesehenen Eingabefelder muß diese durch Drücken der return-taste bestätigt werden. Um die gewählten Menüeinstellungen auszuführen, drückt man den OK oder den Apply-Button (Einstellungen anwenden). Im Unterschied zu OK verschwindet das Menü bei Apply nicht. Sämtliche Funktionen in ARCTOOLS können auch durch Aufruf der entsprechenden Befehle von der Kommandozeile erreicht werden. ARCTOOLS wurde hauptsächlich entwickelt, um Einsteiger nicht mit der unübersichtlichen Befehlsfülle zu überfordern und ihnen das Erlernen der jeweils erforderlichen genauen Syntax zu ersparen. Jedoch wurde nicht die volle Funktionalität von ARC/INFO in ARCTOOLS eingegeben. Das bedeutet, daß manche Funktionen nur über die Kommandozeile erreicht werden können. ARCTOOLS erspart neuen Benutzern zwar das Erlernen und Tippen der konkreten Befehlssyntax, jedoch wurde ARCTOOLS durch die gewachsene Funktionsfülle mittlerweile für Einsteiger relativ unübersichtlich. Der Benutzer muß sich durch zahlreiche Menüs hangeln und deren Struktur erlernen. Unter Umständen kann man daher nach einiger übung mit der Kommandozeile wesentlich schneller arbeiten. Durch die steigende Verbreitung und Akzeptanz von Windows- Systemen geht die Bedeutung letzterer für den einfachen Anwender zunehmend zurück. Geht es jedoch darum, eigene Anpassungen vorzunehmen oder das Programm um weitere Funktionen zu erweitern, wird man ohne Kenntnis der Kommandozeilensyntax nicht arbeiten können. Welche Lernkurve nun für welche Anwender die steilere darstellt, hängt sicher von persönlichen Vorkenntnissen und Präferenzen ab. Für die wichtigsten Befehle werden wir in dieser Einführung beide Varianten vorstellen. Für die neue Windows-Version von ARC/INFO stellt sich diese Frage nicht mehr -- sie ist von Beginn an für eine grafische Oberfläche programmiert worden. Die grundsätzliche Befehlssyntax wird im Folgenden angegeben. Da ARCTOOLS in der eigenen Makrosprache AML entwickelt wurde, können zusätzlich erwünschte Befehle durch Neu- oder Umprogrammierung der zugrundeliegenden AMLs in ARCTOOLS eingebunden werden. Zunächst wollen wir unseren Lesern aber nicht vorenthalten, wie man ARC/INFO wieder beenden kann: Arc: q 20

71 Kapitel 2. Der Aufbau von ARC/INFO Initialisierung der Graphikfenster ARC/INFO benötigt nicht zwangsläufig eine Fensteroberfläche. So ist es möglich, das Programm über eine einfache Terminalverbindung zu steuern, solange keine Graphikausgabe auf dem Bildschirm erforderlich ist. Verschiedene Module von ARC/INFO öffnen unter einer graphischen Benutzeroberfläche wie Windows, OpenWindows, KDE oder X-Window Fenster, um Geometriedaten anzuzeigen, z.b., um sie mit der Maus zu editieren. Unter ARCTOOLS wird dem Benutzer die Initialisierung einiger Umgebungsvariablen abgenommen. So sind auch Größe und Position der Anzeigefenster voreingestellt. Auf der Kommandozeile können diese Einstellungen wie folgt festgelegt werden: 4 display display klein, aber gut für übersicht, identisch zu DISPLAY 9999 schmales hochkantiges Fenster display display größtes Fenster, bei dem noch eine sichtbare Eingabe von Befehlen möglich ist. Das entsprechende Befehlsfenster muß vor der Initialisierung an den unteren Bildschirmrand verschoben werden Full-Screen-Anzeige des ARC/INFO Draw Fensters. Blinde Eingabe ist erforderlich, v.a. geeignet für Demonstrationszwecke Voreinstellungen beim Programmstart Der Start von ARC/INFO kann vereinfacht werden, wenn Voreinstellungen wie Arbeitsverzeichnis, Initialisierung des Grafikfensters etc. gespeichert werden. Dazu dient eine Datei namens arc.aml. Dies ist eine Makro-Datei, die im Homeverzeichnis des Anwenders abgelegt ist und ausgeführt wird, wenn ARC/INFO im entsprechenden Verzeichnis gestartet wird. Sie könnte z.b. wie folgt aussehen: 21

72 Kapitel 2. Der Aufbau von ARC/INFO /* arc.aml /* &station 9999 /* graphisches Display initialisieren workspace digi /* in aktuelles Arbeitsverzeichnis wechseln Erhalten von Hilfe Hilfe auf der Kommandozeile usage Befehl gibt eine kurze Syntax-Beschreibung des Befehls mit seinen Optionen aus. Diese Hilfsfunktion können wir bei uns schon bekannten Befehlen anwenden, um die genaue Syntax, die vom Programm erwartet wird, in Erfahrung zu bringen. Für neue Befehle, deren Wirkung und Arbeitsweise uns noch nicht bekannt sind, reicht dies natürlich nicht aus. Falls wir einen Befehl mit falschen Optionen eingeben (z.b. mit Tippfehler oder ausgelassener zwingender Eingabe), wird dies vom Programm in der Regel ebenfalls mit der Ausgabe von usage quittiert. asciihelpbefehl gibt eine genauere textbasierte Erläuterung zur Funktionsweise des Befehls. commands gibt eine Liste der verfügbaren Befehle im jeweiligen Modul aus. help startet die im Folgenden beschriebene Online-Hilfe. 22

73 Kapitel 2. Der Aufbau von ARC/INFO Die Online-Hilfe ARCDOC Abbildung Die Online-Hilfe ARCDOC ARCDOC (vgl. Abbildung Abbildung 2-13") ist ein Hypertext-Hilfesystem für alle Befehle, Begriffe und Konzepte in ARCDOC. Es ähnelt in der Erscheinung den neueren Windows-Hilfesystemen, sodaß man sich als Benutzer recht schnell darin zurechtfinden kann. Trotzdem sollen kurz die wichtigsten Merkmale dargestellt werden: ARCDOC kann von der ARC-Kommandozeile (oder der Kommandozeile anderer Module) aufgerufen werden: Arc: help Starting ArcDoc Version Copyright (C) Environmental Systems Research Institute, Inc. All Rights Reserved Worldwide. 5 [1] 4838 Es ist auch möglich, die Hilfe unabhängig von ARC/INFO zu starten: > arcdoc& Starting ArcDoc Version Copyright (C) Environmental Systems Research Institute, Inc. All Rights Reserved Worldwide. 5 [1]

74 Kapitel 2. Der Aufbau von ARC/INFO Die Hilfe wird unter UNIX als eigener Prozess gestartet, sodaß die Kommandozeile wieder für die weitere Arbeit zur Verfügung steht. In ARCDOC kann nach Themen bzw. Modulen sortiert nach Befehlsbeschreibungen gesucht werden. Es handelt sich hier um sämtliche in ARC/INFO zur Verfügung stehenden Befehle, wie sie im Zeilenmodus in das Terminalfenster eingegeben werden können. Zu allen Modulen von ARC/INFO lassen sich unter Command References sowohl alphabetische als auch funktionelle Auflistungen der verfügbaren Kommandos anzeigen. Zudem enthält die Hilfe einige grundlegende Artikel zu verschiedenen Programmschwerpunkten und ihrer Handhabung. Die folgenden Abbildungen zeigen die Auswahlmöglichkeiten unter Command References und die jeweiligen weiterführenden Menüs, wenn man auf einen der kleinen Doppelpfeile rechts neben der Modulbezeichnung drückt. Abbildung Abbildung 2-14 und Abbildung Abbildung 2-15 ist jeweils ein Beispiel für eine funktionale (für das TIN-Modul) und eine alphabetische (für das ARC-Modul) Aufstellung angegeben. Abbildung Funktionale Kommandolisten in ARCDOC 24

75 Kapitel 2. Der Aufbau von ARC/INFO Abbildung Alphabetische Kommandolisten in ARCDOC Eine Suchfunktion (Abb. Abbildung 2-16) hilft bei der Suche nach Einträgen in der Online-Hilfe. Zusätzlich listet ein Glossar (Abb. Abbildung 2-17) viele der relevanten Begriffe auf und gibt kurze Erläuterungen zu denselben. Abbildung Suchfunktion in ARCDOC 25

76 Kapitel 2. Der Aufbau von ARC/INFO Abbildung Glossar in ARCDOC Der Tool Browser Zusätzlich zu ARCDOC verfügen die ArcTools über eine eigene Dokumentation, in der sowohl Hilfetexte als auch die Quelltexte der AML-Programme selbst zu betrachten sind. Um Hilfe-Dateien oder den AML-Quellltext für die Funktionsweise der ARCTOOLS-Menüs zu finden, gibt es den ToolBrowser. Dieser zeigt entweder Hilfe-Dateien oder die zugehörigen AML-Makros oder Menü- Definitions-Dateien an. Die Hilfedateien beziehen sich nur auf die Funktionsweise der AML-Makros von ARCTOOLS, nicht auf die Befehlssyntax im Zeilenmodus. Diese findet man in der Online-Hilfe ARCDOC. Geordnet sind die einzelnen Menüs in sogenannte Tool Libraries. Diese spiegeln vor allem die verschiedenen Module von ARC/INFO wieder. Abbildung Tool Browser Menü 26

77 Kapitel 2. Der Aufbau von ARC/INFO Weitere nützliche Tools Der Datenbetrachter Der Data Viewer ist ein nützliches Werkzeug, um schnell einen überblick über die verfügbaren Daten zu erhalten und ihre wesentlichen Eigenschaften abzufragen. Er ist in den ARCTOOLS-Modulen (EditTools, MapTools...) jeweils im ARCTOOLS-Pulldownmenü zu finden. EditTools ArcTools Data Viewer Mit diesem Menü können schnell übersichtsgrafiken der Geometriedaten angezeigt werden und die Charakteristika der Datensätze mittels Properties, Describe sowie List abgefragt werden. Außerdem liefert Items eine Beschreibung der zu den Geometrien gehörigen Attributdaten. Umrechung von Maßeinheiten Ein kleines, aber hilfreiches Werkzeug ist das Unit Conversion Tool, mit welchem die Umrechnung verschiedener Maßeinheiten (v.a. Längen, Grad und Flächenmaße) in andere Einheiten möglich ist. Es kann mit diesem Menü jedoch immer nur ein einzelner Wert auf einmal umgerechnet werden. Abbildung Data Viewer Menü Abbildung Programm zur Konvertierung von Einheiten 27

78 Kapitel 2. Der Aufbau von ARC/INFO Weiterführende Literatur: ESRI, 1995, Understanding GIS. The ARC/INFO Method., Cambridge: GeoInformation International.. Heather Campbell und Ian Masser, 1995, GIS and Organizations: How effective are GIS in practice?, London: Taylor and Francis.. Stanley Aronoff, 1989, Geographic information systems: a management perspective., Ottawa: WDL Publications.. Booth Bob, 1999, Getting Started with ArcInfo., Redlands: ESRI.. Fußnoten 1. Diese festen Grenzen existieren in der Realität (außerhalb von Verwaltungseinheiten) natürlich in den seltensten Fällen, vielmehr treffen wir auf unscharfe Grenzsäume und übergangsgebiete, für aus Gründen der Vereinfachung und Modellbildung die Grenzen festgelegt werden. 2. Es sei denn er/sie ändert sie selbst in INFO. Dies ist ein relativ sicherer Weg, seine Daten für eine weitere Verwendung unbrauchbar zu machen Interessante Anwendungsmöglichkeiten ergeben sich dadurch, daß so auch vorhandene statistische Attributdaten, die keine topographischen Höhenwerte darstellen, sich als Höhenmodell interpretieren lassen. 4. Die Größe der Fenster kann auch nachträglich mit der Maus verändert werden, aber in Einzelfällen (z.b. wenn in ARCPLOT kein map-befehl abgesetzt wurde) geht der bisherige Bildschirminhalt dabei verloren. 28

79 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Das Erzeugen der digitalen Kartengrundlage ist einer der wichtigsten und oft auch aufwändigsten Schritte eines GIS-Projektes. Zunächst geben wir grundsätzliche Hinweise zur Planung und beschreiben dann das Digitalisieren einer Kartenvorlage am Digitalisierbrett und am Monitor. Außerdem geben wir Hinweise zum Import existierender Daten aus anderen Systemen. Die Kopplung der räumlichen Geometrien mit Attributdaten unterschiedlichster Art ist eines der Hauptcharakteristika von Geoinformationssystemen. Fragestellung und Arbeitsablauf Abbildung 3-1. Arbeitsablauf Problem Zu Beginn müssen die Problemstellungen untersucht und grundsätzliche Organisationsfragen geklärt werden: Wie wird das Problem momentan gelöst und welche Alternativen gibt es dazu (auch zur Benutzung eines GIS)? Wie soll das Resultat präsentiert werden? Für welche Zielgruppe(n) ist es bestimmt? Nutzen andere gleichzeitig oder künftig dieselben Ausgangsdaten? Wie oft werden die selben Routinen durchgeführt werden? Welche Genauigkeit wird benötigt? Welche Daten sind vorhanden, welche müssten beschafft werden? Daten Die Datengrundlage muß beschafft werden. Falls eine Digitalisierung notwendig wird, kann dieser Schritt viel Zeit und Geld kosten. Das Untersuchungsgebiet, die Kartenprojektion und die notwendigen Datenschichten müssen bestimmt werden. Die Erstellung letzterer beinhaltet zunächst Import/Digitalisierung/Konvertierung, Fehlererkennung und -verbesserung sowie das Erzeugen der Topologie. Dann müssen die Zusatzinformationen (Sach- oder Attributdaten) eingelesen und mit den 29

80 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Raumelementen verbunden werden. Schließlich erfolgen gegebenenfalls die Umwandlung von Digitalisierkoordinaten in geographische Koordinaten sowie Projektionskonvertierungen, um Daten aus unterschiedlichen Quellen in ein einheitliches Format zu bringen und damit untereinander in Beziehung setzen zu können. Analyse Die eigentliche Analysearbeit beginnt. Durch Flächenverschneidungen, logisches oder räumliches Selektieren, Bufferbildung, statistische Analysen und Verknüpfung mit den übrigen graphischen Datenmodellen werden neue Erkenntnisse gewonnen und in Text oder Bild umgesetzt. Dies geschieht in der Regel in mehreren Schritten. Präsentation Diese Umsetzung mit anschließender Präsentation der Ergebnisse stellt den letzten Schritt eines GIS- Projektes dar. Es wird deutlich, daß GIS nicht mit Computerkartographie gleichzusetzen ist, die nur einen kleinen Teil des Gesamtprojektes darstellt. Prinzipiell ist die Kartographie durch Export der Ergebnisdaten bzw. -geometrien auch in anderen spezialisierten Kartographieprogrammen oder Desktop-Graphikprogrammen möglich. Selbstverständlich weisen die meisten GIS-Programme wenigstens eingeschränkte kartographische Gestaltungsmöglichkeiten auf. In der Praxis sind es sogar oft die interaktiven Visualisierungsmöglichkeiten und die Einbindung von Sachdaten aus Datenbanken, die einen Großteil der Anwendungen in Verwaltung und Wirtschaft darstellen. Namenskonventionen Um die im Laufe eines Projekts anfallenden Daten übersichtlicher und konsistent zu organisieren, werden beispielsweise die in Tabelle Tabelle 3-1 aufgeführten Namenskonventionen vorgeschlagen. Tabelle 3-1. Namenskonventionen für Coverages ABB Abbaugebiete GRW Grundwasse ALP Agrarleitplan HOE Höhenlinien ALT Altlasten IMI Immission BIO Biotope KLM Klima BOD Boden LKG Landkreisgre EMI Emission LSG Landschaftss ERO Erosion LEG Legende ERZ Erzeugungsgebiete NTR Naturräumli EXP Exposition NSG Naturschutzg FNP Flächennutzungsplan NEI Neigung FGW Fließgewässer REL Realnutzung FLR Flurkarte SGW Stillgewässe 30

81 Kapitel 3. Erstellen der raumbezogenen Datengrundlage FRE Funkt. Raumeinheiten STR Straßen GEM Gemeindegrenzen TIF Technische I GEO Geologie VEG Vegetat. Einh GEW Gewässer WEG Wassereinzu Während der Digitalisierung könnte ein Coverage dann z.b. STR_A1_DIG heißen, nach der Fehlerbereinigung STR-A1_CLE und das fertige und kontrollierte Resultat STR_A1. Weitere Bearbeitungsschritte könnten sich dann in den in Tabelle Tabelle 3-2 vorgeschlagenen Namen wiederspiegeln. Tabelle 3-2. Namenskonventionen für Bearbeitungsschritte BUF Bufferung UNG Ungenerate TRA Transformation GEN Generate Namensbeschränkungen Namen von Coverages können bis zu 13 Buchstaben Länge besitzen. Da Variablennamen bis zu 16 Buchstaben lang sein dürfen, ist dadurch gewährleistet, daß der Zusatz -ID an den Cover Namen angehängt werden kann. Ein ähnlicher Grund begrenzt den Namen von Annotations und Route-Systems auf elf Stellen. Die Namen der Coverages müssen mit einem Buchstaben beginnen, dürfen jedoch auch Ziffern enthalten (A - Z, 0-9), ebenso Binde- und Unterstriche. Eine weitere Beschränkung existiert beim Export in Shapefiles, da die Feldnamen in den zugehörigen DBase-Datenbankdateien ebenfalls einer Größenbeschränkung unterliegen 1. Einsatzbereiche von Arcedit ARCEDIT und die EditTools aus ARCTOOLS dienen dazu, die Geometrie- und Attributdaten von Coverages zu bearbeiten. Kartengrundlage Auch das Erstellen der Kartengrundlage will sorgfältig geplant sein. Der erste Schritt ist die Vorbereitung auf das Projekt: Welche Daten sind vorhanden, in welcher Form, was muß noch digitalisiert oder aus anderen Systemen importiert werden? 31

82 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Reihenfolge der Arbeitsschritte festlegen Um einen reibungslosen Ablauf zu erreichen, sind zunächst die einzelnen Schritte zu planen. Sobald die notwendige Reihenfolge feststeht und die einzelnen Arbeitsschritte dokumentiert wurden, sollte man einen Zeitplan erstellen, in dem die einzelnen Arbeitsschritte Personen zugeordnet und von diesen bei Vollendung abgehakt werden können. Namenskonventionen, Verzeichnisstruktur festlegen Fur das Projekt sollten im Vorfeld schon Namenskonventionen und eine Verzeichnisstruktur für verschiedene Arbeitsbereiche und Arbeitsschritte festgelegt werden, um spätere Missverständnisse zu vermeiden. Karten vorbereiten Im nachsten Schritt sollte man das Kartenmaterial auf die Digitalisierung vorbereiten. Dafür ist es hilfreich, den voraussichtlichen Umfang des Projektes zu kennen. TICs Fuer sämtliche Karten werden markante Punkte (meist in den Ecken der Kartenblätter) gesucht, fuer die die exakten Koordinaten feststehen (meist Schnittpunkte des Gradnetzes). Für diese werden nun eindeutige Nummern vergeben, wobei es sinnvoll ist, ein solches Raster für eine Reihe von Kartenblättern zu planen (siehe Abb. Abbildung 3-2 ). Abbildung 3-2. Kartenübersicht mit TICs Bei genauerer Betrachtung der Abbildung fällt vielleicht auf, das die Nummern im unteren Teil nicht fortlaufend sind. Falls das Untersuchungsgebiet noch in die angrenzenden Kartenblätter ausgedehnt werden soll, kann man so noch weitere Karten in das Schema einbinden. Grundsätzlich ist aber die einzige Bedingung, dass die TIC-IDs eindeutig sein müssen, also jeweils nur einmal vergeben werden dürfen. 32

83 Kapitel 3. Erstellen der raumbezogenen Datengrundlage nicht eindeutige Elemente markieren Bei der Digitalisierung können verschiedene Fälle auftreten, in denen Startpunkte oder Schnittpunkte nicht eindeutig sind. In solchen Fällen (vgl. Abb. digimark) ist es sinnvoll, diese Punkte vor dem Digitalisieren festzulegen und auf der Karte zu markieren, z.b. Schnittpunkte von zwei Linien, die sich im spitzen Winkel schneiden oder den Startpunkt bei Inselpolygonen ohne markante Kanten. Abbildung 3-3. Vorbereitung des Kartenmaterials: unklare Start- und Schnittpunkte festlegen Schnittpunkte von Linien in spitzem Winkel (Node festlegen) Start-Nodes bei Inselpolygonen bei Bildschirmdigitalisierung analoges Vorgehen Richtung der Linien festlegen In manchen Fällen spielt die Richtung einer Linie eine Rolle, so z.b. wenn ein Flußnetz modelliert werden soll. Eine falsche Fließrichtung eines Flußabschnittes müßte erst aufwändig in den Ausgangsdaten korrigiert werden. Wenn gar das gesamte Flußnetz ohne Rücksicht auf die Fließrichtung digitalisiert wurde, ist der Aufwand enorm hoch, dies wieder zu korrigieren. Es lohnt sich also, bereits vor der Digitalisierung solche überlegungen in die Planung mit einzubeziehen, auch wenn zu diesem Zeitpunkt z.b. noch keine Netzwerkanalyse geplant ist. Digitalisierung Verzeichnisstruktur einrichten Master-TIC-Coverage erstellen 33

84 Kapitel 3. Erstellen der raumbezogenen Datengrundlage ae starten, Digibrett initialisieren Toleranzen festlegen tolerances (?) grain weedtolerance nodesnap arcsnap snapenvironment duplicatearcs Digitalisieren und Editieren mit ARCEDIT Daten, die noch nicht in elektronischer Form vorliegen (z.b. weil sie noch von Hand aufgenommen wurden oder aus anderen Gründen nur auf Papier verfügbar sind) müssen für das GIS verwendbar gemacht werden. Sie werden in der Regel mit einem Digitalisiertablett erfaßt. Je nachdem, aus welchem Material die Vorlage besteht, kann sich diese durch äußere Einflüsse (Luftfeuchtigkeit etc.) bis zu mehreren Millimetern zusammenziehen oder ausdehnen und dadurch den RMS-Fehler vergrößern, daher sollten die Karten vor Beginn der Arbeit ggfs. auf ein stabiles Material kopiert werden. Es ist auch möglich, die Kartengrundlage in ARCEDIT am Bildschirm zu hinterlegen, damit dann mit der Maus digitalisiert werden kann. Die Vorlagen können sich dann nicht mehr durch Umwelteinflüsse ändern. Durch eine stärkere Vergrößerung der Vorlage ist genaueres Digitalisieren möglich. Der vergleichsweise kleine Ausschnitt, der auf dem Bildschirm dargestellt werden kann, macht das Digitalisieren größerer Vorlagen jedoch wieder aufwendiger. Zudem ist nicht immer ein Scanner in der Größe der Vorlage vorhanden, sodaß auch hier erst umständlich mehrere Teile gescannt werden müssen. Ein Vorteil gescannter Karten liegt noch darin, daß es leichter zu beurteilen ist, wie weit die digitalisierten Karten von der Vorlage abweichen, da die digitalisierten Vektorlinien hier direkt über der Vorlage liegen (oder eben nicht...). Die Vorbereitung für die eigentliche Digitalisierung beinhaltet das Beschaffen einer geeigneten Arbeitsvorlage (Maßstab, Aktualität). Die relevanten Informationsebenen müssen auf stabile, verzugsunempfindliche Transparentfolien (Astralon) übertragen werden. Eine solche Folie wird auf dem Digitalisierbrett befestigt und das eigentliche Digitalisieren kann beginnen. Um später die einzelnen Kartenschnitte problemlos zusammenfügen zu können, sollte man sich zuvorrechtzeitig über eine konsistente Vergabe von ID s für die TIC-Punkte 2 klar werden. Dies ist besonders bei Projektgruppen mit mehreren Bearbeitern wichtig, aber auch wenn man alleine mehrere angrenzende Blattschnitte bearbeitet, erspart man sich später viel unnötige Arbeit, wenn solcher Zuwachs bereits vorher berücksichtigt wird. Im Folgenden werden die einzelnen Schritte beim Digitalisieren mit ARCTOOLS beschrieben. Unter EditTools Edit lassen sich auch die Einstellungen zum Digitalisieren menügesteuert angeben. Die Bedeutung der Schaltflächen und Optionen entspricht dabei den unten beschriebenen Befehlen für die Kommandozeile. Zusätzlich ist das Konfigurieren des Digitalisiertabletts über die Menüs Set Digitizer Device und Digitizer Port Options möglich. Die Einstellungen sind bei Bedarf beim Systemadministrator zu erfragen. 34

85 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung 3-4. Eingabemethode auswählen (Set Coordinate Entry Device) Abbildung 3-5. Initialisierung des Digitalisierbretts Digitalisieren am Digitalisierbrett Zunächst muß das Digitalisierbrett für ARC/INFO initialisiert werden. Dazu muß erst das Digitalisierbrett eingeschaltet werden (Schalter direkt unterhalb der Ablageschale links am Brett) bevor ARC/INFO gestartet wird. idefix> arc Dann kann ein neues Arbeitsverzeichnis erstellt werden, in das man anschließend wechselt (Abkürzungen für diese Befehle sind jeweils kursiv gedruckt): Arc: createworkspace workspace Arc: workspace workspace /* d.h. cw in der Kurzfassung Nun wird ARC/INFO für die grafische Fensteroberfläche und anschließend für das Digitalisierbrett eingerichtet. Eingaben (und Auswahl) auf der bearbeiteten Karte erfolgen nun alle über das Digitalisierbrett/Puck. Soll zwischendurch etwas mit der Maus bearbeitet werden, so gibt man coordinate mouse ein, sobald man damit fertig ist, wieder coordinate digitizer. Arc: &TERMINAL 9999 /* ARC/INFO oeffnet nun bei Bedarf Fenster /* fuer die Grafikausgabe von Arc-Modulen Anschließend ARCEDIT starten und neues Coverage erzeugen: Arc: arcedit /* ae (Abk.) Das Digitalisierbrett muß nun noch für ARC/INFO eingerichtet werden. In diesem Beispiel gehen wir von einem Calcomp Drawing Board III aus, das an die erste serielle Schnittstelle angeschlossen ist. Für andere Installationen sind diese Werte entsprechend der Dokumentation abzuändern. 35

86 Kapitel 3. Erstellen der raumbezogenen Datengrundlage unter Solaris Arcedit: digitizer 9100 /dev/ttya unter Windows NT/2000 Arcedit: digitizer 9100 com1 Das weitere Vorgehen ist wieder plattformunabhängig: Die vorgegebene Einstellung erwartet die Eingabe von einzelnen Punkten über den Digitalisierpuck. Eine weitere Möglichkeit ist der Stream-Modus, bei dem man eine Linie entlangfährt und das Digitalisierbrett in festgelegten Abständen Punkte einfügt. Wir beschränken uns auf den Punktmodus, der weniger fehleranfällig und zugleich besser zu kontrollieren ist. Arcedit: coordinate digitizer Arcedit: create ticcov Soll ein bereits existierendes Coverage weiterbearbeitet werden, entfällt natürlich der create-schritt. Für coordinate digitizer wird in diesem Fall das Coverage angegeben: Arcedit: coordinate digitizer schon_existierendes_coverage Man wird dazu aufgefordert, mindestens vier Tics eingeben. Diese werden für alle weiteren Kartentransformationen als Kontrollpunkte benötigt. TICs markieren Punkte, für die die genaue Lage im Gradnetz bekannt ist. Es ist also sinnvoll, auf der Karte solche Punkte auszuwählen, die an den Schnittpunkten des Gitternetzes liegen. Auf der Karte sollte man die entsprechenden Punkte vermerken und zugleich eine Tabelle mit diesen IDs und den dazugehörigen Koordinaten anlegen. Diese wird später für die überführung des Coverages von Digitalisierbrett- in Realweltkoordinaten benötigt. Dazu gibt man zunächst auf der numerischen Tastatur der Digitalisierlupe (auch Puck genannt) die Tic-ID ein. Mit der Taste Aauf der Digitalisierlupe wird die Eingabe bestätigt. Bei der Eingabe sollte man versuchen, die markierten Punkte genau zu treffen, da dies für die Registrierung der Karte von entscheidender Bedeutung ist. creating /TICCOV Digitize a minimum of 4 tics (from digitizer). Signal end of tic input with Tic-ID = 0 Tic-ID: 1 A A 5 Tic-ID: 2 A A... Tic-ID: 8 A A Tic-ID: 0 A Sobald man die Eingabe der Tics mit den Tasten 0 und A auf dem Puck beendet hat, wird man aufgefordert, eine erste Kartengrenze zu digitalisieren: 36

87 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Enter initial boundary Define the box (from digitizer) Dazu zieht man mit dem Puck von unten links nach oben rechts ein Rechteck auf, das etwas größer als die Fläche der zu digitalisierenden Karte ist. Anfangs- und Endpunkt werden markiert, indem man jeweils eine beliebige Taste auf dem Puck drückt. Dadurch hat man nun eine INFO-Datei ticcov.bnd erzeugt, die die Minimal- und Maximalkoordinaten für diese Karte enthält. Diese Koordinaten werden in Digitalisierbrett-Koordinaten (in der Regel in Zoll) gespeichert und sind als x/y-werte rechts neben dem Pan/Zoom-Menu im ARCEDIT- Grafikfenster sichtbar. Die Tic-Karte ist damit erstellt und sollte erst einmal gespeichert werden: Arcedit: save Saving changes for /TICCOV BND replaced into /TICCOV Die bisherige Arbeit kann man dann überprüfen. Dazu sagt man ARC, welche Informationen angezeigt werden sollen: Arcedit: drawenvironment tic id /* setzt die Zeichenumgebung Arcedit: draw /* baut die Grafikanzeige neu auf Jetzt sollten im ARCEDIT-Fenster die digitalisierten Tics erscheinen. Sollen mehrere verschiedene Informationsebenen von dieser Vorlage digitalisiert werden, so bietet es sich an, die Vorlage entprechend oft zu kopieren. Neben dem schon vorgestellten Befehl copy ist in diesem Fall auch create zu verwenden, wenn man ein Vorlagecoverage für Tics und Boundary angibt: Arcedit: usage create Usage: CREATE <out_cover> {tic_bnd_cover} Arcedit: create bodendig ticcov Creating coverage bodendig 5 The edit coverage is now NUTZDG01 Use COORDINATE DIGITIZER DEFAULT to orient NUTZDG01 if required. In das neue Coverage werden dabei nur die TICs und die Kartenbegrenzung (Boundary) übernommen. So brauchen die TICs nicht jeweils neu digitalisert werden. Das Kartenblatt muß auch erst dann neu registriert werden, wenn es zwischenzeitlich vom Digitalisierbrett abgenommen und neu befestigt wurde. Andere Einflüsse, die die Registrierung beeinflussen und erneut erforderlich machen können sind Schwankungen der Temperatur und Luftfeuchtigkeit, durch die sich das Material (insbesondere Papier) ausdehnen oder zusammenziehen kann. Da dies nicht zwangsläufig einheitlich für die gesamte Fläche passiert, ist zu überlegen, ob die Karte vorher auf ein verformungsstabileres Material übertragen werden soll. Aber auch die Übertragung von Hand und anschließende Digitalisierung eröffnet natürlich neue Fehlerquellen. 37

88 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Um mit dem Vorgang der erneuten Registrierung einer Karte vertraut zu werden, lösen wir nun zunächst die Karte vom Digitalisierbrett und befestigen sie erneut. Die Karte wird sich nun zwangsläufig nicht mehr an der gleichen Stelle wie zuvor befinden. Dadurch, daß man nun erneut die Tics mit dem Puck anfährt, erhält das Programm die Möglichkeit, die veränderte Lage relativ zur ursprünglichen Digitalisierung zu berücksichtigen. Der Grad der übereinstimmung spiegelt sich im Root Mean Square (RMS)-Fehler wider. Arcedit: coordinate digitizer default Digitize a minimum of 4 tics (from digitizer). Signal end of tic input with Tic-ID = 0 5 Tic-ID: 1AA Tic-ID: 2AA... Tic-ID: 8AA 10 Tic-ID: 0A Scale (X,Y) = (1.000,1.000) RMS Error (dig,map) = (0.002,0.002) Der RMS-Fehler zeigt das Ausmaß der übereinstimmung von ursprünglichen und neuen Koordinatenpunkten an. Je niedriger er liegt, desto genauer war die Digitalisierung (oder Transformation). Er sollte unter liegen, bei weniger genauen Vorlagen darf er auch etwas größer sein. Falls der Fehler zu hoch liegen sollte, muß man die Karte erneut registrieren bis der RMS-Fehler in einem akzeptablen Bereich liegt: Arcedit: coordinate digitizer ticcov Bevor man mit dem Digitalisieren der Kartenelemente beginnt, sollte man noch die folgenden Voreinstellungen für ARCEDIT anpassen: Nodes, d.h. Anfangs- und Endpunkte von Linien (Arcs) werden ab einem bestimmten Abstand voneinander zusammengeschnappt, d.h. wenn ein neuer Node innerhalb der nodesnap-distanz zu einem anderen node liegt, werden die beiden zusammengezogen. Die Voreinstellung muß gegebenenfalls geändert werden. Diese Einstellungen sind jedoch von den Einheiten der Coverages abhängig - so sind hier bei der Digitalisierung mit dem Digitalisierbrett völlig andere Werte erforderlich als beim Editieren von Coverages in Real-world-Koordinaten am Bildschirm, denen ein Rasterbild hinterlegt wurde. Arcedit: editdistance 10 Arcedit: weedtolerance 4 Arcedit: nodesnap closest 1 Arcedit: arcsnap closest 1 5 Arcedit: intersectarcs all Arcedit: add /* Arc hinzufuegen, ab hier wie gehabt Die Toleranzen werden in einer.tol-datei mit dem jeweiligen Coverage gespeichert. intersectarcs z.b. muß jedoch immer zu Beginn einer Editiersitzung neu eingegeben werden 3. 38

89 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Arcedit: nodesnap closest.05 Alternativ dazu kann man diese Entfernung auch über den Puck oder die Maus einstellen Arcedit: nodesnap closest * und anschließend den so eingestellten Wert abfragen: Arcedit: show nodesnap CLOSEST, Jetzt sollten wir noch die angezeigten Informationen anpassen, damit wir auch die neu digitalisierten Elemente sehen können und dann das Element, das eingegeben werden soll, bestimmen: Abbildung 3-6. Digitalisieren von Arcs und Polygonen 5 10 Arcedit: drawenvironment arc node labels ids Arcedit: editfeature arc /* ef (Abk.) 0 element(s) for edit feature ARCS Arcedit: add Options ) Vertex 2) Node 3) Curve 4) Delete vertex 5) Delete arc 6) Spline on/off 7) Square on/off 8) Digitizing Options 9) Quit (Line) User-ID: 401 Points 0 0 arc(s) added to /HOME/ARC/NUTZDG01 Arcs sind aus mindestens zwei Nodes (Anfangs- und Endpunkten) und bei Bedarf zusätzlichen Vertices (Hilfspunkten) zusammengesetzt (vgl. digi) (A-C)). Man beginnt eine Linie mit einem Node 39

90 Kapitel 3. Erstellen der raumbezogenen Datengrundlage (Taste 2 ) und folgt dem Verlauf der Linie entlang und gibt dabei für jede Richtungsänderung der Linie eine 1 für einen Stützpunkt (Vertex) auf dem Puck ein. Der Endpunkt wird wiederum mit einer 2 gesetzt. Man kann nun eine weitere Linie digitalisieren oder die bisherigen abspeichern. Pro Linie sind maximal 499 Vertices möglich, bei einer größeren Anzahl wird die Linie automatisch getrennt und eine neue Linie begonnen. Je nachdem, was digitalisiert wird, bietet es sich an, die IDs gleich mit Werten zu belegen, z.b. der Höhe in Metern über NN bei Höhenlinien. Dazu gibt man nach add zunächst 8 für die Digitalisieroptionen ein, dann kann man z.b. mit der Taste 3 auf dem Puck das automatische Hochzählen der IDs bei neuen Linien verhindern. Dies ist dann hilfreich, wenn man mehrere Einzelobjekte mit der gleichen ID eingeben muß. Dann betätigt man noch einmal Taste 8, um dann mit Taste 1 die neue User-ID festzulegen. Nun kann man mit Taste 2 wieder einen neuen Arc beginnen DIGITIZING OPTIONS ) New User-ID 2) New Symbol 3) Autoincrement OFF 4) Autoincrement RESUME 5) Arctype line 6) Arctype box 5 7) Arctype circle 8) Arctype centerline 9) Quit Dazu wählen wir im ARCEDIT-Fenster den Bereich aus, der bearbeitet werden soll: PAN/ZOOM Extent Digitalisieren am Monitor Falls kein Digitalisierbrett vorhanden ist oder Daten schon im Rasterformat vorliegen bzw. eingescannt werden können, besteht die Möglichkeit, auch ohne zusätzliche Hardware direkt am Monitor mit der Maus zu digitalisieren. Dazu müssen die Rasterdaten zunächst georeferenziert werden. Um eine Vorlage am Monitor digitalisieren zu können, muß sie zunächst eingescannt werden. Dabei wird ein Bild als Vorlage optisch abgetastet und die verschiedenen Farbwerte in digitale Form umgesetzt. Zu unterscheiden sind die Farbtiefe (in Bit, d.h. die maximale Anzahl darstellbarer Farben) und die Auflösung in der Einheit dpi dots per inch), die angibt, wieviele Punktinformationen pro Flächeneinheit gespeichert werden. Als Ergebnis erhält man eine Rastergraphik, d.h. ein digitales Bild, das in einem der üblichen Rastergraphikformate gespeichert werden kann. Im professionellen Bereich ist z.b. TIFF verbreitet, aufgrund der Allgegenwart des WWW sind heute GIF und JPEG besonders bekannt. Wie in Abschnitt erwähnt, können verschiedene Rastergrafikformate in ARC/INFO eingelesen und dargestellt werden. Insbesondere können sie auch in ein ARC/INFO-eigenes GRID umgewandelt werden, wodurch weitere Analysemöglichkeiten erschlossen werden. Georeferenzieren von Rastergraphiken mit register und rectify Bilddateien - i. d. R. eingescannte Karten - müssen erst an Coverages mit Digitizer- bzw. Real-world- Koordinaten angepaßt werden. Dazu werden mehrere Punkte, deren Lage sowohl auf dem Bild als 40

91 Kapitel 3. Erstellen der raumbezogenen Datengrundlage auch in dem Coverage bekannt sind, verbunden, um so das Bild mit Informationen über dieses Koordinatensystem zu versorgen. Wir werden in diesem Beispiel ein bereits digitalisiertes Coverage mit den Umrissen der Insel Gomera mit dem eingescannten Bild der Vorlage hinterlegen, sodaß wir weitere Informationen der Karte am Bildschirm digitalisieren können. Dazu rufen wir zunächst das Programm register mit den benötigten Parametern auf. Arc: usage register /* Befehlsoptionen ansehen Usage: REGISTER <image> {cover} {cover_color} {band COMPOSITE} {red_band} {green_band} {blue_band} {ARC POINT TIC ALL} Für unsere Zwecke reicht erst einmal: Arc: register gomera gomera 4 composite /* unterstuetzte Dateiformate /* werden ohne Angabe der Endung erkannt Es erscheinen mehrere Fenster: image, cover und overlay sowie eine Dialogbox, die aber zunächst noch nicht interessiert. Wir müssen jetzt zunächst in den beiden kleinen Fenstern (image und coverage) einen annähernd deckungsgleichen Bereich auswählen. Mit der linken Maustaste können wir nun die momentan angezeigte Box verschieben, mit der mittleren Maustaste können wir sie in der Größe verändern. Wenn man nun mit der rechten Maustaste in eines der beiden kleinen Fenster klickt, werden die beiden Ausschnitte vergrößert übereinandergelegt. Wenn die Ausschnitte genau genug gewählt sind, sodaß man Punkte sowohl auf dem Rasterbild wie auch auf dem Vektor-Coverage erkennt, können wir sogenannte Links einfügen, die für die spätere Transformation dienen. Der Anfang eines solchen Links wird auf dem zu registrierenden Bild markiert (linke Maustaste), das Ziel kann dann entweder über die Tastatureingabe von absoluten Koordinaten oder einen weiteren Klick mit der linken Maustaste markiert werden. Dabei müssen die Links immer in der gleichen Weise gesetzt werden, nämlich vom Soll-Punkt (in unserem Fall auf der eingescannten Karte) zum bekannten Punkt auf dem Vektorcoverage. Hat man einige Links hinzugefügt, kann man durch einen Klick auf Register die bisherige Transformation überprüfen, ggfs. Links löschen und noch weitere hinzufügen. Mit lock image wird die bisherige Transformation im Overlay-Fenster gezeigt. Ist sie weitgehend deckungsgleich, kann man nun durch Save Transformation das Worldfile erzeugen, mit dem im nächsten Schritt mit rectify das georeferenzierte Bild erzeugt wird. Arc: usage rectify /* Optionen des Befehls ansehen Usage: RECTIFY <in_image> <out_image> {NEAREST BILINEAR CUBIC} {DEFAULT COLORMAP NONE} {clip_cover BOX} {xmin} {ymin} {xmax} {ymax} Arc: rectify gomera gomera_rec Das Digitalisieren am Monitor unterscheidet sich nicht grundsätzlich von der gleichen Tätigkeit am Digibrett. Einige Unterschiede gibt es aber doch: Wenn eine Karte neu erstellt wird, sind die Bildschirmkoordinaten im Edit-Fenster normalerweise völlig anders als die des Bildes (1 Pixel = 1 Einheit?) Die Auflösung der eingescannten Karte bestimmt also, wo sie auf dem Bildschirm dargestellt 41

92 Kapitel 3. Erstellen der raumbezogenen Datengrundlage wird. Mit einem kleinen Trick kann man vermeiden, daß man lange nach dem Bild suchen muß. Zunächst muß man dazu die Größe des Bildes, das im ArcEdit-Fenster hinterlegt werden soll, in einem Raster-Grafikprogramm bestimmen. Das kann z.b. das Programm sein, mit dem man die entsprechenden Vorlagen eingescannt hat. Dann müssen für das Roh-, d.h. nicht georeferenzierte Coverage, die TICs erzeugt werden. Das kann entweder in INFO geschehen (siehe unten) oder noch schneller mit coordinate keyboard und add (siehe Online-Hilfe zu coordinate. Für unser Beispiel haben wir eine Bildgröße von 1919 x 1683 Pixel herausgefunden. Man muß nun zunächst ein entsprechendes coverage erzeugen und die TICs über INFO eingeben. Arc: create gomera.tic Arc: list gomera.tic /* leeres TIC-coverage erzeugen /* die Datei enthaelt noch keine Werte Record IDTIC XTIC YTIC Dieses neu erstellte Coverage ist vorerst noch leer, deshalb öffnen wir es mit INFO. Arc: info /* ab hier erst einmal Grossschreibung INFO EXCHANGE CALL 06/05/ :31:08 5 INFO /11/ * Copyright (C) 1994 Doric Computer Systems International Ltd. All rights reserved. Proprietary to Doric Computer Systems International Ltd. ENTER USER NAME> ARC 10 ENTER COMMAND > sel gomera.tic DATAFILE NOT FOUND! LOOK ALIKES ARE (IF ANY) - GOMERA.TIC, GOMERA.BND, (Das war fuer die, die das mit der Großschreibung nicht geglaubt haben...) ENTER COMMAND > SEL GOMERA.TIC 4 RECORD(S) SELECTED 5 ENTER COMMAND > ADD 5 IDTIC> /* hier wuerden wir IDs und zugehoerige x/y-werte 10 /* vergeben, aber da wir einfach RETURN /* gedrueckt haben, wird nichts hinzugefuegt 0 RECORD(S) ADDED Jetzt wollen wir wieder aus Info heraus: 42

93 Kapitel 3. Erstellen der raumbezogenen Datengrundlage ENTER COMMAND > Q STOP Ab hier gilt wieder normale Kleinschreibung. /* arcedit.aml /* richtet Arbeitsumgebung beim Start von ArcEdit ein display mape ponet linescale mapscale ec sedloc bc ponet 7 be arc point ef arc image engl_rlg composite setdrawsymbol 67 4 setsymbol edit 67 2 de all draw Korrektur angrenzender Coverages Anpassen von Elementen Zusammenschnappen Sachdatenhaltung / INFO-Dateien anlegen Wie wir im Kapitel Kapitel 1 gesehen haben, ist die Kopplung von räumlichen Geometrien und Attributdaten unterschiedlichster Art eines der Hauptcharakteristika von Geoinformationssystemen. Die Verknüpfung beider Welten geschieht in ARC/INFO über sogenannte Feature Attribute Tables. Es wurde angedeutet, daß hier neben einer systeminternen ID, die durch das #-Zeichen gekennzeichnet wird, eine vom Benutzer zu vergebende Kennungsnummer - die sogenannte Cover-ID - für jedes Raumobjekt vergeben werden kann. Es handelt sich bei dieser ID jedoch nicht um einen zwingendermaßen eindeutigen Schlüssel im Sinne relationaler Datenbanken, d.h. Duplikate sind möglich. Es ist jedoch sehr zweckmäßig jedem Raumobjekt auch benutzerdefiniert eine eindeutige Nummer zuzuordnen, um eine individuelle Behandlung zu ermöglichen. Das Aggregieren der Objekte zu Gruppen von Raumobjekten (Features) ist immer durch die Verwendung weiterer Variablen möglich. 43

94 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Beim Gebrauch der Hilfe oder Handbücher muß beachtet werden, daß für INFO-Datenbanken und relationale Datenbanken im Englischen manchmal eine unterschiedliche Terminologie Verwendung findet: In INFO-Dateien entsprechen die Records den Rows in relationalen Datenbanken. Die Columns< in letzteren stimmen wiederum mit den Items in INFO-Dateien überein. Gemeint sind jeweils Reihen und Spalten, d.h. Tupel (also Beobachtungen) und Variablen. Es existieren zwei Möglichkeiten, Sachdaten mit Geometrien zu verknüpfen. Die erste wurde schon kurz angesprochen - die jeweiligen Feature Attribute Tables (FAT, bei Punkten oder Polygonen also die PAT, bei Arcs die AAT) werden einfach um weitere Items, also Spalten oder Variablen erweitert. Diese einfache und schnell realisierbare Variante besitzt aber auch Nachteile, nämlich fehlende Flexibilität und die Vermengung von Benutzerdaten mit Systemdaten. Außerdem ist keine Normalisierung möglich. Die zweite Möglichkeit besteht im Verknüpfen von anderen Tabellen - einerseits Info-Tables, andererseits externer Datenbanktabellen - mit den Feature Attribute Tabellen über ein geeignetes, d.h. in beiden Tabellen vorkommendes Attribut. Beide Varianten werden hier vorgestellt. Die INFO-Datenbank Die Datenbank INFO hat ihre Ursprünge in den 70er Jahren und ist für heutige Verhältnisse eine etwas gewöhnungsbedürftige Datenbank. Daher sind in ARCTOOLS einige AML-Makros integriert, die den Umgang mit den in INFO gespeicherten Sachdaten vereinfachen sollen. 4 Zunächst gibt es jeweils die Auswahlmöglichkeit Manage Info-Files in den Arc Pulldownmenüs zur konsistenten Verwaltung derselben. Dies ermöglicht wie bei Coverages oder den anderen Datentypen von ARC/INFO das konsistente Kopieren, Umbenennen, Löschen etc. von Info-Tabellen. Dazu gibt Abbildung XXX einen überblick. Weiterhin sind in CommandTools einige der wichtigsten Befehle verfügbar. Hinzufügen von Attributen Mit AddItem können neue Variablen definiert werden. Wie erwähnt, müssen neue Variablen jeweils hinter der Variablen Cover-ID stehen. Es existieren verschiedene Datentypen, die neben dem Namen der zu erstellenden Variablen (und natürlich der Ursprungs- und der Zieldatei) angegeben werden müssen. Daran gekoppelt sind Angaben über Länge des Speicherplatzes und der Darstellung sowie gegebenenfalls Anzahl der Dezimalstellen. Weitere Angaben zu den Datentypen folgen weiter unten. Nicht mehr benötigte Variablen werden durch DropItem aus der Tabelle gelöscht. Damit wird die gesamte Spalte gelöscht. Der Name der Datei wird standardmäßig beibehalten, es kann optional jedoch auch ein neuer Name angegeben werden, damit die Daten nicht völlig verloren sind. 44

95 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung 3-7. Das Add Items Menü CommandTools Edit Info Tables Add Item CommandTools Edit Info Tables Drop Item Erstellen eigener INFO-Tabellen Oftmals ist es notwendig, in ARC/INFO eigene Tabellen zu erzeugen, z.b. um darin Sachdaten abzulegen. Aber auch für Lookup-Tables oder Symbol-Tabellen bei der Visualisierung werden ganz normale INFO-Tables verwendet. Es gibt mehrere Wege, zu dem Menü zu gelangen, das die Definition einer INFO-Tabelle ermöglicht. Insbesondere findet sich diese Möglichkeit unter Command Tools: CommandTools Edit Info Tables Define Table Hier muß der Name der zu erstellenden Tabelle eingegeben werden. Danach kann nacheinander der Typ mehrerer Attribute festgelegt werden. Dazu sind jeweils folgende Angaben notwendig: Item name Item type Item width Decimals Name des Attributes Datentyp des Attributes Breite der für die Variable vorgesehenen Spalte Anzahl der Dezimalstellen (falls möglich). Folgende Datentypen stehen zur Auswahl: 45

96 Kapitel 3. Erstellen der raumbezogenen Datengrundlage B F I B C D Binary Integer (2 oder 4 Byte lange) ganze Zahl Floating Number (2 oder 4 Byte lange Dezimalzahl Integer Ganzzahl mit 1 Byte pro Stelle. Maximal 16 Stellen Number Dezimalzahl mit 1 Byte pro Stelle. Maximal 16 Stellen Charakter Zeichen (z.b. Buchstaben) bis max. 320 Zeichen Date Datum: TT/M/JJ oder TT/MM/JJJJ. Intern: JJJJ/MM/TT. Einlesen von ASCII-Tabellen Außerdem gibt es in den CommandTools die direkte Möglichkeit, ASCII-Dateien in INFO-Tabellen einzulesen. Dazu muß zunächst über Define die Struktur einer INFO-Tabelle definiert werden. Dies wurde im vorangehenden Abschnitt angesprochen. Wichtig ist, daß die ASCII-Datei eine mit der Zieldatei verträgliche Struktur aufweist (richtige Feldtypen und -längen). Mit init erstellt man eine neue INFO-Datei, mit append hängt man Daten an eine bestehende an. 5 Abbildung 3-8. ASCII Table to INFO Menü CommandTools Edit Info Tables Add from ASCII Bearbeiten von INFO-Dateien Um Attribute in einer INFO Tabelle zu bearbeiten, muß man zunächst im Edit Info Table Menü im ersten Feld eine INFO-Datei angegeben werden (ein Klick mit der rechten Maustaste im Info- File-Feld öffnet einen Dateiauswahldialog). Es wird die Liste der in dieser INFO-Datei verfügbaren Variablen in der Item List angezeigt. Mittels der Pfeile können nun die Variablen ausgewählt werden, die editiert werden sollen, indem sie in die zweite Liste geschoben werden. Wird diese Auswahl mit Apply bestätigt, erscheint ein Table-Editor Menü, wie es im Kapitel kdaten abgebildet ist. CommandTools Edit Info Tables Edit Table Die Funktionalität und Handhabung entspricht dem dort Beschriebenen. 46

97 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Zusätzlich können mit dem Menü Dropfeatures für ein Coverage die zu einem bestimmten Feature- Typ gehörigen Attribute gelöscht werden. CommandTools Edit Info Tables Drop Features Erstellen von Indizes Ein Index auf ein Attribut ermöglicht einen schnelleren Zugriff auf die Attributdaten, wenn nach den Werten dieser Variablen gesucht wird. Damit ist ein Index vor allem ein Mittel zur Steigerung der Performance bei Anfragen an das System. Indizes sind besonders für solche Variablen sinnvoll, über die häufig Suchanfragen durchgeführt werden. Wenn z.b. oft anhand der Werte der Variablen Flußtyp gesucht wird, sollte diese Variable einen Index erhalten. Bei Änderung der Werte muß auch der Index neu aufgebaut werden. Berechnung neuer Variablen Neue Variablen können auch durch Berechnung aus existierenden Attributen und Konstanten gewonnen werden. Das Item Calculator Menü ermöglicht einfache Berechnungen, ohne daß ein Export in andere Programme wie z.b. eine Tabellenkalkulation oder Statistikprogramme notwendig wird. 6 Verknüpfen mehrerer Tabellen Es muß bei der Verknüpfung zwischen zwei Tabellen zwischen einem Join (physische Speicherung) und einem Relate (temporäre, logische Verknüpfung) unterschieden werden. Ein Join fügt zwei Tabellen dauerhaft und physisch in eine einzige Tabelle zusammen, während Relates nur logische Verknüpfungen zwischen zwei Tabellen darstellen, die beide an ihrem Ort verbleiben, jetzt aber nach außen wie eine Tabelle erscheinen. Ein Relate ist damit flexibler und dynamischer und daher für häufig sich ändernde Daten und Tabellen in externen Datenbank-Systemen geeignet. Bei jedem Connect zu der externen Datenbank werden die Tabellen neu verknüpft. Dadurch ist die virtuelle Resultattabelle immer auf dem neuesten Stand, auch wenn sich die Ausprägungen in einer Tabelle verändert haben. Allerdings sind Relates etwas weniger performant, da die Tabellen bei jedem Starten des Relate neu verknüpft werden müssen. Zwei INFO-Dateien können durch Join in eine einzige Datei zusammengefügt werden. Standardmäßig enthält die Resultatdatei denselben Namen wie die Input-Datei. Dies kann selbstverständlich geändert werden. Es muß ein sogenanntes Relate Item gewählt werden, über das verknüpft wird. Dieses muß in beiden Dateien identisch existieren. In der Regel werden dies ein FAT und eine Attributdatei mit weiteren Variablen sein. Schließlich wird noch das Attribut angegeben, hinter dem die neuen Items angefügt werden sollen. Bei Feature Attribute Tables darf generell frühestens hinter der Cover-ID des Eingabe-Coverages ein neues Feld eingefügt werden. Die möglichen Argumente bei einer zeilenorientierten Eingabe lauten: 47

98 Kapitel 3. Erstellen der raumbezogenen Datengrundlage in_info_file join_info_file out_info_file relate_item start_item Tabelle, an die die neuen Variablen angehängt werden Tabelle, die an die erste angehängt wird Ergebnistabelle Schlüsselfeld, das in beiden Tabellen identisch ist Attribut, hinter dem die neuen Sachdaten eingefügt werden. Es existieren drei Optionen für die Verknüpfung. Linear Ordered Link Beide Tabellen können unsortiert sein. Für jeden Item-Wert der ersten Tabelle wird jede Zeile der zweiten Tabelle durchsucht, bis der entsprechende Eintrag gefunden ist. Diese Option ist relativ langsam. Das Join_info_file muß aufsteigend nach dem Relate_Item sortiert sein. Beide Tabellen können unsortiert sein. Das korrespondierende Feld des Joininfo_file ist die Recordnummer. Damit ist keine Suche notwendig, womit diese Option am schnellsten ist. Anbindung externer Sachdaten ARC/INFO kann mit drei Datenbankstrukturen umgehen: Feature Attribute Tables sonstige INFODatenfiles Relationale Datenbank-Managementsysteme (RDBMS) ARC/INFO verfügt standardmäßig über Schnittstellen zu verschiedenen RDBMS. Dazu zählen: Oracle Ingres Informix Sybase Rdb Die relationalen Datenbanken sind als eigenständige Produkte im Gegensatz zu den beiden erstgenannten nicht direkt in ARC/INFO integriert, können aber mit dem DATABASE INTEGRATOR eingebunden werden. 48

99 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Anbindung an eine Oracle Datenbank Es folgen einige Informationen zur Verwendung von Oracle mit ARC/INFO: Oracle ist ein weit verbreitetes kommerzielles relationales Datenbank-Management-System (RDBMS), das für verschiedene Plattformen verfügbar ist. Wenn eine Verbindung zu Oracle aufgebaut werden soll, müssen zunächst die erforderlichen Umgebungsvariablen gesetzt werden. Dies ist von der lokalen Installation abhängig und wird durch entsprechende Skripte erreicht. Nun kann man ein Relate (unter Manage Relates) zu Oracle erzeugen, indem man die Datenbank mittels DBMS Connect anspricht und sich bei ihr als Benutzer anmeldet. Manage Relates Relate DBMSConnect Um eine Verknüpfung einer Tabelle in Oracle mit einer Tabelle in INFO zu erzeugen, muß in Oracle eine Tabelle mit entsprechender Struktur exisitieren, d.h. eine Tabelle mit einer Variablen mit entsprechendem Typ zum Erzeugen eines Joins. Eine erste Möglichkeit, in Oracle eine Tabelle zu erzeugen, besteht darin, nach der Initialisierung der Oracle-Umgebung in einem Terminal direkt das zu Oracle gehörende Programm sqlplus zu starten und dort die entsprechenden Tabellen mittels SQL-Statements anzulegen. Sqlplus ist die zeilenorientierte Standard-Benutzerschnittstelle zu Oracle. Es folgt ein kleines Beispiel in SQL (Stuctured Query Language 7 ) zum Erzeugen einer Tabelle mit dem Namen MYTABLE und den Variablen SCHLUESSELID, EINEVARIABLE und PFLICHTEIN- GABE in Oracle: CREATE TABLE MYTABLE SCHLUESSELID INTEGER NOT NULL, EINEVARIABLE CHAR(40), PFLICHTEINGABE INTEGER NOT NULL; Mittels SQL könnten dann die Daten mit folgender beispielhafter Anweisung in sqlplus eingegeben werden. INSERT INTO MYTABLE VALUES (1, Buchstaben, 200); Wie man an den folgenden Menüeinträgen von CommandTools sieht, ist in der aktuellen Version von ARC/INFO auch mittels ARCTOOLS das Absetzen von SQL-Statements zu einer verknüpften Datenbank, bzw. das Anzeigen von dort abgelegten Tabellen oder Variablen, etc. möglich. Es können INFO-Tabellen direkt in Tabellen des angebundenen DBMS umgewandelt, d.h. in das DBMS eingelesen werden. Dies funktioniert auch umgekehrt, wobei die Variablentypen in die in INFO verfügbaren Typdefinitionen umgesetzt werden. DBase-Dateien (DBF) Im PC-Bereich liegen Daten oft im dbase-format (*.DBF) vor, bzw.~können leicht in dieses konvertiert werden, da sehr viele PC-Datenbanken oder Tabellenkalkulationen dbase-dateien verarbeiten 49

100 Kapitel 3. Erstellen der raumbezogenen Datengrundlage können. Damit steht neben ASCII eine recht universell einsetzbare Schnittstelle zu Sachdaten aus der PC-Welt zur Verfügung. Insbesondere verwendet ARCVIEW für Windows dbase als Tabellenformat. Die Befehle zum Im- bzw.~export von dbase-tabellen in ARC/INFO sind nicht in ARCTOOLS integriert, sondern müssen in der ARC-Kommandozeile aufgerufen werden.\anm{xxx stimmt das noch?} dbaseinfo Importiert dbase-tabellen in das Datenbanksystem INFO. Arc: usage dbaseinfo DBASEINFO <dbase_file><info_file> {DEFAULT DEFINE} infodbase Exportiert INFO-Tabellen aus ARC/INFO als dbase-tabelle Arc: usage infodbase INFODBASE <info_file><dbase_file> {DEFAULT DEFINE} Da INFO weitergehende Definitionen von Spalten unterstützt als dbase, kann es hier zu Veränderungen in der Datendefinition kommen. So werden Spaltennamen auf max. 10 Zeichen gekürzt oder Leerzeichen durch _ ersetzt. Falls die ersten 10 Zeichen einer Variablen nicht eindeutig seind, müssen die Namen entsprechend abgeändert werden. Sollen Daten an ARCVIEW weitergegeben werden, sollte man dies also schon bei der Definition der Attributtabellen berücksichtigen. Import/Export Zum Einlesen von schon existierenden Daten aus anderen Formaten bzw. Datenbanken existieren diverse Import-Werkzeuge. Hierbei muß wieder zwischen den Importfiltern für Geodaten (Vektoren, Rasterdaten) etc. und den Sachdaten unterschieden werden. Das Arbeiten mit Sachdaten, d.h. mit den Geometrien assoziierten Attributen wird in Kapitel Kapitel 3 behandelt. Import von Vektorkoordinaten Es existeren Schnittstellen zu den gängigsten Formaten: DXF (Austauschformat für CAD-Daten von Autodesk) 50

101 Kapitel 3. Erstellen der raumbezogenen Datengrundlage DIME (US-Behörden) TIGER (US-Behörden, Nachfolger von DIME) DLG (Digital Line Graph) SDTS (Spatial Data Transfer Standard, US) VPF IGES DFAD ETAK (Großer US-Hersteller, z.b. von Strassenatlanten MOSS (Public Domain) SLF Shape (ESRI ArcView Format, ohne Topologie)... Neben dem Einlesen von Fremdformaten sind insbesondere die Befehle import und generate (bzw. ihre Gegenstücke export und Ungenerate) von Interesse. import/export sind für den Austausch zwischen ARC/INFO-Systemen verschiedener Plattformen zuständig, während generate/ungenerate die ASCII-Schnittstelle für Geometriedaten darstellen. coord digitizer create tolerances 5 drawenv editfeature add save Topologische Fehler erkennen und beseitigen Nicht alle scheinbaren topologischen Fehler sind auch wirklich solche. So können z.b. überstehende Arcs statt nichtgeschlossenen Polygonen auch nur Sackgassen o. ä. darstellen. überschneidungen von Arcs Überschneidungen lassen sich vermeiden, wenn zu Beginn der Editiersitzung intersectarcs all gewählt wird. Nachträglich ist dies nur mit einem Trick möglich: Zunächst müssen alle betroffenen Arcs mit select ausgewählt werden. Nun muß man nur die ausgewählten Arcs um den Abstand 0 51

102 Kapitel 3. Erstellen der raumbezogenen Datengrundlage verschieben (d.h. gar nicht), dann wird die geänderte Voreinstellung auch nachträglich auf die ausgewählten Elemente angewandt.! Wenn Sie in der Zwischenzeit die Toleranzen für arcsnap, nodesnap oder ähnliches verändert haben, kann das ungewollte Folgen für Ihre Daten haben. Arc: arcedit Arcedit: ec coverage Arcedit: ef arc Arcedit: intersectarcs all 5 Arcedit: sel {many all} Arcedit: move parallel 0 Arcedit: status /* zeigt momentan eingestellte Toleranzen an Sogenannte Sliver-Polygone entstehen, wenn z.b. versehentlich mehrere Linien übereinander digitalisiert werden und diese (zwangsläufig) nicht exakt übereinanderliegen. Der Raum zwischen diesen beiden Linien wird nach build bzw. clean ebenfalls zu einem Polygon. Unter ARC können diese Polygone mit dem Befehl eliminate in einen Arc aufgelöst werden. Dazu sollte zunächst geklärt werden, wie groß diese Polygone sind und ob es weitere gewollte Polygone in dieser Größe gibt. Trifft dies nicht zu, erzeugt man mit eliminate ein neues Coverage: Arc: usage eliminate Usage: ELIMINATE <in_cover> <out_cover> {NOKEEPEDGE KEEPEDGE} {POLY LINE} {selection_file} {BORDER AREA} Ein Coverage namens sloppycov wurde bereits mit Labels für die verschiedenen Polygone versehen. Die Attributtabelle sieht folgendermaßen aus: Arc: list sloppycov.pat Record AREA PERIMETER SLOPPYCOV# SLOPPYCOV-ID Wir wissen zugleich, daß keines der Polygone, die enthalten sein sollen die ID 0 besitzt. In diesem Fall ist das Auswahlkriterium für die Sliver-Polygone. einfach: Arc: eliminate sloppycov cleancov 52

103 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Eliminating polygons in sloppycov to create cleancov Enter a logical expression. (Enter a blank line when finished) 5 >: res sloppycov-id = 0 >: (RETURN) Do you wish to re-enter expression (Y/N)? n Do you wish to enter another expression (Y/N)? n 10 3 features out of 9 selected. Number of Polygons (Input,Output) = 9 6 Number of Arcs (Input,Output) = Creating cleancov.pat... Muß nach anderen Kriterien ausgewählt werden, so kann die Auswahl wie auch sonst in Arc/Info durch andere select-bedingungen erfolgen (resel, asel, usw.). Unter ArcEdit kann man dann das Ergebnis betrachten und nun überflüssige Nodes entfernen. Arcedit: ef arc 47 element(s) for edit feature ARC Coverage has no COGO attributes Arcedit: sel all 5 47 element(s) now selected Arcedit: unsplit none 7 pseudo node(s) removed Fehler in Polygonlabels Arc: labelerrors listet die Labelfehler auf (Polygonnummer und Anzahl der Labels wenn sie ungleich 1 sind). Das Universalpolygon (Nr. 1) hat kein Label, dieser Fehler kann also ignoriert werden. Die so gefundenen Labelfehler in Polygonen können dann in Arcedit ausgewählt werden. fehlende Labels Fehlende Labels können in ARCEDIT digitalisiert werden. Wenn z.b. labelerrors in Arc 2 als Fehler ausgegeben hat, kann Arcedit: ef poly Arcedit: sel gomera# = 2 /* Fehlerhaftes Polygon Arcedit: ef label Arcedit: add Dabei sollte man darauf achten, keine doppelten Labels zu vergeben: 53

104 Kapitel 3. Erstellen der raumbezogenen Datengrundlage doppelte Labels Doppelte Labels müssen ausgewählt und gelöscht werden Arcedit: ef label Arcedit: sel Arcedit: delete Node-Fehler Pseudonodes sind Nodes, die eigentlich nicht erforderlich wären (weil von ihnen genau zwei Arcs ausgehen). Sie sind in der Regel unproblematisch und manchmal nötig (z. B. für lange Arcs mit sehr vielen Vertices, da ARC/INFO Arcs mit über 499 Vertices splittet). Dangling Nodes sind Nodes, die einen Arc nicht mit weiteren Arcs verbinden. Dies kann passieren, wenn beim Digitalisieren ein Arc zu weit bzw. zu kurz an einen Arc herangezogen wurde (außerhalb der snapdistance). In bestimmten Fällen können sie auch beabsichtigt sein, wenn sie nicht Teil eines Polygons sind, sondern z.b. Sackgassen. Vgl. hierzu auch die Abschnitte Abschnitt namens Dissolve in Kapitel 4 zu dissolve und Abschnitte Abschnitt namens Entfernen von Restflächen mit Eliminate in Kapitel 4 zu eliminate unterarc. Noch einbauen: Erzeugen der Topologie ggfs. Import/Export Transformation / Projektion (Vorbereitung der) Eingabe von Attributwerten INFO-Dateien anlegen/bearbeiten Tabellen erzeugen Bevor wir eine Tabelle erstellen können, müssen wir zunächst festlegen, welche Daten darin abgelegt 54

105 Kapitel 3. Erstellen der raumbezogenen Datengrundlage werden sollen, damit wir einerseits nicht unnötig Speicherplatz verbrauchen und andererseits alle benötigten Werte darin speichern können. INFO speichert seine Daten in Zeilen mit fester Feldlaenge. Wurde also beispielsweise ein Textfeld mit einer Laenge von 20 Zeichen definiert, so wird dieser Platz für jeden Datensatz gebraucht, unabhängig davon, ob dieses Feld mit einem Wert belegt ist. Daher beginnen wir mit einer kurzen Zusammenstellung der wichtigsten Datenformate in Info. Weitere Informationen finden sich in der Online-Hilfe zu define. Feldtyp interne Länge Beschreibung B (binär) 1-4 bytes Zahl, die als binärer Integer gespeichert wird C (Zeichenkette) bytes Zeichenkette mit fester Länge D (Datum) 8 bytes Internes Datumsformat: JJJJMMTT. Das Ein- und Ausgabeformat ist vom Benutzer definierbar. F (Fließkomma) 4-8 bytes Als Fließkomma gespeicherte Zahl I (Integer) 1-16 bytes Integer. Es sind keine Kommastellen zulässig. Info speichert Integer als Zeichenketten Beim Erstellen der Tabelle muß man beachten, daß keine von ARC/INFO verwendeten Dateiendungen verwendet werden dürfen (z.b..aat,.pat,.tic,.bnd,.tat,.txt,.nat,.add usw.). Wir rufen dazu zunächst Info auf: Arc: info INFO EXCHANGE CALL 01/07/ :07:13 INFO /11/ * 5 Copyright (C) 1994 Doric Computer Systems International Ltd. All rights reserved. Proprietary to Doric Computer Systems International Ltd. US Govt Agencies see usage restrictions in Help files ENTER USER NAME>ARC Dort erstellen wir eine neue Datei namens bonutz.dat und definieren ihre Feldeigenschaften. Die Felder haben alle feste Längen: ENTER COMMAND >DEFINE BONUTZ.DAT ITEM NAME, WIDTH [OUTPUT WIDTH] TYPE [DECIMAL PLACES] [PROT.LEVEL] 1 ITEM NAME>BO_NUTZ_TR-ID Die Länge gibt an, mit wieviel Bytes pro Datensatz dieses Feld angelegt wird: ITEM WIDTH>4 ITEM OUTPUT WIDTH>5 ITEM TYPE>B 55

106 Kapitel 3. Erstellen der raumbezogenen Datengrundlage 5 5 ITEM NAME>BN-CODE ITEM WIDTH>3 ITEM OUTPUT WIDTH>3 ITEM TYPE>I 8 10 ITEM NAME> /* einfaches Return beendet den Dialog ODD RECORD LENGTH ROUNDED UP TO EVEN Die richtige Eingabe der Feldeigenschaften kann über items kontrolliert werden. 5 ENTER COMMAND > ITEMS DATAFILE NAME: BONUTZ.DAT 07/01/ ITEMS: STARTING IN POSITION 1 COL ITEM NAME WDTH OPUT TYP N.DEC ALTERNATE NAME 1 BO_NUTZ_TR-ID 4 5 B - 5 BN-CODE 3 3 I - Nun wählen wir die Datei aus, um sie zu bearbeiten: ENTER COMMAND >SEL BONUTZ.DAT 0 RECORD(S) SELECTED Wir möchten die bisher noch leere Tabelle mit Datensätzen füllen: ENTER COMMAND >ADD 1 BO_NUTZ_TR-ID>0 BN-CODE>0 5 2 BO_NUTZ_TR-ID>1 BN-CODE>100 3 BO_NUTZ_TR-ID>2 10 BN-CODE>200 4 BO_NUTZ_TR-ID>3 BN-CODE> BO_NUTZ_TR-ID> /* einfaches Return zum Beenden der Eingabe 4 RECORD(S) ADDED Das Ergebnis können wir in INFO überprüfen: ENTER COMMAND >LIST $RECNO BO_NUTZ_TR-ID BN-CODE

107 Kapitel 3. Erstellen der raumbezogenen Datengrundlage ENTER COMMAND >Q STOP Oder auch in Arc: Arc: list bonutz.dat Record BO_NUTZ_TR-ID BN-CODE Attributdateien über joinitem verbinden Die fertige externe Tabelle können wir nun mit joinitem an die Attributtabelle anhängen: Arc: usage joinitem Usage: JOINITEM <in_info_file> <join_info_file> <out_info_file> <relate_item> <start_item> {LINEAR ORDERED LINK} Mit unseren Beispieldaten sähe dies folgendermassen aus: Arc: joinitem bo_nutz_tr.pat bonutz.dat bo_nutz_tr.pat bo_nutz_tr-id bo_nutz_trid Joining bo_nutz_tr.pat and bonutz.dat to create bo_nutz_tr.pat Mit angefügtem Feld aus der Datentabelle sieht die Polygonattributtabelle nun so aus: Arc: list bo_nutz_tr.pat Record AREA PERIMETER BO_NUTZ_TR# BO_NUTZ_TR-ID BN-CODE [...]

108 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Relate erzeugen Um ein Relate zu definieren, erzeugen wir zunächst eine externe Tabelle, auf die über relate zugegriffen werden soll: Arc: info INFO EXCHANGE CALL 01/07/ :08:37 INFO /11/ * 5 Copyright (C) 1994 Doric Computer Systems International Ltd. All rights reserved. Proprietary to Doric Computer Systems International Ltd. ENTER USER NAME>ARC ENTER COMMAND >DEFINE BONUTZ.LUT 10 ITEM NAME,WIDTH [OUTPUT WIDTH],TYPE [DECIMAL PLACES] [PROT.LEVEL] 1 ITEM NAME>BN-CODE ITEM WIDTH>3 ITEM OUTPUT WIDTH>3 15 ITEM TYPE>I 4 ITEM NAME>NUTZUNGSART ITEM WIDTH>14 ITEM OUTPUT WIDTH>15 20 ITEM TYPE>C 18 ITEM NAME> /* einfaches Return zum Beenden ODD RECORD LENGTH ROUNDED UP TO EVEN 25 ENTER COMMAND >SEL BONUTZ.LUT 0 RECORD(S) SELECTED Diese Tabelle füllen wir nun mit Werten: ENTER COMMAND >ADD 1 BN-CODE>100 NUTZUNGSART>Weideland 5 2 BN-CODE>200 NUTZUNGSART>Oedland 3 BN-CODE> NUTZUNGSART>verlassen 4 BN-CODE>400 NUTZUNGSART>Sonderkulturen 5 58

109 Kapitel 3. Erstellen der raumbezogenen Datengrundlage 15 BN-CODE>500 NUTZUNGSART>Ackerbau 6 BN-CODE>600 NUTZUNGSART>Forstwirtschaft 20 DATA TOO WIDE FOR ITEM /* unsere maximale Breite: 14 Zeichen NUTZUNGSART>Forst 7 BN-CODE>700 NUTZUNGSART>bebaut 25 8 BN-CODE> /* Return 7 RECORD(S) ADDED Relates sind zunächst nur temporär und können interaktiv angelegt werden. Sollen sie in einer späteren Sitzung wiederhergestellt werden, so müssen sie als Info-Datei gespeichert werden. Arc: list bonutz.lut Record BN-CODE NUTZUNGSART Weideland Oedland verlassen Sonderkulturen Ackerbau Forst bebaut 10 Arc: relate add Relation Name: bodnutz Table Identifier: bonutz.lut Database Name: info 15 INFO Item: bn-code Relate Column: bn-code Relate Type: ordered Relate Access: rw Relation Name: /* Return, falls kein weiteres Relate folgt 20 Arc: relate list Relate Name: BODNUTZ Table: bonutz.lut Database: info Item: BN-CODE 25 Column: bn-code Relate Type: ORDERED Relate Access: RW Diese Verbindung sollte man zunächst abspeichern: Arc: relate save relations 59

110 Kapitel 3. Erstellen der raumbezogenen Datengrundlage 1 Relates saved to file relations Damit ist dieses Relate auch zwischen den Sitzungen in einer Info-Datei abgespeichert. Nun kann man zum Beispiel unter ArcPlot eine Liste ausgeben, die die Datensätze der beiden Tabellen temporär zusammenführt. Arc: ap Copyright (C) Environmental Systems Research Institute, Inc. All rights reserved. ARCPLOT Version (Thu Feb 6 23:26:50 PST 1997) 5 Arcplot: list bo_nutz_tr poly bn-code bodnutz//nutzungsart Record bn-code bodnutz//nutzungsart 1 0 *************** Oedland Weideland verlassen Sonderkulturen bebaut Ackerbau Sonderkulturen bebaut Sonderkulturen Oedland bebaut verlassen Sonderkulturen bebaut bebaut Erstellen der Geometrie/Rohdaten in ARCEDIT Grundfunktionen EditTools stellt verschiedene Funktionen des ARCEDIT-Moduls zur Verfügung, die z.b. zum Erstellen und Editieren von Coverages und den zugehörigen beschreibenden Daten benutzt werden können. Das Hauptmenü enthält neben Help fünf Pulldownmenüs. Das erste heißt Arctools und enthält ebenso wie File grundsätzliche Funktionen und erscheint daher in MapTools und CommandTools in sehr ähnlicher Form. Daher werden die Einträge des ArcTools-Pulldownmenüs nur an dieser Stelle ausführlich beschrieben: 60

111 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Commands... Change workspace... Manage Coverages... Manage Info Tables... Relates... Tool browser... Quit ermöglicht interaktiv die Verwendung von ARCEDIT-Kommandos (in den anderen Menüs die Befehle der entsprechenden Module) wechselt das Workspace verwaltet Coverages verwaltet INFO-Tabellen entsprechen virtuellen Joins zu Tabellen. Damit lassen sich Zusatzinformationen in- oder externer Datenbanken verfügbar machen. Zeigt Kurzbeschreibung, Hilfe und Quelltexte von AML- oder Menu-Files an. beendet Edit Tools. In dem Pulldownmenü File befinden sich die üblichen Befehle wie das Erstellen eines neuen Coverages oder einer neuen Datentabelle mit New..., bzw. das öffnen schon existierender mit Open... Mit Remove... werden die entsprechenden Coverages oder INFO-Tabellen ohne Speichern der Veränderungen vor dem letzten Save... oder Save as... geschlossen. Das Kopieren, Umbenennen und Löschen von Coverages und Workspaces darf nur in ARC/INFO und nicht auf Betriebssystemebene erfolgen, damit die entsprechenden Angaben der zu jedem Workspace gehörigen Dateien im INFO-Verzeichnis korrekt mitgeführt werden. In diesen sind nämlich z.b. die Pfadangaben zu den Coverage-Dateien gespeichert. Diese Funktionen stehen auf der Kommandozeilenebene mit copy, rename, kill und copyworkspace zur Verfügung. Unter ARCTOOLS findet man die entsprechenden Befehle sowohl in EditTools als auch in MapTools oder GridTools unter Handling Coverages. Die CommandTools stellen unter Edit folgende Befehle über Menüeinträge bereit: Topology... Build features Eliminate Dissolve Region clean Region dissolve Drop features Create labels Centroid labels Renumber nodes 61

112 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Coordinates... Transform coverage Project coverage Define projection INFO tables... Add from ASCII Add items Alter item display Calculate Define table Drop items Drop features Edit tables Extract items Index items Join items Redefine items Rename items External DBMS... Connect Column info Show tables SQL statement SQL builder INFO -> DBMS DBMS -> INFO Image... Rectify Register 62

113 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Cogo... New COGO coverage Add COGO items Arcs to COGO arcs Calculate legal Cover to COGO cover Remove COGO items Convert field data Create COGO covers EditTools ArcTools Manage Coverages /Coverage Manager Werden nur Coverages eines bestimmten Feature Types gewünscht, können diese ausgewählt werden. Dabei ist zu beachten, daß ein Coverage selbst ein Unterverzeichnis ist und deshalb zwei Spalten erscheinen, in denen die Namen der Verzeichnisse gleich sind. Wird ein Coverage gewählt, kann auch der Inhalt des zugehörigen INFO-Feature-Tables aufgelistet werden (List Table), oder seine Struktur durch Item Info (= Variablendefinition) angezeigt werden. Zunächst erläutern wir anhand von bereits bestehenden Coverages die Grundfunktionen von AR- CEDIT bzw. ARCTOOLS. Bevor wir in ARCEDIT wechseln, orientieren wir uns in ARC über die vorhandenen Daten: Arc: listworkspaces /* ARC/INFO-Arbeitsverzeichnisse anzeigen List of workspaces at location: /DATA/MONTANA 5 Available workspaces ADMIN GARFIELD Arc: listcoverages 10 Workspace: /DATA/MONTANA EX3 Available Coverages FORESTTOWN INDTOWN LANDUSE LUTOWNS 15 TOWNS Items cover Der nach oben zeigende Pfeil in der linken oberen Ecke wechselt in das nächsthöhere Verzeichnis. workspace.. 63

114 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Die entsprechenden ARC-Kommandos lauten copy, rename, describe und kill. Die Syntax für die Kommandozeile liefert wie erwähnt usage Befehl. EditTools ArcTools Manage Coverages /Coverage Manager Usage: RENAME <old_geo_dataset> <new_geo_dataset> Rename Das folgende PopUp Fenster erscheint z.b. wenn man ein Coverage auswählt und dann die Schaltfläche Describe drückt. EditTools ArcTools Manage Coverages Abbildung 3-9. Describe Coverage Popup Coverage Manager Describe öffnen eines Coverages Zunächst muß das Coverage geöffnet und dabei die zu editierende Feature Class angegeben werden. Dies geschieht durch EditTools File Open Coverage Das Menü Select an Edit Coverage erscheint. 64

115 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Select an Edit Coverage Menü Existiert noch kein zu bearbeitendes Coverage, kann auch ein völlig neues erstellt werden (siehe weiter unten und vergleiche Kapitel Kapitel 3). Darstellung der Editiergrundlage Unter Display werden die in Draw Environment... angegebenen Feature classes durch Draw... auf dem Bildschirm dargestellt. Mit Back Environment... können noch weitere Coverages oder z.b. ein (Satelliten-)Bild als Hintergrund unterlegt werden (z.b. um die Orientierung während des Editierens zu erleichtern). EditTools Display Draw Environment (General) Sollen beispielsweise zusätzlich die Dangling Nodes angezeigt werden, muß Dangle Apply Cancel gewählt werden. Cancel läßt dabei nur das Menü wieder verschwinden. Das Aussehen (Farbe, Größe,...) der editierten Feature Types kann durch Change symbolset... geändert werden. Dies ist ebenso wie die Zoom-Werkzeuge Pan Zoom... ein auch in anderen Tools MapTools) an verschiedenen Stellen auftauchender Menüpunkt. 65

116 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Change Symbolset Menü EditTools Display Change Symbolset Hintergrundcoverages und -bilder Als Hintergrundbilder können Coverages des Gebietes (backcoverage) oder Pixelgraphiken wie Satellitenbilder (backimage) angegeben werden. Bedingung ist jeweils, daß eine Georeferenzieung über Tics vorliegt, die dem zu bearbeitenden Coverage entspricht. Hintergrundcoverages dienen nur der Orientierung und können nicht editiert werden. Allerdings können die Features in Hintergrundcoverages als Schnappobjekte dienen, auf deren Koordinaten die editierten Objekte des Hauptcoverages zusammenschnappen. Die Standardeinstellung für Hintergrundgraphiken ist ein Grauwertbild. Der Integer-Wert gibt an, welches Band eines Multiband-Bildes selektiert wird. Es besteht aber auch die Möglichkeit, mehrere Farbbänder von Satellitenbildern gleichzeitig anzuzeigen. Dazu wird Composite gewählt. Hier kann bestimmt werden, welches Band im roten, grünen oder blauen Kanal visualisiert wird. Bei Coverages werden wie beim General Draw Environment auch die jeweiligen Features einzeln aktiviert oder deaktiviert. EditTools Display Draw Environment (Back) Mit New... können jeweils weitere Hintergrundcoverages oder -bilder über einen Dateiauswahldialog ausgewählt werden. EditTools EditTools Display Display Back Object Environment (Image) Back Draw Environment (Image) Add Image Auswahl der zu editierenden Elemente Die eigentlichen Editierbefehle finden sich im Edit Menü. Mit Change Edit Feature... muß zunächst die zu editierende Feature Class bestimmt werden. Je nach Wahl derselben erscheint unter Feature Edit Menu... ein passendes Edit... Menü. Auf deren Handhabung gehen wir später ein. 66

117 Kapitel 3. Erstellen der raumbezogenen Datengrundlage EditTools Edit Change Edit Feature Graphische Auswahl Durch Graphic selection... kann man das aktuelle Eingabemedium für Koordinaten (z.b. Maus oder Digitizer) zur Auswahl der am Schirm verfügbaren Features benutzen. EditTools EditTools Edit Edit Graphical Selection Graphical Selection More Die durch die Abfrage ausgewählten Features werden in Abhängigkeit von der Wahl der Optionen (New, Add to, Subset, Remove) zu einer Menge schon ausgewählter Features hinzugefügt (Add to), oder bilden eine Untermenge schon gewählter Features (Subset). Mit New wird eine völlig neue Menge von Features ausgewählt, während Remove die neu gewählten Features von einer vorherigen Auswahl entfernt. Logische Auswahl Sollen die Features dagegen durch logische Verknüpfungen selektiert werden, kann dies durch Attribute selection... geschehen. Dazu müssen natürlich Variablen mit Ausprägungen vorhanden sein. Die zugehörige Attributtabelle (Feature Attribute Table) wird bei der Erzeugung der Topologie (vgl. Build, Clean) erstellt. Im Prinzip können beliebig komplexe logische Abfragen als Auswahlkriterium spezifiziert werden. Als Operanden dienen die Attribute im Feature Attribute Table oder direkt eingegebene numerische Werte. EditTools Edit Logical Selection Als logische Operatoren sind gleich (eq), ungleich (ne), größer(gleich) (gt), kleiner(gleich) (lt) und für Text (Characterstrings, Zeichenketten) Enthaltensein (CN, contain), Nichtenthaltensein (NC, not contain) oder IN für Enthaltensein in einer Menge numerischer Konstanten oder Charakterstrings verfügbar. Durch die Boolschen Operatoren Und (AND), Oder (OR) und Exklusives Oder (XOR) können zusammengesetzte Abfragen formuliert werden. Editieren oder Erzeugen eines Coverages Zunächst muß das Coverage unter Angabe der zu editierenden Feature Class geöffnet werden. Dies geschieht durch: EditTools File Open Coverage Das Menü Select an Edit Coverage erscheint. Existiert noch kein zu bearbeitendes Coverage, kann ein neues erstellt werden. Die Eingabe der Features kann dann wie unter Digitalisieren oder Digitalisieren am Bildschirm beschrieben geschehen. 67

118 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Zunächst benötigt das Coverage einen Namen. Der Feature Typ muß gewählt werden. Optional ist ein Source Coverage anzugeben, von dem die Geometrieinformationen übernommen werden. Wichtig ist das Erstellen der Tics. Standardmäßig werden sonst die TIC-Ids 1 bis 4 und die Eckkoordinaten 0,0 bis 1,1 vergeben. Im Add Tics Menü können nun beutzerdefinierte Kennummern (IDs) und Koordinatenwerte für die mindestens vier Tics eingeben werden. Dies kann numerisch über die Tastatur oder graphisch per Maus oder Digitizer geschehen. Editieren von Arcs Wurde ein zu editierendes Coverage (Editcoverage) erstellt oder ausgewählt, erscheint für die Feature Class Arc das Edit Arcs and Nodes Menü. Für die entsprechenden anderen Feature Classes erscheinen ähnliche Menüs, die weiter unten gezeigt werden. Zum Einfügen neuer Arcs wird Add gewählt. Nun kann am Bildschirm mit der Maus digitalisiert werden (analog zum Arbeiten mit Puck am Digitalisierbrett). Die Umsetzung der Digitalisierpucktasten auf die Maus-Tastatur-Kombination wird in Abbildung amausdig veranschaulicht. Abbildung Erweiterte Maustastenbelegung zum Digitalisieren Mit dem rechten Mausknopf (auf dem Digitizer-Puck die Taste 2) wird der Anfangsnode an einer gewünschten Stelle in dem angezeigten Coverage gesetzt. Mit dem mittleren Mausknopf (Taste 1 auf dem Digitalisierpuck) setzt man den Verlauf des Arcs durch Festlegen der Vertices (vgl. Kapitel 3) als Zwischenpunkte fest. Das Ende des Arcs wird wiederum durch Druck des linken Mausknopfes festgelegt. Nun kann an anderer Stelle ein erneuter Anfangsnode gesetzt werden. Der Add-Vorgang wird durch Eingabe einer 9 auf der Tastatur (oder strgrechte Maustaste) beendet, wie es auch im Shell- oder DOS-Fenster (unter NT) (ab jetzt einheitlich Kommando-Fenster genannt) angegeben ist. Beim Digitalisieren mittels eines Digitizers läuft im Prinzip der gleiche Vorgang ab - der Text im Kommando-Fenster ist der gleiche. Wichtig ist, daß sich bei der Eingabe der im Kommando-Fenster beschriebenen Optionen (z.b. 9 für Ende), die Maus auf dem Zeichenbildschirm befinden muß, um 68

119 Kapitel 3. Erstellen der raumbezogenen Datengrundlage wirksam werden zu können. Bei sämtlichen folgenden ARCEDIT-Funktionen sollte der Text im Kommando-Fenster genau beachtet werden, da mehrmals Tastatureingaben erwartet werden. Edit Tools File Open/New Coverage Der gesamte Editiervorgang besteht aus einem Wechselspiel zwischen den Auswahl-Menüs (logische bzw.~graphische Selektion) und dem eigentlichen Edit-Menü, in dem die Editierbefehle ausgewählt werden und dem graphischen Editieren im Graphikfenster. Zusätzlich wird an einigen Stellen die Tastatur zur Eingabe von Optionen verwendet (z.b. die 9 zum Beenden eines Editiervorganges im Graphikfenster). Je nach Befehl müssen entweder nur eines, genau zwei oder beliebig viele Features ausgewählt sein damit er angewendet werden kann. Der zweite Knopf Delete im Menü wird nach demselben Prinzip benutzt. Durch ihn werden die angewählten (Feature Edit Menü) Arcs gelöscht. Besonders wichtig ist der dritte Knopf in der obersten Reihe OOPS. Er macht nach und nach bis zum letzten Speichern (Save) je einen früheren Bearbeitungsschritt rückgängig. Damit werden Transaktionen durch das Speichern eines Zustands vom Benutzer realisiert. Verschieben und Kopieren von Arcs Die zweite Reihe von Schaltern, Duplicate und Move verschiebt (die beiden letzten Schalter) Arcs, bzw. läßt den ursprünglichen Arc an seiner Stelle und kopiert einen zweiten an die gewählte Stelle. Die Pfeilrichtung auf den Knöpfen deutet an, ob diagonale oder nur Parallelverschiebungen zur Seite erlaubt sind. Die meisten der komplexeren Editierfunktionen dieses Menüs benötigen zum Gebrauch etwas Erfahrung, die am besten durch häufiges Probieren gewonnen wird. Durch etwas Kreativität ist fast jedes gewünschte Resultat erreichbar. Editieren von Nodes ähnliches gilt für die Nodes. Es sind jeweils die bei den einzelnen Funktionen erscheinenden Optionen im Kommandofenster zu beachten. Beispielsweise erfolgt das Verschieben eines Knoten über dessen Selektion und einer nachfolgenden Eingabe der Ziffer 4 über die Tastatur. Erst dann kann der Zielpunkt des Knotens mit der Maus angeklickt werden. Die Ziffer 4 kann auch über gleichzeitiges Drücken der Shift-Taste und der der mittleren Maustaste aktiviert werden (vgl. Abb. amausdig). 69

120 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Das Edit-Menü Zum Einfügen eines neuen Knotens (Node) muß ein Arc gewählt sein. Dann kann der 1. Knopf unter Edit Nodes gedrückt und schließlich die Position des einzufügenden Arcs angeklickt werden. Das Herausnehmen eines überflüssigen Knotens ist nur möglich, wenn bestimmte Einstellungen im Edit-Environment-Fenster entsprechend eingestellt sind. Hier muß bei Unsplit Item OFF gewählt werden, da das Herausnehmen nur möglich ist, wenn die beiden selektierten Arcs dieselbe ID (allgemeiner: die gleichen Ausprägungen bzgl. der aktiven Variablen) aufweisen. Weitere Editierfunktionen Weitere Editierfunktionen finden sich im Menü More Arc Editing, das erscheint, wenn im Menü Edit Arcs and Nodes auf die Schaltfläche More Arc Editing gedrückt wird. EditTools EditTools Region File File Open Edit Coverage (Arc) Open Edit Coverage (Arc) Edit Arcs and Nodes Edit Arcs and Nodes More Arc Editing More Arc Editing Create 70

121 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung More Arc Editing Menü Wird im Menü More Arc Editing auf die Schaltfläche Create Region gedrückt, kann mit dem folgenden Menü eine Region Subclass definiert werden. Dazu wird der neue Subclass Name in das entsprechende Feld eingetragen und eine ID angegeben. Apply überträgt den Namen in die Subclass- Liste. ändern der Geometrie Weiterhin gibt es verschiedene Möglichkeiten die Eigenschaften eines Arcs zu verändern. Unter Modify Shape befinden sich z.b. Funktionen, um eine Kurve zu vereinfachen, d.h. zu glätten, indem überflüssige Zwischenpunkte (Vertices) aus dem Arc herausgenommen werden. Dies wird z.b. bei Generalisierungen, zur Verminderung des Speicherbedarfs oder der Erhöhung der Geschwindigkeit verwendet. Es können selbstverständlich auch zusätzliche Vertices eingefügt werden. Editieren von Vertices Unter More Arc Editing finden sich die Schaltflächen für die entsprechenden Befehle zum Editieren von Vertices. Es besteht die Möglichkeit, diese einzeln zu verschieben, zu löschen oder hinzuzufügen. Rotate and Snap Die Schaltfläche Rotate and Snap auf dem Menü Edit Arcs and Nodes öffnet das Menü Rotate and Snap, in dem einzelne Arcs rotiert werden können, in dem vor allem aber auch verschiedene Möglichkeiten bestehen, um interaktiv Nodes aufeinander, bzw. Arcs und Nodes etc. aufeinander schnappen zu können, indem z.b. Radien angegeben werden, innerhalb derer z.b. benachbarte Nodes aufeinanderschnappen und verschmelzen sollen. 71

122 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Optionen beim Node to Arc Snapping EditTools File Open Edit Coverage (Arc) EditTools File Open Edit Coverage (Arc) Arc (Nove & Snap) Edit Arcs& Nodes Edit Arcs& Nodes Rotate and Snap Rotate & Snap Statt wie sonst (siehe oben) werden die Optionen nicht über das Standard-Eingabefenster (die Shell) abgefragt, sondern es wird ein eigenes PopUp-Fenster angezeigt. Der Effekt und die über die Tastatur einzugebenden Optionen sind dieselben). Node- Editieren anderer Feature Classes Die anderen Feature Classes eines Coverages haben ihre eigenen Edit... Menüs, wobei die Funktionalität sehr ähnlich, aber meist eingeschränkter ist. Typische Befehle sind das Hinzufügen, Löschen, Kopieren, Verschieben etc. ausgewählter Geometrieelemente. Ausserdem können mittels des Table Editors die zugehörigen Attribute inspiziert und verändert werden. Man gelangt zu den einzelnen Menüs in EditTools entweder indem man ein Coverage mit der entsprechenden Feature Class und der korrespondierenden Option öffnet, oder in EditTools Edit Change Edit Feature die aktuelle Feature Class eines geöffneten Coverages ändert. Außerdem besteht meist die einfache Möglichkeit, die aktuelle Auswahl in ein anderes Coverage (Put to Cover) zu speichern oder aus einem anderen Coverage Objekte zu laden (Get from Cover). EditTools File EditTools File Editor Edit EditTools Env File Open EditCover/New Cover Open EditCover/New Cover Open EditCover/New Cover Change Edit Feature Change Edit Feature Change Edit Feature Label Label -Edit Label Label -Edit Label Table Edit 72

123 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Arc Environment Menü EditTools Open EditCover/New Cover Change Edit Feature Tics EditTools Open EditCover/New Cover Editor Edit Change Edit Feature Tic -Edit Tics Table EditTools Open EditCover/New Cover Change Edit Feature Poly Fehlerbereinigung Normale Nodes Pseudo Nodes Dangling Nodes Pseudo Nodes Pseudo Nodes werden durch eine Raute dargestellt. Sie repräsentieren Nodes von in sich geschlossenen Arcs (Inseln) oder entstehen, wenn nur zwei Arcs miteinander verbunden werden. 73

124 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Arcs mit Dangling Nodes Dangling Nodes zeigen mögliche Digitalisierfehler wie zu kurz oder zu lang geratene Abschnitte bei Polygonen an. Sie werden durch Quadrate gekennzeichnet. Natürlich kann solch ein sogenannter undershoot (Arc, dessen Endpunkt nicht mit weiterem Arc verbunden ist, sondern kurz davor endet) oder overshoot (Arc, der einen anderen Arc schneidet und darüber hinaus weiter verläuft) auch Absicht sein, z.b. bei der Digitalisierung von Sackgassen. Under/Overshoots Undershoots und Overshoots als Speziallfälle von Arcs and Nodes wurden im Kapitel Kapitel 3 schon erwähnt. Diese Digitalisierfehler können durch die hier angegebenen Funktionen bereinigt werden. Hierbei ist jedoch große Vorsicht geboten. Man muß beachten, welche Arcs (oder anderen Features) tatsächlich ausgewählt sind und wie die Toleranzen eingestellt sind, damit nicht zu viel oder zu wenig bereinigt wird (zur Einstellung der Toleranzen vgl. unten). Fehlende Nodes bei über- Kreuz-Digitalisierung von Arcs können eingesetzt werden (3. Knopf). Dies wird automatisch mit dem Topologiebefehl clean bewerkstelligt. Generell gilt es bei clean erst die eingestellten Toleranzen zu überprüfen, damit keine ungewollten änderungen am Coverage durch das Aufeinanderschnappen von Features entstehen (s.u.). Bei wenigen Fehlern ist es vielleicht sicherer, diese nacheinander selbst zu bereinigen, statt eine automatische Korrektur vorzunehmen. Toleranzen Es existieren mehrere Toleranzen, die z.b. das Aneinanderschnappen zusammengehöriger, aber ungenau digitalisierter Nodes o.ä. innerhalb eines gewissen Fangradius (Snap Distance) erlauben. Diese 74

125 Kapitel 3. Erstellen der raumbezogenen Datengrundlage können individuell angepaßt werden. Das Environment-Properties-Fenster erscheint bei Betätigung von Edit Env in der linken unteren Ecke des Edit-Fensters. Wie schon ausgeführt, werden nur die Koordinaten für die Feature Classes Arc, Label Point, Annotation, Tic, Link und Coverage Extent explizit gespeichert. Im Gegensatz dazu werden Polygons, Routes und Sections topologisch definiert. In vielen Anwendungen ist ist die Genauigkeit der Koordinaten von besonderer Bedeutung. Die Koordinaten können entweder als einfach-genaue reelle Zahlen mit sechs oder sieben signifikanten Stellen oder solchen mit doppelter Genauigkeit, normalerweise 13 bis 14 Stellen, benutzt werden. Bei der Durchführung einer GIS-Analyse muß der Frage der Datenqualität besondere Beachtung geschenkt werden. Maßstabsfragen, Digitalisiergenauigkeit und viele weitere Punkte spielen eine Rolle. Sie können das Ergebnis erheblich beeinflussen. Verschiedene, sich summierende Fehlerquellen können die Genauigkeit und damit die Aussagekraft von Daten stark vermindern (vgl. Kap. Kapitel 1). Es muß daher überprüft werden, ob durch Speicherung der Koordinaten in doppelter Genauigkeit eine objektiv nicht gegebene Genauigkeit vorgetäuscht wird, wenn die Auflösung der einzelner Datenquellen weit darunter liegt. Beim Erstellen eines Coverages wird eine Anzahl von Toleranzgrenzen gesetzt. So z.b. bei der Festlegung der Genauigkeit der Tic-Koordinaten, beim Digitalisieren und Editieren, oder wenn zwei Nodes nachträglich zusammengeschnappt werden etc. Damit wird also schon während der Erstellung eines Coverages auf die Genauigkeit der gesamten Analyse Einfluß genommen. Andererseits ist das Editieren großer Coverages ohne gewisse Toleranzen zur Automatisierung einzelner Editiervorgänge kaum möglich. Diese Toleranzen werden in eigenen Dateien gespeichert. Sie heißen TOL bei einfacher und PAR bei doppelter Genauigkeit. Folgende Begriffe werden immer wieder in Optionen vieler Editier- und Analysebefehle auftauchen: Fuzzy Tolerance Diese Toleranz definiert den kleinsten Abstand zwischen Arc-Koordinaten in einem Coverage, d.h. die minimale Distanz zwischen zwei Punkten (sowohl Nodes als auch Vertices). Die Werte müssen größer Null sein. Es existiert folgende Rangfolge: Zuerst gilt die Toleranz aus der TOL-Datei des Coverages. Existiert diese nicht und liegen die Extremwerte des Coverages (Boundary) zwischen 1 und 100 wird automatisch ein Fuzzy Tolerance Wert von (inch) eingesetzt. Sind die Werte in der BND-Datei größer als 100, so wird die maximale Weite der BND-Werte durch dividiert. Grain Tolerance Bei Interpolation eines Linienzuges in der Ebene durch Splines gibt die Grain Tolerance die Entfernung zu den äquidistanten Interpolationspunkten an. 75

126 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Weed Tolerance Die Weed Tolerance gibt die minimale Entfernung zwischen den Vertices eines Arcs an. Als Voreinstellung wird 1/1000 der maximalen Ausdehnung (Höhe oder Breite) der BND verwendet. Sie findet z.b. beim Ausdünnen von Arcs (z.b. bei Generate) Verwendung. Nun können die Werte für die unterschiedlichen Toleranzen eingegeben werden. Diese werden zusammen mit dem Coverage gespeichert und bei späteren Editsitzungen des Coverages wieder aufgerufen. Mittels der Fadenkreuzknöpfe in der Mitte des Fensters kann z.b. die Node Snap Distance mit der Maus auf dem Grafikfenster durch Aufziehen eines Kreises eingestellt werden (rechte Maustaste). EditTools Edit Arcs Nodes Edit Environment Mit dem Tracing Environment wird die Umgebung für das Vektorisieren von Grids eingestellt. EditTools Edit Arcs and Nodes Trace Environment Vergabe von Kennummern Im Folgenden wird kurz das Editieren der zu einer Geometrie gehörigen Attribute erläutert. Sollen für einzelne ausgewählte oder alle Features (im Beispiel hier: Arcs, entsprechendes gilt aber auch für die anderen Feature Types) Attribute verändert werden, so kann im Edit Arcs and Nodes Menü (bzw. dem entsprechenden Edit Menü für die anderen Feature Typen (z.b. Polygons, Tics) auf den Schalter Table Editor unter der überschrift Attributes gedrückt werden. Falls schon Attribute für den jeweiligen Feature-Typ existieren, erscheint das Menü Table Editor. Abbildung aatedit zeigt das entsprechende Menü für einen Arc Attribute Table (AAT). Abbildung Das Table Editor (AAT) Menü Wenn stattdessen eine Warnung erscheint, muß zuvor noch die Topologie - und damit die entsprechende Tabelle - erzeugt werden (vgl. Kapitel kdatgr). Zunächst müssen über die bekannten Auswahlverfahren (z.b. graphische Selektion) die zu bearbeitenden Features (hier Arcs) in die aktuelle Auswahlliste aufgenommen werden. Nun können im Table Editor Menü über List die Ausprägungen der Attribute der ausgewählten Features (hier Arcs) angezeigt werden. EditTools OpenCoverage Edit Arcs and Nodes Table Editor List 76

127 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Der Schalter Edit erlaubt es, die Werte dieser Sachattribute zu editieren. Ausgenommen sind die vom System errechneten Attribute, wie z.b. die Länge. Dies kann z.b. dazu genutzt werden, den einzelnen Arcs benutzerdefinierte IDs oder sonstige Variablenausprägungen interaktiv zuzuweisen. EditTools Open Coverage Edit Arcs and Nodes Table Editor Dabei wird zunächst der Arc (um im Beispiel zu bleiben) mit der niedrigsten internen ID aktiviert. Seine Variablen (Items in der AAT) stehen damit zum Verändern zur Verfügung und er wird im Grafikfenster gelb hervorgehoben, sodaß man sieht, welchen Arc man gerade bearbeitet. Mit der return- Taste springt man zum nächsten Arc und kann diesen bearbeiten. So können der Reihe nach alle Arcs (allgemeiner Features) in der aktuellen Auswahlliste editiert werden. Add macht die änderungen in der Tabelle wirksam. Bei calc kann nur ein einzelner Wert pro Variable eingegeben werden. Allen gerade ausgewählten Features wird mittels calc der gleiche Wert zugewiesen. EditTools OpenCoverage EditArcs & Nodes Table Editor Wie schon erwähnt, können die anderen Feature Types über entsprechende Table Editor Menüs editiert werden. Calc Edit Speichern einer Edit-Sitzung als Makro Die gesamte Edit-Sitzung kann auch als AML-Makro abgespeichert werden. Dazu gibt es einen Makro-Recorder, der die einzelnen durchgeführten Befehle mitprotokolliert und im Klartext einschließlich ihrer Optionen in einer ASCII-Text-Datei speichert. Dies ermöglicht die bequeme Automatisierung von Standardaufgaben, indem wiederkehrende Befehlsfolgen als Makro ausgeführt werden können. Die Datei kann in einem normalen Texteditor bearbeitet werden, um das Makro allgemein nutzbar zu machen oder an spezielle Bedürfnisse anzupassen. Es können z.b. Variablen für Dateinamen automatisch vergeben oder als Argument beim Aufruf des Makros übergeben werden. Neben der reinen Wiedergabe einer Abfolge von Befehlen beinhaltet die Arc Macro Language Elemente höherer Programmiersprachen wie Bedingungen oder Schleifen, sodaß man auch selbständig Programme erstellen kann. Eine Einführung in die Programmierung mit AML bietet Kapitel Kapitel 9. Erzeugen der Topologie Nach der Erstellung einer fehlerfreien Koordinatengrundlage muß die Topologie erzeugt werden. Diese wandelt die entsprechenden Feature-Typen, z.b. die Linienelemente in Polygone um und stellt die räumlichen Beziehungen zwischen ihnen her. Damit räumliche Nachbarschaftsabfragen oder Netzwerkanalysen möglich sind, müssen - wie im Kapitel Kapitel 3 dargestellt - z.b. zu jedem Arc die sich rechts und links davon befindlichen Polygone explizit gespeichert werden. Diese Informationen werden in den Feature Attribute Tables verwaltet. Diese Topologie muß nach der Digitalisierung und 77

128 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Fehlerbereinigung durch Ausführen des Befehles build bzw. clean erstellt (bzw. nach Veränderungen durch Editieren wiederhergestellt) werden. Sowohl Build als auch Clean generieren die Topologie und erzeugen dabei die jeweiligen Feature Attribute Tables, setzen optional Label (das sind die Punkte, an denen z.b. die ID graphisch aufgehängt wird) und berechnen für die Polygone Umfang und Flächeninhalt (für Linien die Länge). Der Unterschied zwischen den beiden Befehlen besteht darin, daß Build ein absolut fehlerfreies Coverage voraussetzt. Findet es z.b. sich überkreuzende Arcs ohne Node am Schnittpunkt, bricht Build mit einer entsprechenden Fehlermeldung ab. Clean hingegen nimmt einige Korrekturen selbständig und im Rahmen der gesetzten Fehlertoleranzen (Dangle Length, Fuzzy Tolerance etc.) vor. Sind die eingestellten Toleranzen jedoch zu groß, können ungewollte Verzerrungen und Modifikationen des Coverages entstehen. Da in jedem Fall das Resultat sorgfältig auf Fehler untersucht werden sollte, ist das eigenhändige bewußte Editieren des Ausgangscoverages mit anschließendem sicherem build vorzuziehen. Hilfreich ist die bereits erläuterte Möglichkeit, Coverages als Hintergrundcoverages in einer anderen Farbe einzublenden. Damit treten eventuelle Veränderungen zwischen verschiedenen Bearbeitungsständen deutlicher hervor. Das Menü zur Erzeugung der Topologie findet sich unter CommandTools: CommandTools Edit Topology Eine zweite Möglichkeit befindet sich direkt in EditTools: EditTools Edit Build Bei clean können drei Optionen angegeben werden: Ausgabecoverage, Dangle Length und Fuzzy Tolerance. Die Dangle Length gibt an, bis zu welcher Größe überstehende Arcs (mit Dangle Nodes) entfernt werden. Wird ein Ausgabecoverage angegeben, so wird das bereinigte Coverage unter einem neuen Namen gespeichert, ansonsten wird das aktive Ursprungscoverage entsprechend geändert. Clean führt immer ein Intersect durch, d.h. das automatische Setzen von Nodes in die Schnittpunkte sich überkreuzender Arcs. Ist dies nicht gewünscht - z.b. bei Brücken - muß Build verwendet werden. Bei build kann das Coverage nicht umbenannt werden, sondern es wird ein entsprechender Feature Attribute Table erzeugt oder ein bestehender ersetzt. Das Verändern der IDs oder weiterer Variablen für jedes Feature erfolgt im Table Editor unter Edit, wie im vorherigen Kapitel beschrieben. Liegt schon eine Polygonstruktur vor und soll auf diese Weise auf die PAT zugegriffen werden, ist Label als das zugehörige Edit Feature zu wählen: EditTools Edit Change Edit Feature Es kann jeweils nur auf die gerade selektierten Elemente zugegriffen werden, d.h. gegebenenfalls sind zuvor alle auszuwählen. Datenaustausch zwischen ARC/INFO Systemen (Im-/Export) Wie wir bereits in den vorangegangenen Kapiteln gesehen haben, ist die Datenstruktur von ARC/INFO relativ komplex. Da Coverages in verschiedenen Dateien in jeweils eigenen Unterverzeichnissen gespeichert werden und gleichzeitig noch Verweise auf spezielle Dateien im Info-Unterverzeichnis des jeweiligen Workspaces existieren, können die Coverages nicht einfach auf Betriebssystemebene ko- 78

129 Kapitel 3. Erstellen der raumbezogenen Datengrundlage piert werden. Sollen aber Coverages (einschließlich der Sachdaten, etc.) von einem Computersystem zu einem anderen kopiert werden, oder besteht die Notwendigkeit, Coverages in eine einzelne Datei zu packen, kann dies mit dem Befehl export geschehen. Command Tools (2.Hauptmenüleiste) Conversion From Arc Export Die zu exportierenden Datenquellen müssen ausgewählt und ein optionaler Komprimierungsfaktor bestimmt werden. Das gewählte Coverage wird dann als sogenannte Export-Datei herausgeschrieben. Am sichersten - wenn auch am wenigsten Platz sparend - ist es, den Komprimierungsfaktor auf NONE zu setzen, da dann nur ein spezifisches ASCII-Format erzeugt wird. Bei voller Komprimierung wird ein binäres Format erzeugt. Es könnte u.u. auf unterschiedlichen Zielplattformen oder Versionen (z.b. ArcCad) zu Problemen beim Entpacken kommen. %%???? doch eher nicht, oder? - hoechstens bei little/big endian.-problemen Abbildung Export-Menü Auch das Programm ArcView kann mittels eines eigenen Import-Tools e00-dateien einlesen. Die Größe der Austauschdatei kann durch die Angabe einer maximalen Zahl von Zeilen begrenzt werden (z.b. um eine übertragung auf Disketten zu ermöglichen). Passen die Daten nicht in eine einzelne so begrenzte Datei, wird automatisch eine zweite Datei mit der Endung.e01 erstellt. Bei einem nachfolgendem Import auf dem Zielsystem werden alle diese Dateien.e00,.e01,.e02,... zu dem ursprünglichen Coverage zusammengesetzt. Nicht komprimierte Exportfiles sind leidlich lesbar und das proprietäre Format ist an verschiedenen Stellen im WWW weitgehend dokumentiert. 8 Der folgende Auszug eines unkomprimierten Exportfiles eines Coverages mit Double Precision gibt einen Eindruck von diesem Format. EXP 0 /HOME/ARC/SIEDLUNG.E00 ARC E E E E E E E E E E E E

130 Kapitel 3. Erstellen der raumbezogenen Datengrundlage E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E SIEDL.TIC XX IDTIC XTIC YTIC E E E E E E E E+01 EOI EOS ASCII-Schnittstelle für Vektor-Geometriedaten (GENERATE) Das über Rechnerarchitekturen und Betriebssysteme hinweg am weitesten verbreitete Datenformat ist ASCII. Durch die Befehle Generate bzw. Ungenerate können die proprietären binären ARC/INFO- Coverages in ASCII-Daten umgewandelt werden. Es werden die vom Benutzer vergebene Kennung jedes Geometrieobjektes (ID) und die zugehörigen Koordinaten mittels Ungenerate in eine ASCII-Datei geschrieben. Für Polygone ergibt sich folgende Struktur der ASCII-Datei END

131 Kapitel 3. Erstellen der raumbezogenen Datengrundlage END END Die erste Zeile beginnt mit der ID des ersten Polygons und den X- und Y-Koordinaten des dazugehörigen Labels. Danach folgen die Koordinatenpunkte des Anfangsnodes und der einzelnen Vertices (Stützpunkte) und nach dem Endnode 9 ein END zur Markierung des Endes des ersten Polygons. In der ersten Zeile steht die ID des Polygons, dahinter die X- und Y-Koordianten des zugehörigen Label-Punktes. Danach folgen die Koordinatenpaare der einzelnen Vertices, bis ein END das Ende des Polygons markiert. Das erste und letzte Koordinatenpaar jedes Polygons muß übereinstimmen und definiert den entsprechenden Pseudo-Node. Dieselbe Struktur muß eine Datei aufweisen, die mittels Generate eingelesen werden soll. Liegen die Daten in einer anderen Anordnung vor, müssen sie zunächst in diese vorgegebene Struktur gebracht werden. Dies läßt sich durch kleine Routinen in einer beliebigen Programmiersprache (z.b. Perl 10 ) gut bewerkstelligen. Die entsprechenden Dateien für Linien bzw. Punkte sehen folgendermassen aus: END END END END Bei den Liniendateien werden die Labelpunkte aus der Polygondatei nicht benötigt. Für Punktdateien müssen nur die einzelnen Punkte mit ID und x/y-koordinaten angegeben werden:

132 Kapitel 3. Erstellen der raumbezogenen Datengrundlage END END Das Menü zu Generate ermöglicht neben dem Einlesen der entsprechenden Features über eine Datei auch die interaktive Eingabe der Koordinaten durch den Benutzer. Da letzteres meist recht fehleranfällig und umständlich ist, empfehlen wir für größere Datenbestände das Einlesen über eine zuvor erstellte ASCII-Datei. Beim interaktiven Eintragen von Werten in das Menü muß jeder Eintrag (ID, X, Y) mit Return bestätigt werden. Sind alle Punkte, die eine Linie (oder ein Coverage) definieren sollen, in der Liste Coordinates for the current Line/Polygon enthalten, wird diese Linie oder dieses Polygon mit Add Line oder Add Polygon zur Liste zu erzeugender Features im Generate-Menü hinzugefügt. Wirklich erzeugt werden diese Objekte erst, wenn man im Generate-Menü OK aktiviert. Abbildung Generate-Menü 82

133 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Abbildung Generate-Menü zur manuellen Eingabe (Linien) Bei Verwendung der kommandoorientierten Version der Befehle ist die Befehlssyntax über usagebefehlsname zu erfragen oder die ausführliche Beschreibung in ARCDOC zu konsultieren. DXF-Dateien DXF ist als Industriestandardformat, welches die meisten CAD-, Kartographie- oder Grafik-Programme erzeugen oder lesen können, von besonderer Bedeutung. Daher soll diese Variante kurz erläutert werden. DXF ermöglicht es, verschiedene Geometrien nach unterschiedlichen Themen geordnet auf unterschiedlichen Ebenen, den sogenannten Layern, abzulegen. Diese DXF-Informationsebenen können direkt in unterschiedliche ARC/INFO-Coverages umgesetzt werden. CommandTools Conversion To Arc DXF Vor dem eigentlichen Umwandeln in ARC/INFO-Coverages können die DXF-Dateien graphisch angezeigt werden. Dies geschieht mittels des Knopfes ganz rechts neben der Eingabezeile für die DXF- Eingabedatei auf dem DXF-Conversion-Menü. Es werden dabei grundsätzlich alle Ebenen der DXF- Datei auf einmal visualisiert. Jede DXF-Informationsebene kann in der Liste Layers einzeln selektiert werden. Mit der Option ALL werden alle Objekte der ausgewählten Ebenen übernommen. Die Option Graphics übernimmt die reine Geometrieinformation, also Linien und Punkte der ausgewählten Ebene. Die Option Annotiation übernimmt eben diese (also textuelle Anmerkungen) und None ermöglicht das Löschen 83

134 Kapitel 3. Erstellen der raumbezogenen Datengrundlage der Ebenenauswahl. Mit der Option Everything werden alle Informationen aller verfügbarer Ebenen importiert. Beim Einlesen werden die TICs automatisch erzeugt. Ihre X- und Y- Kordinaten entsprechen der minimalen Hülle der eingelesenen Geometriedaten. D.h. die vier Tics definieren nicht unbedingt ein Rechteck, noch müssen ihre Echtweltkoordinaten automatisch bekannt sein. Vielmehr handelt es sich um die minimalen und maximalen X- und Y-Koordinaten der DXF-Geometriedaten. Damit kann es leicht zu Problemen bei der Transformation in Realwelt-Koordinaten kommen, wenn die so erzeugten Coverages mit anderen Coverages zusammengeführt (z.b. überlagert oder aneinander gesetzt) werden müssen und die DXF-Ausgangsdaten ursprünglich noch nicht in Echtweltkoordinaten vorlagen. Man benötigt in den DXF-Originaldaten also Punkte, deren Koordinaten in der realen Welt bekannt sind. Daher ist es am sinnvollsten, immer wenn man nicht direkt in ARC/INFO digitalisiert zusätzliche Kreuzungspunkte, von denen die Koordinaten bekannt sind, mitzudigitalisieren. Diese Kreuzungspunkte können dann später unter EditTools leicht in Tics umgewandelt werden. Mit diesen ist dann eine spätere Transformation in ein gemeinsames Bezugssystem möglich. Der Einlesevorgang von DXF-Dateien kann in dem Shell-Fenster, in dem ARCTOOLS gestartet wurde, verfolgt werden. Im DXF-Conversion-Menü erfolgt keine Statusmeldung zum Umwandlungsprozeß. Für den Export von DXF Dateien aus ARC/INFO werden nur der Name des zu erstellenden Datensatzes Output DXF File und die ARC/INFO-Coverages, die als Datenquelle dienen sollen, benötigt. Weiterhin kann die Anzahl der Nachkommastellen gewählt werden sowie angegeben werden, ob die DXF-Datei binär oder im ASCII-Format gespeichert werden soll. Abbildung Konvertierung von DXF nach ARC/INFO CommandTools Conversion To Arc DXF to Arc 84

135 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Bei Verwendung der Kommandozeile würde man zunächst mit dxfinfo die enthaltenen Daten überprüfen und anschließend mit dxfarc konvertieren. Weitere Schnittstellen Einige weitere Schnittstellen gehören nicht zum Standardlieferumfang, können jedoch käuflich erworben werden. Dies betrifft insbesondere einige für den deutschen Markt relevanten Formate, die im im folgenden kurz angesprochen werden: ATKIS / EDBS Die Landesvermessungsämter bieten ihre digitalen Koordinatengrundlagen heute im Wesentlichen als ATKIS-Daten im EDBS-Format an. Diese Daten können mit dem ATKIS-Konverter AvAtkis bzw. AvAtkis Professional der Firma GDV 11 in Shapefiles konvertiert werden. Für ARC/INFO selbst existiert die sogenannte ArcEDBS Schnittstelle. Mit dieser können EDBS- Daten nicht nur direkt (ohne den Umweg über Shape-Files) eingelesen, sondern auch exportiert werden. SICAD In Deutschland hat auch das aus dem CAD-Bereich stammende GIS SICAD von Siemens eine gewisse Verbreitung. Zum Einlesen der sogenannten SQD-Dateien kann eine eigene Schnittstelle erworben werden. Export von Vektorkoordinaten Für die meisten Geodatenformate, die beim Einlesen unterstützt werden, existieren auch Exportfilter. Import und Export von Rasterdaten Die in Kapitel kdaten angeführten Formate können eingelesen werden. Diese Rasterbilder können entweder einfach als Hintergrundbild bei der Erstellung von Views hinterlegt werden, oder aber in ein Grid umgewandelt werden, womit ihnen dann die zahlreichen Analysemöglichkeiten (Kartenalgebra) des GRID-Moduls einschließlich der Sachdatenanbindung offenstehen. 85

136 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Koordinatentransformation und Projektion Bei der Digitalisierung mit einem Digitalisiertablett überträgt das Digitalisierbrett Koordinaten an den Computer, die auf dem eigenen internen Koordinatensystem des Digitalisierbretts beruhen. Sollen Abfragen durchgeführt werden, die räumliche Messungen beinhalten, müssen diese in ein geographisches Koordinatensystem umgewandelt werden. Wie schon erwähnt, dienen hierzu Tics als Referenzpunkte. Für diese müssen die Koordinaten im geographischen Koordinatensystem gefunden und angegeben werden. Die Koordinaten der übrigen Features eines Coverages werden auf diesen Angaben beruhend umgerechnet. Zusätzlich muß für eine exakte Lagegenauigkeit der Koordinaten eine Projektion in die entsprechende Kartenprojektion ausgeführt werden. Da es sich beim Digitalisiertablett jedoch um eine ebene Fläche handelt und die Grundlage für Kartenblätter des Gauß-Krüger Systems ebenfalls ebene Flächen sind, ist in diesem speziellen Fall nur eine Transformation des Koordinatensystems, aber keine Projektionsänderung notwendig. Es steht eine große Anzahl an Projektionen zur Verfügung. Die Projektion eines Coverages wird in der Datei PRJ gespeichert. Transformation in das Gauss-Krüger System transformiert. Grundsätzlich gibt es mehrere Möglichkeiten, ein Coverage nach der Digitalisierung mit Digitizer-Koordinaten in das Gauss-Krüger-System mit den echten Koordinatenwerten zu transformieren. So könnte man schon beim Digitalisiervorgang selbst ein entsprechendes Referenzcoverage mit den korrekten Koordinaten für die Tics verwenden. Gehen wir jedoch davon aus, daß die Digitalisierung noch ohne Echtweltkoordinaten durchgeführt wurde. Zunächst muß ein Coverage existieren, in dem nur die TICs stehen. Dieses wollen wir TICCOV nennen. Dieses Master-TICCOV muß entsprechend editiert werden. D.h. den X- und Y-Koordinaten der ursprünglichen Tics werden die entsprechenden X- und Y-Werte im Gauss-Krüger-System übergeben. Dies geschieht, indem ARCEDIT aufgerufen wird. Das TICCOV wird als Coverage geöffnet (entweder gleich mit der Angabe Edit Feature: TIC, oder mit Change Edit Feature (im Edit-Pulldownmenü). Dann wird im Edit Tics Menü der Knopf Table Editor gedrückt. Wenn dieser erscheint, müssen die Tics zum Editieren gewählt werden (Feature Selection-Fenster). Dann erfolgt die Aktivierung von Edit im Table Editor: Es öffnet sich ein Fenster, das die Tics mit ihren IDs und Koordinatenwerten enthält. Letztere können über die Tastatur geändert werden. Die Arbeit mit dem Table Editor wurde in Kapitel ksachdat genauer erläutert.! Die Reihenfolge der Tics muß mit derjenigen in den später zu transformierenden Coverages übereinstimmen! Das TICCOV muß am Ende gespeichert werden. EditTools File Save (as) 86

137 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Damit wurde ein TICCOV erzeugt, das für eine Transformation benutzt werden kann. Das Transform- Fenster befindet sich unter CommandTools. (CommandTools kann von EditTools aus über das Tools-Pulldown-Menü, Auswahl: Command Tools aufgerufen werden). Abbildung Transform Coordinates Menü CommandTools Edit Coordinates Transform In die erste Zeile muß das Coverage, das transformiert werden soll, eingetragen werden (ein Druck auf die rechte Maustaste öffnet einen Dateiauswahldialog). In die zweite Reihe kommt das oben erzeugte TICCOV (auf demselben Weg).! Das Resultats-Coverage erhält den Namen des hier angegebenen Coverages! Dies bedeutet, daß das TICCOV vorher umbenannt werden muß. Sonst werden alle Informationen aus dem zu transformierenden Coverage dort hineingeschrieben und es ist nicht mehr als Referenzcoverage für die Transformation eines weiteren Coverages geeignet. Sollen nur die Tics und Projektionsinformationen eines Coverages übernommen werden, kann man dies im Kommando-Fenster durch die Eingabe von: create vorlagecoverage nurtics erreichen. andere Projektionen In vielen Projekten ist das Arbeiten mit Daten aus unterschiedlichen Quellen und damit unterschiedlichen Koordinatensystemen und Kartennetzentwürfen notwendig. Um diese Daten gemeinsam analysieren zu können, müssen sie in ein einheitliches Bezugssystem überführt werden. Die reine Transformation bei affinen Netzentwürfen wurde oben erläutert. Bei diesen wird vorausgesetzt, daß ein rechtwinkliges Koordinatensystem verwendet wird. Bei kleinmaßstäbigen Karten, bei denen der Netzentwurf beachtet werden muß, bedarf es einer zusätzlichen Projektion der Tics und weiterer vorbereitender Arbeiten, wie dem Ausmessen der Kartenvorlage und Updaten der Tics. Bei der Projektion können mitgelieferte Kartenprojektionen zum Einsatz kommen, es ist jedoch auch möglich, eigene Projektionen mittels verschiedener Parameter zu definieren. 12 Erst nach all diesen Schritten kann das projezierte Coverage transformiert werden. Im nachfolgenden Beispiel sind als Datengrundlage Daten des Digital Chart of the World (DCW) vorhanden. Deren Inhalt soll nun mit einer älteren 13 Karte im gleichen Maßtstab verglichen werden. Dazu muß zunächst ermittelt werden, welche Projektionen den beiden Quellen zugrunde liegen. Für 87

138 Kapitel 3. Erstellen der raumbezogenen Datengrundlage den DCW konsultiert man hierzu das mitgelieferte Data Dictionary. Auf der Papierkarte sind die erforderlichen Informationen direkt vermerkt 14. Tabelle 3-3. DCW layers Publikationsdatum: 1993 Quelle: Operational Navigational Charts redaktioneller Stand:? Maßstab: 1: Projektion: Geographisch Einheiten: Dezimalgrad Datum: WGS84 Tabelle 3-4. WORLD 1: , Edition 3-GSGS Publikationsdatum: 1956 Quelle: redaktioneller Stand: Projektion: Einheiten: Ordnance Survey Quarter Inch to One Mile (with corrections) Transverse Mercator Meter Datum: OGB_B (Ordnance Survey of Great Britain 1936) Spheroid: Airy scale factor at central meridian longitude of central meridian latitude of origin false easting (meters) false northing (meters) Mit diesen Informationen kann man nun in ARC/INFO die Projektion der Daten in das neue System vornehmen: projectcompare NONE PARTIAL FULL projectdefine interaktive Eingabe der Projektionsinformationen eines Coverage/Grid/TIN project Umwandlung eines Coverage etc. in anderes Koordinatensystem projectcopy Die Projektionsinformation eines Coverage etc. wird in ein anderes Coverage etc. kopiert (und ggfs. bisher existierende Datei.prj überschrieben) Eine Projektionsdatei für das obige Beispiel sähe so aus: INPUT PROJECTION GEOGRAPHIC 88

139 Kapitel 3. Erstellen der raumbezogenen Datengrundlage UNITS DD DATUM EUR_G PARAMETERS OUTPUT PROJECTION TRANSVERSE UNITS METERS DATUM OGB_B THREE PARAMETERS END Beispiel: Mit dieser soll ein vorhandenes Coverage projeziert werden. Der besseren übersicht wegen haben wir vorher ein neues Workspace angelegt, das die Daten in der neuen Projektion enthalten soll. project cover clline eng_pro/clline ponetpro.prj Weiterführende Literatur: ESRI, 1995, Understanding GIS. The ARC/INFO Method., Cambridge: GeoInformation International. Michael Zeiler, 1999, Modeling Our World: The ESRI Guide to Geodatabase Design., Redlands: ESRI.. Fußnoten 1. Die Feldnamen dürfen maximal 10 Zeichen lang sein (längere werden abgeschnitten) und keine Punkte oder Bindestriche enthalten (werden in einen Unterstrich umgewandelt). 2. Referenzpunkte im Coverage, für die die Koordinaten bekannt sind 3. Oder in die Datei arcedit.aml oder.arcedit eingegeben werden, die jeweils beim Start von ARCEDIT ausgeführt werden. 4. Alternativ gibt es noch das Modul TABLES, welches einen etwas vereinfachten Zugang zu INFO bereitstellt. 5. XXXX unterschiedliche Beschränkungen von INFO und Tables beachten Auf dem schon im Zusammenhang mit dem AML-Modus für den Editor Emacs erwähnten Server ftp://ftp.epa.gov findet sich auch ein Paket mit Statistikfunktionen zur Nutzung in ARC/INFO. 7. Ein Tutorial zu SQL kann unter xxx aufgerufen werden. 8. Zwei Beispiele hierfür findet man unter oder unter 89

140 Kapitel 3. Erstellen der raumbezogenen Datengrundlage Dies ist jedoch nur von Interesse, wenn man für eine eigene Anwendung eine Im- oder Exportschnittstelle zu ARC/INFO erstellen will/muß. 9. Der Endnode ist je nach angegebener Option beim generate-befehl identisch mit dem Anfangspunkt. Dies wird für den Import bei manchen Kartographie-Programmen benötigt Hilfestellung zu Projektionen bieten z.b. Snyder, John. P. (1994): Map Projections: A Working Manual. (USGS Professional Paper 1395), 3. Auflage und die die WWW-Seiten von A. Voser unter In diesem Fall war tatsächlich der Stand zu dieser Zeit von Interesse - unsere Kartensammlung verfügt auch über aktuelleres Material :) 14. Falls die erforderlichen informationen auf der Karte fehlen sind sie möglicherweise an anderer Stelle dokumentiert, beispielsweise in einem Begleitband zum Kartenwerk. Sind gar keine Informationen verfügbar, so müssen verschiedene Varianten probiert werden, bis man eine weitgehende Deckung mit den vorhandenen Daten erreicht (indem man z.b. eine eingescannte und registrierte Karte als Hintergrund darstellt und die Linien der projezierten Daten darüberlegt und auf übereinstimmung prüft). 90

141 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Zu den wichtigsten geometrischen Analysefunktionen eines Vektor-GIS gehören Flächenverschneidungen und das Generieren von Pufferzonen. Andere Funktionen beziehen sich dagegen auf Linienstrukturen (Pfadanalyse, Dynamic Segmentation). Geographische Analyse ARC/INFO stellt eine große Fülle von Analysemethoden zur Verfügung. Im Rahmen dieser Einführung können wir diese nicht alle ausführlich vorstellen. Für ausgefallenere Anwendungen verweisen wir auf die ausführliche Online-Hilfe und die mit dem Programm mitgelieferte Literatur. %ARC/INFO verfügt über eine große Fülle von Befehlen und Analysemethoden. Diese können im Rahmen einer solchen Einführung selbstverständlich nicht in allen Einzelheiten behandelt werden. Für eine übersicht über die grundsätzlichen Analysemöglichkeiten sei auf die einschlägigen Lehrbücher verwiesen. Die dort angegebenen schematischen übersichten stellen jedoch meist Idealvorstellungen dar, die kaum ein kommerzielles GIS vollständig erfüllen wird. Dies gilt besonders für den akademischen Bereich, da hier immer ausgefallenere und spezialisiertere Analysemethoden gewünscht werden. Im Vergleich zu anderen GIS-Produkten ist ARC/INFO vor allem im Analysebereich ein recht mächtiges Programm. Die Einbindung eigener Programme einer beliebigen Programmiersprache ist über die Skriptsprache AML (Arc Marcro Language) möglich. Seit der Version 7.2 (ODE, Open Developers Environment) ist auch der Aufruf von ARC/INFO-Funktionen mittels anderer Programmiersprachen möglich. Folgende Schritte sind für die räumliche Analyse erforderlich: Auswahlkriterien definieren Reihenfolge der Auswahl festlegen in ARC/INFO-Befehle übersetzen (Handelt es sich um eine einmalige Operation oder ist eine Automatisierung über Skripte sinnvoll? Ist es sinnvoll oder notwendig, ein neues Coverage zu erstellen?) In MapTools oder ARCVIEW anzeigen und gegebenenfalls die Auswahl weiter einschränken oder neue Kriterien festlegen Anhand unserer Beispieldaten und schematischer Idealcoverages werden wir nun die wichtigsten Analysemöglichkeiten in den vektororientierten Modulen von ARC/INFO vorstellen. 91

142 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Auswahl anhand von Attributdaten mit reselect Vorarbeiten Als Datenmaterial für Analyseübungen liegen Daten über Montana im ARC/INFO-Exportformat unter: Da die Daten für den gesamten Bundesstaat zu umfangreich sind, müssen wir zunächst das Untersuchungsgebiet auf jeweils eine oder mehrere Counties beschränken 1. Dazu bedienen wir uns des ARC-Befehls reselect. Anhand ihrer IDs werden die Counties aus dem Staaten-Coverage ausgewählt und in in ein Einzelcoverage geschrieben, das jeweils nur die Grenzen des einzelnen County enthält. In Verbindung mit clip können wir nun aus den verschiedenen Montana-Coverages die uns interessierenden Counties herausschneiden. Coverages: Arc-Befehle counties listcoverages, list, reselect, clip Vorgehensweise Attributtabelle zu Coverage counties ansehen, IDs heraussuchen, mit reselect gesuchte Polygone auswählen und in neues Coverage im eigenen Arbeitsverzeichnis schreiben, mit clip alle Coverages auf County-Ausdehnung zurechtschneiden. Zunächst ermitteln wir mit Hilfe der Attributtabelle die IDs der uns interessierenden Counties:list Arc: list /home/arc/montana/counties.pat 1 AREA = ************ PERIMETER = COUNTIES# = 1 COUNTIES-ID = 0 NAME = FIPS = 0 ACRES = 0 10 SQMILES = 0.00 COVNAME = 2 AREA = ************ PERIMETER = COUNTIES# = 2 COUNTIES-ID = 1 NAME = LINCOLN FIPS = 53 ACRES =

143 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC 20 SQMILES = COVNAME = LINCOLN 3 AREA = ************ PERIMETER = COUNTIES# = 3 COUNTIES-ID = 2 NAME = SHERIDAN FIPS = 91 ACRES = SQMILES = COVNAME = SHERIDAN Mit Hilfe dieser Information wählen wir die interessierenden Polygone aus und erstellen ein neues Coverage mit diesem Inhalt. 2 reselect counties count4 poly Reselecting POLYGON features from COUNTIES to create COUNT4 Enter a logical expression. (Enter a blank line when finished) >: reselect counties-id = 4 5 >: Do you wish to re-enter expression (Y/N)? n Do you wish to enter another expression (Y/N)? y >: aselect counties-id = 18 >: 10 Do you wish to re-enter expression (Y/N)? n Do you wish to enter another expression (Y/N)? n 2 features out of 58 selected. Reselecting polygons... Number of Polygons (Input,Output) = Number of Arcs (Input,Output) = Creating COUNT4.pat... Creating COUNT4.AAT unique nodes built for /HOME/LNUECKER/MONTANA/COUNT4 Wenn wir nun noch einmal die Polygon-Attributtabelle ansehen, erscheinen nur noch die beiden ausgewählten Polygone (und natürlich das Universalpolygon). Arc: list count4.pat 1 AREA = ************ PERIMETER = COUNT4# = 1 COUNT4-ID = 0 NAME = FIPS = 0 ACRES = 0 10 SQMILES = 0.00 COVNAME = 93

144 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC 2 AREA = ************ PERIMETER = COUNT4# = 2 COUNT4-ID = 4 NAME = GLACIER FIPS = 35 ACRES = SQMILES = COVNAME = GLACIER 3 AREA = ************ PERIMETER = COUNT4# = 3 COUNT4-ID = 18 NAME = MCCONE FIPS = 55 ACRES = SQMILES = COVNAME = MCCONE 1 Mit Hilfe des Befehls clipclip können jetzt die einzelnen Coverages auf County-Format verkleinert werden. Arc: usage clip Usage: CLIP <in_cover> <clip_cover> <out_cover> {POLY LINE POINT NET LINK RAW} {fuzzy_tolerance} Je nach Featuretyp des in_cover muß line, point oder poly angegeben werden. Arc: clip /home/arc/montana/river count4 c4river line Clipping /home/arc/montana/river with count4 to create c4river. Sorting... Intersecting... 5 The specified tolerance is below the minimum resolution for this data - intersections will be detected with a tolerance of instead. Assembling lines... Creating /HOME/ARC/MONTANA/C4RIVER.AAT... Overlaying annotation... Dies wiederholt man nun für alle Coverages: FWSLPL (poly) ab29 (Fish and Wildlife Service Lands) AUTOBLN (line) rd16 (Highways) IRPL (poly) ab9 (Indian Reservations) LANDNPL (poly) lu23 (Major Land Uses) 5 CVPL (poly) lu26 (Climax Vegetation) 94

145 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC STPT (point) ct4 (Largest City in each County) OPT (point) ct107 (Montana Cities and Towns) STPL (poly) ct2 (Montana Cities) BEZPL (poly) ab42 (1995 Legislative Districts) 10 GITTERLAT (poly) cf2 (1 degree lat./long grid) FISHWILDADM (poly) ab44 (Fish, Wildlife and Parks Regions) WALDPL (poly) ab13 (National Forests with Ownership) NATPARKPL (poly) ab28 (National Park Service Lands) HYDPOL (poly) hd47 (Surface Water Supply Index) 15 EISENBLN (line) rr5 (Railroads ca. 1965) HYDPLLN (poly,line) hd49 (Simplified Hydrography) EINZUGPLLN (poly, line) hd52 (River Basins) BEVDPL (poly), ab135 (Population Density by Block Group) Zusätzlich liegen auf County-Basis Daten zur Verteilung der Bevölkerungsgruppen vor. Verschneidungsoperationen und Bufferbildung In vielen Fällen wird GIS mit dem Schichtenmodell gleichgesetzt. Dies ist im Hinblick auf aktuelle Entwicklungen bei objektorientierten GIS zwar eine unzulässige Einschränkung des Begriffs GIS, zeigt aber die Bedeutung dieses Konzepts. ARC/INFO verfügt über verschiedene Möglichkeiten der überlagerung und Verschneidung unterschiedlicher Informationsebenen. Es besteht ein grundsätzlicher Unterschied zwischen darstellender und topologischer Überlagerung. Ist die darstellende überlagerung auch in Kartographieprogrammen möglich, so bleibt die topologische Überlagerung Geographischen Informationssystemen vorbehalten. Man kann natürlich auch in ARC/INFO eine fast beliebige Anzahl einzelner Informationsebenen (des gleichen Gebiets) grafisch übereinanderlegen, etwa so, wie wenn man einzelne Klarsichtfolien mit gemeinsamen Passpunkten (den TICs entsprechend) übereinanderlegen und projezieren würde. Die Attributdaten der einzelnen Coverages bleiben getrennt von der Geometrie, die wir als Ergebnis erhalten. Im Gegensatz dazu werden bei einer topologischen Verschneidung die bisherigen Geometrien und Attributdaten durch verschiedene Operationen miteinander verbunden bzw. neu erstellt und man erhält so eine neue Informationsebene mit entsprechend neuer Topologie. Als wichtigste Befehle sind union, intersect, identity und erase zu nennen. Diese Programme kann man entweder direkt an der Kommandozeile ausführen oder über entsprechende AMLs in den Command Tools, Analysis aufrufen. In ARCTOOLS geben die Symbolabbildungen in den Menüs Hinweise auf die Wirkungsweise der jeweiligen Befehle. Eine ausführliche Diskussion der Befehle, die auch die Wirkung auf die Attributtabellen berücksichtigt, findet man in der Online-Hilfe ARCDOC. Die verschiedenen Befehle sind (mit Einschränkungen) jeweils für die unterschiedlichen Kombinationen der Feature Typen verfügbar. 95

146 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC CommandTools macht eine Reihe unterschiedlicher Befehle verfügbar, die nicht direkt in die Themenkreise Erzeugen der Koordinatengrundlage (EditTools) oder Visualisierung (MapTools) fallen. Dazu gehören vor allem Befehle zur Analyse, aber auch die Behandlung von Sachdaten, Erzeugung der Topologie, Kartenprojektion und Transformation, Import / Export, Geocoding oder 3D- Funktionalität. Dieser Tool-Picker kann ebenfalls in MapTools unter dem Menüpunkt Analysis und in EditTools unter dem Menüpunkt Edit aufgerufen werden. Bei Anklicken desselben erscheinen zwei Fenster mit mehreren Pull-Down Menüs, die teilweise weitere Seitenmenüs enthalten, aus denen dann die eigentlichen Funktionen gewählt werden können. Für jede dieser Funktionen öffnet sich beim Anwählen jeweils mindestens ein Fenster, in welchem die verwendeten Coverages oder Datenquellen angegeben werden können. Die verschiedenen Optionen der einzelnen Befehle können dort meist durch Buttons o.ä. angewählt werden. Insbesondere soll auf den Help-Button hingewiesen werden, in dem die Funktionsweise und die Optionen der jeweiligen Funktion erklärt werden. Mit diesem erhält man eine Hilfe zum Bedienen der Auswahlmöglichkeiten des jeweiligen ARCTOOLS-Fensters. Dies hat mit der allgemeinen ARC/INFO-Online Hilfe ARC- DOC zunächst nichts zu tun. Letztere kann gleichzeitig daneben gestartet werden, um dem Benutzer mit Information zu den zugrundeliegenden Konzepten oder der zeilenorientierten Befehlssyntax und Funktionalität zu dienen. Es folgt eine übersicht der Menüeinträge unter Analysis in den CommandTools von ARCTOOLS Overlay... Areaquery Identity Intersect Point-node Union Update Map Sheets... Append Clip Erase Mapjoin Split Proximity... Buffer Buffer regions 96

147 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Near Point distance Thiessen Extract... Form letters Area Query Region Query Select Select Regions Tabular... Frequency Report Writer Summary statistics DynSeg... Event Source env Event transform Event overlay Event dissolve Event pullitems Route/Poly overlay Geocoding... Standardize file Create address cover Update address cover Address errors Match addresses Scoring Rules 97

148 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Surface... Contour Line of sight Profile Visibility Cut fill Volume Animation... MPEG encoder MPEG player Auf Dynamic Segmentation, Extract und Geocoding kann in diesem Rahmen nicht weiter eingengangen werden. 3D Oberflächen (Surface...) und Animationen werden in Kapitel Kapitel 8 besprochen. Union Durch die union-operation werden zwei Coverages miteinander verbunden. Alle Elemente beider Coverages bleiben im Ergebniscoverage erhalten. Schneiden sich Linien bzw. Polygone, so werden an den Schnittpunkten neue Nodes eingefügt und gegebenenfalls neue (kleinere) Polygone gebildet, die eine eigene Topologie besitzen. Die Optionen join oder nojoin geben an, inwieweit die Attribute der PAT in das Ergebnis-Coverage übertragen werden sollen. Bei join werden alle weitergegeben, bei nojoin nur die coverage#. über relate können weitere Attribute in anderen Dateien ausgewählt werden. Die Ausgangscoverages bleiben unverändert erhalten. 3 Abbildung 4-1. Das Union Menü CommandTools Analysis Overlay Union 98

149 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Usage: UNION <in_cover> <union_cover> <out_cover> {fuzzy_tolerance} {JOIN NOJOIN} Polygoncoverage Zu einer Karte, die als Coverage vorliegt (in_cover), sollen aus einem zweiten Coverage (union_cover) Flächen hinzugefügt werden. Das Ergebniscoverage (out_cover) enthält die Flächen beider Coverages. Dort, wo sich Elemente beider Coverages überdecken, werden an den Schnittpunkten Nodes eingefügt und so neue Polygone erstellt. Besitzen die neuen Polygone die gleichen Attributwerte wie benachbarte Polygone, so ist es möglich, die Grenzen zu diesen mit dissolve zu entfernen und so wieder größere Flächen mit einheitlichen Attributwerten zu erhalten. Arc: union i_poly op_poly outunion Unioning i_poly with op_poly to create outunion Sorting... Intersecting... 5 Assembling polygons... Creating new labels... Creating outunion.pat... ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** 10 ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** in_cover union_cover out_cover i_poly op_poly outunion Verschneiden Sie die Coverages climveg und natparks unter Verwendung des Befehls union und erläutern Sie das Ergebnis. Beachten Sie die Attributtabelle des Ausgabecoverages. Hat die Reihenfolge der Coverages (in_cover, union_cover) einen Einfluß auf das Ergebnis? Coverages: indianres, natparks 99

150 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Arc-Befehle: union, list, describe, arcplot ArcPlot-Befehle: mapextent, arcs Vorgehensweise: Lesen sie zunächst den Eintrag zu union in der Online-Hilfe ARCDOC. Führen Sie die union-operation mit beiden Coverages durch. Betrachten Sie dann mit list die resultierenden Attributtabellen (Hinweis: die Polygonattributtabelle endet auf.pat). Identity Es werden zwei Coverages angegeben, das sogenannte In-Coverage, das vollständig übernommen wird, sowie das sogenannte Identity-Coverage, das eine Polygon-Topologie besitzen muß. Vom Identity- Coverage werden nur diejenigen Features übernommen, die sich mit den Features des In-Coverages überschneiden. Abbildung 4-2. Das Identity Menü CommandTools Analysis Overlay Identity Usage: IDENTITY <in_cover> <identity_cover> <out_cover> {POLY LINE POINT} {fuzzy_tolerance} {JOIN NOJOIN} Punktcoverage Beispiel 4-1. Für einen Forstbezirk existiert ein Punktcoverage, das alle Bäume von über 2m Höhe beinhaltet (in_cover). Die Forstverwaltung besitzt ebenfalls Karten der einzelnen Flurstücke, die den jeweiligen Zeitpunkt der Bepflanzung der verschiedenen Flächen enthalten (identity_cover). Als Ergebnis einer identity-operation mit diesen beiden Coverages erhält man ein Punktcoverage, welches alle Baumstandorte aus dem Eingabecoverage enthält. Als Attributwert erhalten sie zusätzlich die ID der Polygone des identity_covers, in das sie fallen. Aus dem Ausgabecoverage (out_cover) ist jetzt das Alter der einzelnen Bäume zu entnehmen. Arc: identity i_point op_poly identpt point 100

151 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Producing identity of i_point with op_poly to create identpt Overlaying points... Creating identpt.pat... 5 ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** in_cover identity_cover out_cover i_point op_poly identpt figs/i_pointmap figs/op_polymap figs/outidptmap Verschneiden Sie die Coverages largcity und natparks unter Verwendung des Befehls identity und beschreiben Sie die Wirkungsweise des Befehls anhand des Ergebnisses. Coverages: largcity, natparks Arc-Befehle: identity Vorgehensweise: Liniencoverage Beispiel 4-2. Nach einer Neuordnung des Nahverkehrs in einem Verkehrsverbund sollen für das gesamte öpnv- Netz, das in einem Coverage mit Linien für Straßen- und Schienenverkehr (in_cover) zusammengefaßt wurde, die Tarife vereinheitlicht werden. Dazu werden Tarifgrenzen festgelegt und diese in einem Polygoncoverage (identity_coverage) festgehalten. Die einzelnen Polygone dieses Tarifgrenzencoverages enthalten nun als Attributwert die Tarifregion. Verschneidet man nun mit dem Befehl identity den Netzplan mit dem Tarifgrenzencoverage, so werden an den Tarifgrenzen Nodes in die Linien des Verkehrsnetzes eingefügt. Das out_cover enthält so neben den ursprünglichen Informationen des Liniennetzes die Zugehörigkeit der Streckenabschnitte zu den einzelnen Tarifzonen. 101

152 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Arc: identity i_line op_poly outidentli line Producing identity of i_line with op_poly to create outidentli Sorting... Intersecting... 5 Assembling lines... Creating outidentli.aat... ** Item "FNODE#" duplicated, Join File version dropped ** ** Item "TNODE#" duplicated, Join File version dropped ** ** Item "LPOLY#" duplicated, Join File version dropped ** 10 ** Item "RPOLY#" duplicated, Join File version dropped ** ** Item "LENGTH" duplicated, Join File version dropped ** in_cover identity_cover out_cover i_line op_poly outidentli figs/i_linemap figs/op_polymap figs/outidlimap Verschneiden Sie die Coverages river und natparks unter Verwendung des Befehls identity. Wie wirkt der Befehl auf Geometrie und Attributwerte? Coverages: river, natparks Arc-Befehle: identity Vorgehensweise: Polygoncoverage Beispiel 4-3. Nunavut Das in_cover enthält die Außengrenzen des neuen Territoriums Nunavut, das am 1. April 1999 aus dem bisherigen Nordwest-Territorium entsteht. Polygoncoverages des Nordwest-Territoriums, die die bekannten Erzlagerstätten enthalten (identity_cover), sollen mit Hilfe des Befehls identity auf die 102

153 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Ausdehnung des neuen Territoriums Nunavut zurechtgeschnitten werden. Die neuen Karten (out_cover) enthalten die Informationen der größeren Karten, allerdings nur für die uns interessierende Region. Hierbei werden die Polygone des In-Coverages in kleinere Einheiten unterteilt. Arc: identity i_poly op_poly outidentpy Producing identity of i_poly with op_poly to create outidentpy Sorting... Intersecting... 5 Assembling polygons... Creating new labels... Creating outidentpy.pat... ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** 10 ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** in_cover identity_cover out_cover i_poly op_poly outidentpy figs/bsp1 figs/bsp2 figs/bsp_identity Verschneiden Sie die Coverages indianres und natparks unter Verwendung des Befehls identity und erläutern Sie die Wirkungsweise im Unterschied zu union. Beachten Sie dabei auch wieder die Wirkung auf die Attributtabellen. Coverages: indianres, natparks Arc-Befehle: identity Vorgehensweise: 103

154 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Intersect intersect erstellt ein neues Coverage, indem es die Elemente zweier Coverages übereinanderlegt. Das Ergebniscoverage enthält nur diejenigen Teile der Elemente, die in Input und Intersect-Coverage die gleichen Flächen abdecken. Jedes Element im Ergebniscoverage erhält die Attribute der Polygone des Intersect-Coverages, in die es fällt. Abbildung 4-3. Das Intersect Menü CommandTools Analysis Overlay Intersect Usage: INTERSECT <in_cover> <intersect_cover> <out_cover> {POLY LINE POINT} {fuzzy_tolerance} {JOIN NOJOIN} Punktcoverage Beispiel 4-4. Brunnenstandorte und Altlasten Das Eingabecoverage (in_cover) beinhaltet alle Brunnenstandorte in einem Landkreis als Punktinformation. Die Attributtabelle enthält neben interner ID (COVER#) und User-ID (COVER-ID) weitere Attributfelder zu Brunnentyp, Bohrtiefe, Wasserleistung, Alter, Wasserqualität. Ein weiteres Coverage enthält Polygone aller Flächen, die aufgrund ihrer früheren Nutzung als Industrie- oder Lagerflächen altlastenverdächtig sind. Nutzt man das Altlastencoverage nun als intersect_cover, so erhält man mit intersect als Ergebniscoverage (out_cover) ein Punktcoverage, das alle Brunnenstandorte enthält, die sich auf möglicherweise kontaminiertem Untergrund befinden. Diejenigen Brunnen aus dem Eingabecoverage, die sich nicht auf altlastenverdächtigen Flächen befinden, erscheinen nicht im Ergebniscoverage. Arc: intersect i_point op_poly outintpt point Intersecting i_point with op_poly to create outintpt Overlaying points... Creating outintpt.pat... 5 ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** in_cover intersect_cover out_cover i_point op_poly outintpt 104

155 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC figs/i_pointmap figs/op_polymap figs/outinptmap Bestimmen Sie mit Hilfe des Befehls intersect die Orte, die innerhalb von National Forests liegen. Wem gehören die entsprechenden Waldstücke? (Hinweis: Beachten Sie die Erklärungen zu den Attributtabellen in den Metadaten.) Wo liegen die Unterschiede in der Wirkungsweise zu identity und union? Coverages: towns, natforest Arc-Befehle: intersect Vorgehensweise: Liniencoverage Beispiel 4-5. Krötenwanderung Von einem Straßennetz (in_cover) sollen diejenigen Streckenabschnitte ermittelt werden, die durch Feuchtgebiete (enthalten im Coverage intersect_cover) verlaufen und so verstärkt von Krötenwanderungen betroffen sind. Mit intersect erhält man ein Liniencoverage (out_cover), das nur die gesuchten Abschnitte enthält, die in die Feuchtgebiete aus dem intersect_cover fallen. Mit den so erhaltenen Informationen kann man nun z.b. die Zahl der aufzustellenden Warnschilder und die Länge des notwendigen Schutzzaunes ermitteln. Arc: intersect i_line op_poly outintli line Intersecting i_line with op_poly to create outintli Sorting... Intersecting... 5 Assembling lines... Creating outintli.aat... ** Item "FNODE#" duplicated, Join File version dropped ** ** Item "TNODE#" duplicated, Join File version dropped ** ** Item "LPOLY#" duplicated, Join File version dropped ** 10 ** Item "RPOLY#" duplicated, Join File version dropped ** 105

156 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC ** Item "LENGTH" duplicated, Join File version dropped ** in_cover intersect_cover out_cover i_line op_poly outintli figs/i_linemap figs/op_polymap figs/outinlimap Polygoncoverage Beispiel 4-6. Erosionsgefahr Zu einem Untersuchungsgebiet existiert ein digitales Geländemodell und eine Karte der landwirtschaftlichen Nutzung. Aus dem Geländemodell wurden verschiedene Neigungstypen anhand ihrer Hangneigung klassifiziert. Für diese Untersuchung wurden alle Polygone, die eine Hangneigung von mehr als 10 Prozent aufweisen ausgewählt und in ein eigenen Coverage geschrieben (in_cover). Ein weiteres Coverage enthält diejenigen Flächen, auf denen Mais oder Zuckerrüben angebaut werden (intersect_cover). Mit intersect erhält man diejenigen Flächen, die zugleich eine Hangneigung von mehr als 10 Prozent aufweisen und auf denen obengenannte Produkte angebaut werden. Als Ergebnis erhält man die besonders erosionsgefährdeten Flächen. Arc: intersect i_poly op_poly outinpy Intersecting i_poly with op_poly to create outinpy Sorting... Intersecting... 5 Assembling polygons... Creating new labels... Creating outinpy.pat... ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** 10 ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** in_cover intersect_cover out_cover 106

157 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC i_poly op_poly outintpy figs/bsp1 figs/bsp2 figs/bsp_intersect Verschneiden Sie die Coverages indianres und natparks unter Verwendung des Befehls intersect. Erläutern Sie die Funktionsweise von intersect anhand dieses Beispiels. Coverages: indianres, natparks Arc-Befehle: intersect Vorgehensweise: Clip Diejenigen Elemente eines Input-Coverages werden ausgewählt, die vollständig innerhalb der Aussengrenzen eines anderen Coverages (Clip-Coverage) liegen, der Befehl wirkt also wie ein Plätzchenausstecher. Bei dem Clip-Coverage muß es sich immer um ein Polygon-Coverage handeln. Die Außengrenzen der Polygone dieses Coverages definieren die Begrenzung, jenseits derer die Features des sogenannten Input-Coverages abgeschnitten werden. Es kann aus den unterschiedlichsten Feature- Typen ausgestanzt werden. Abbildung 4-4. Das Clip Menü CommandTools Analysis Map Sheets Clip Usage: CLIP <in_cover> <clip_cover> <out_cover> {POLY LINE POINT NET LINK RAW} {fuzzy_tolerance} 107

158 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Punktcoverage Beispiel 4-7. Aus einer Kartierung mit Punktmarkierungen für das Vorkommen bestimmter Orchideenarten (in_cover) sollen diejenigen Elemente ausgewählt werden, die sich auf Bauerwartungsland (clip_cover) befinden. Die gefährdeten Standorte finden sich dann im Ergebnis-Coverage out_cover. Arc: clip i_point op_poly outclippt point Clipping i_point with op_poly to create outclippt. Overlaying points... Creating outclippt.pat... in_cover clip_cover out_cover i_point op_poly outclippt figs/i_pointmap figs/op_polymap figs/outclipptmap Verschneiden Sie die Coverages indianres und towns unter Verwendung von clip. Erklären Sie die Wirkung des Befehls clip anhand dieses Beispiels. Wo liegen die Unterschiede zu identity Coverages: indianres, towns Arc-Befehle: clip Vorgehensweise: Liniencoverage Beispiel 4-8. Naturschutzgebiet Diejenigen Abschnitte eines Wegenetzes, die durch ausgewiesene Naturschutzgebiete verlaufen, sollen ausgewählt werden. 108

159 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Arc: clip i_line op_poly outclipli line Clipping i_line with op_poly to create outclipli. Sorting... Intersecting... 5 Assembling lines... Creating outclipli.aat... in_cover clip_cover out_cover i_line op_poly outclipli figs/i_linemap figs/op_polymap figs/outcliplimap Verschneiden Sie die Coverages natparks und highway unter Verwendung von clip. Coverages: natparks, highway Arc-Befehle: clip Vorgehensweise: Polygoncoverage Beispiel 4-9. Landnutzung einer Gemeinde Die Landnutzung innerhalb der Grenzen einer Gemeinde soll aus einem größeren, anhand einer Luftbildauswertung ermittelten Datenbestand herausgelöst werden. Arc: clip i_poly op_poly outclippy Clipping i_poly with op_poly to create outclippy. Sorting... Intersecting... 5 Assembling polygons

160 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Creating new labels... Creating outclippy.pat... in_cover clip_cover out_cover i_line op_poly outclippy figs/bsp1 figs/bsp2 figs/bsp_clip Verschneiden Sie die Coverages indianres und natparks unter Verwendung von clip. Coverages: indianres, natparks Arc-Befehle: clip Vorgehensweise: Erase Entfernt diejenigen Elemente eines Input-Coverages, die innerhalb der ausgewählten Polygone des Erase-Coverages liegen. Erase wirkt wie das Gegenstück zu Update oder Clip. Hier werden jedoch die Features des Input Coverages, die von den Flächen des Erase Coverages überdeckt werden, gelöscht - quasi ausradiert. Das Erase-Coverage muß ebenfalls ein Polygontopologie besitzen. Entsprechend zu Clip gibt es sechs Möglichkeiten der Wahl von Feature Typen. Die jeweiligen Geometrie-Objekte und ihre Attribute werden gelöscht. Abbildung 4-5. Das Erase Menü 110

161 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC CommandTools Analysis Map Sheets Erase Usage: ERASE <in_cover> <erase_cover> <out_cover> {POLY LINE POINT NET LINK RAW} {fuzzy_tolerance} Punktcoverage Beispiel Kahlschlagflächen Aus einem Eingabe-Coverage mit Baumstandorten sollen Kahlschlagsflächen herausgeschnitten werden. Arc: erase i_point op_poly outerpt point Erasing i_point with op_poly to create outerpt Overlaying points... Creating outerpt.pat... in_cover erase_cover out_cover i_point op_poly outerpt figs/i_pointmap figs/op_polymap figs/outerpt Verschneiden Sie die Coverages largestcity und natforest unter Verwendung von erase. Coverages: largestcity, natforest 111

162 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Arc-Befehle: Vorgehensweise: list, erase Liniencoverage Beispiel Aus einem Schienennetz-Coverage sollen diejenigen Bereiche herausgeschnitten werden, die von einem Mitbewerber übernommen werden. Arc: erase i_line op_poly outerli line Erasing i_line with op_poly to create outerli Sorting... Intersecting... 5 Assembling lines... Creating outerli.aat... in_cover union_cover out_cover i_line op_poly outerli figs/i_linemap figs/op_polymap figs/outerli Erstellen Sie mit erase ein Straßencoverage, aus dem die Straßen entfernt wurden, die durch Nationalparks verlaufen. 112

163 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Coverages: Arc-Befehle: listcoverageslistreselectclip Vorgehensweise: Polygoncoverage Beispiel Das Stadtgebiet, aus dem sämtliche Wasserflächen herausgenommen werden, ergibt die Landfläche. Arc: erase i_poly op_poly outerpy Erasing i_poly with op_poly to create outerpy Sorting... Intersecting... 5 Assembling polygons... Creating new labels... Creating outerpy.pat... in_cover union_cover out_cover i_poly op_poly outerpy figs/bsp1 figs/bsp2 bsp_erase 113

164 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Entfernen Sie aus dem Coverage mit der Klimaxvegetation (climveg diejenigen Flächen, die in irgendeiner Form unter Schutz stehen fishwildl, natforest, natparks. Coverages: climveg, fishwildl, natforest, natparks Arc-Befehle: erase Vorgehensweise: Update Ersetzt den Teil eines Input-Coverages der durch das Update-Coverage abgedeckt wird. Beide Coverages müssen Polygon-Topologie besitzen. Optionen: poly (Polygone und PAT werden aktualisiert) und net (auch Arcs und AAT werden aktualisiert), außerdem keepborder (Außengrenze des Update Coverage wird nach Einfügen in das Input Coverage gespeichert) oder dropborder (wird weggelassen). Abbildung 4-6. Das Update Menü 114

165 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC CommandTools Analysis Overlay Update Usage: UPDATE <in_cover> <update_cover> <out_cover> {POLY NET} {fuzzy_tolerance} {KEEPBORDER DROPBORDER} Beispiel Die Grundlage für einen Teil einer Karte wurde aktualisiert und neu digitalisiert. Dieser Teil soll nun den veralteten Teil auf der Karte ersetzen. Arc: update i_poly upd_poly updpy Updating i_poly with upd_poly to create updpy Comparing i_poly and upd_poly items... Sorting... 5 Intersecting... Assembling polygons... Creating new labels... Creating updpy.pat... in_cover update_cover out_cover i_poly upd_poly updpy figs/bsp1 figs/bsp2 figs/bsp_update Ersetzen Sie im Coverage a die in b enthaltenen Flächen. Coverages: Arc-Befehle: listcoverageslistreselectclip Vorgehensweise: 115

166 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Split Teilt ein Coverage entsprechend einem Split-Coverage in mehrere. Die Auswahl erfolgt anhand der angegebenen Attributwerte. Abbildung 4-7. Das Split Menü CommandTools Analysis Map Sheets Split Usage: SPLIT <in_cover> <split_cover> <split_item> {POLY LINE POINT NET LINK RAW} {fuzzy_tolerance} Beispiel Coverage mit Landesgrenzen wird in Einzelcoverages mit Kreisgrenzen geteilt. Arc: list i_poly.pat Record AREA PERIMETER I_POLY# I_POLY-ID

167 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Arc: split op_poly i_poly i_poly-id poly 10 Fuzzy tolerance will be calculated or set from the TOL file When done entering coverages type END or a blank line. Enter the 1st coverage: teil2 15 Enter item value: 2 Enter the 2nd coverage: teil4 Enter item value: 4 Enter the 3rd coverage: Done entering coverage names (Y/N)? y 20 Do you wish to use the above coverages (Y/N)? y Filtering polygons and sorting... Intersecting... Building Split Table... Splitting... in_cover split_cover out_cover(s) op_poly i_poly teil2 figs/op_polymap figs/i_polymap figs/teil2 Teilen Sie das Coverage landuse anhand der in counties enthaltenen Flächen in mehrere Coverages. Coverages: landuse, counties Arc-Befehle: listsplit Vorgehensweise: Mapjoin ARC/INFO-Coverages repräsentieren einen Kartenausschnitt. Soll ein Gebiet analysiert werden, das größer als ein solches Coverage ist, muß aus zwei oder mehr Einzelcoverages ein neues Coverage zusammengesetzt werden. Diese Aufgabe leistet der Befehl Mapjoin für Polygon- oder Netzwerk- 117

168 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC coverages (mit Polygonen und Arcs). Die Attributdateien werden dabei durch einen Join verbunden und die Topologie wiederhergestellt. Mittels der Option Template kann ein Coverage gewählt werden, dessen Feature Class die Feature Classes angibt, die verknüpft werden sollen. Mapjoin und Append können bis zu 500 Coverages gleichzeitig zusammenfügen. Diese werden nacheinander in der Zeile Input Coverages gewählt und erscheinen nach Return in der sich darunter befindlichen Liste. Mit Delete selected können ausgewählte Coverages aus der Sammlung gelöscht werden. Selbstverständlich muß für das neu entstehende Coverage ein Name unter Output coverage angegeben werden. Die Option unter Calculate ID offsets bestimmt, ob die IDs für das neu entstehende Coverage beibehalten oder neu durchnumeriert werden sollen. Abbildung 4-8. Das Mapjoin Menü CommandTools Analysis Map Sheets Map Join Usage: MAPJOIN <out_cover> {feature_class...feature_class template_cover} {NONE FEATURES TICS ALL} {clip_cover} 118

169 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Beispiel Verschiedene Teilbereiche eines Gebietes wurden von verschiedenen Arbeitsgruppen digitalisiert und sollen jetzt zusammengeführt werden. in_cover in_cover out_cover op_poly i_poly teil2 figs/op_polymap figs/i_polymap figs/teil2 Verbinden Sie die durch split geteilten Coverages durch mapjoin wieder zu einem Coverage. Coverages: Arc-Befehle: listcoverageslistreselectclip Vorgehensweise: Append Append funktioniert ähnlich wie Mapjoin. Es vereinigt Coverages in ein Einzelcoverage, ohne jedoch die Topologie neu zu erstellen, d.h. build oder clean ist erforderlich, bevor das Coverage weiterverwendet werden kann. Dies ist oft der sicherere Weg, da das Resultat unter der Kontrolle des Bearbeiters bleibt und damit jeder Schritt nachvollzogen werden kann. Append verfügt über eine größere Auswahl zusammenfügbarer Feature Classes. Es können bis zu 500 Coverages auf einmal zusammengefügt werden. Abbildung 4-9. Das Append Menü 119

170 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC CommandTools Analysis Map Sheets Append Usage: APPEND <out_cover> {NOTEST template_cover feature_class...feature_class} {NONE FEATURES TICS ALL} Beispiel Gemeindegrenzen wurden einzeln digitalisiert und georeferenziert und sollen jetzt ein ein Coverage mit den Gemeindegrenzen des gesamten Landkreises überführt werden. Arc: append teil2u4 Enter Coverages to be APPENDed (Type END or a blank line when done): ===================================================================== 5 Enter the 1st coverage: teil2 Enter the 2nd coverage: teil4 Enter the 3rd coverage: Done entering coverage names (Y/N)? y Do you wish to use the above coverages (Y/N)? y 10 Appending coverages... union_cover union_cover union_cover teil2 teil4 teil2u4 figs/teil2 figs/teil4 figs/teil2u4 Verbinden Sie die durch split geteilten Coverages durch append wieder zu einem Coverage und erstellen Sie die Topologie neu. Coverages: Arc-Befehle: listcoverageslistreselectclip Vorgehensweise: Reselect Wählt Elemente eines Coverages nach den vorgegebenen Kriterien aus und schreibt diese Untermenge in ein neues Coverage. Zur Auswahl der Objekte werden logische Ausdrücke angegeben. Die gerade aktuellen Ausdrücke müssen in der Liste Current Expressions stehen. Das Erstellen neuer Auswahlkriterien wird durch das Logical Expression-Menü erleichtert, das durch Drücken der 3-Taste (rechte 120

171 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Maustaste) in dem Eingabefeld erscheint. Für das Ergebniscoverage muß ein neuer Name angegeben werden. Abbildung Das Reselect Menü CommandTools Analysis Extract Select Usage: RESELECT <in_cover> <out_cover> {in_feature_class} {selection_file} {out_feature_class} Beispiel Ein Coverage mit Ackerflächen soll in Einzelcoverages für jeden Besitzer aufgeteilt werden. Arc: reselect ganz teil Reselecting POLYGON features from GANZ to create TEIL Enter a logical expression. (Enter a blank line when finished) >: reselect ganz-id in {3,4} 5 >: Do you wish to re-enter expression (Y/N)? n Do you wish to enter another expression (Y/N)? n 2 features out of 5 selected. Reselecting polygons Number of Polygons (Input,Output) =

172 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Number of Arcs (Input,Output) = 12 7 Creating TEIL.pat... 6 unique nodes built for /DATA/TEIL in_cover ganz figs/teil2u4 reselected teil figs/teil4 Fügen Sie die Coverages a und b zusammen und erzeugen Sie die Topologie neu. Coverages: Arc-Befehle: listcoverageslistreselectclip Vorgehensweise: Dissolve Durch Dissolve werden benachbarte Flächen verschmolzen, wenn die Attribute beider Polygone dieselben Ausprägungen aufweisen. Abbildung Das Dissolve Menü CommandTools Edit Topology Dissolve Usage: DISSOLVE <in_cover> <out_cover> <dissolve_item #ALL> {POLY LINE NET REGION.subclass} 122

173 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Beispiel Durch mapjoin aneinandergefügte Coverages weisen durch die Kartengrenzen noch Grenzen zwischen Polygonen mit identischen User-IDs auf. Diese werden durch dissolve aufgelöst. Arc: dissolve diss_poly dissd diss_poly-id Dissolving diss_poly by diss_poly-id to create dissd Creating dissd.pat format... Creating dissolve table... 5 Dissolving... Number of Polygons (Input,Output) = 5 3 Number of Arcs (Input,Output) = 9 3 Creating dissd.pat... union_cover diss_poly figs/diss_poly union_cover dissd4 figs/dissd Entfernen von Restflächen mit Eliminate Bei der Verschneidung nicht vollständig deckungsgleicher Linien können kleine Restflächen - sogenannte Sliver Polygons - entstehen 4. Diese können mit der Funktion eliminate entfernt werden. Dies kann über den maximalen Flächeninhalt oder die Kantenlänge gesteuert werden, die ein Polygon mindestens besitzen muß, um als vollwertiges Polygon anerkannt zu werden, und der Funktion Eliminate nicht zum Opfer zu fallen. Eliminate löst ausgewählte Polygone auf, indem sie sie den benachbarten Polygonen mit der größten gemeinsamen Grenze zuschlägt. Unter CommandTools erfolgt die Auswahl der Lösch-Kriterien im Logical Expression Builder, den man durch Druck der rechten Maustaste im Feld Logical Expression erhält. 123

174 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Abbildung Das Eliminate Menü CommandTools Edit Topology Eliminate Usage: ELIMINATE <in_cover> <out_cover> {NOKEEPEDGE KEEPEDGE} {POLY LINE} {selection_file} {BORDER AREA} Beispiel Beim Digitalisieren von Polygonen wurde eine Linie versehentlich zweimal übereinander digitalisiert. Nach der erneuten Erstellung der Topologie sind dadurch zahlreiche Mini-Polygone entstanden. Diese werden anhand der Größe ihrer Fläche ausgewählt und den jeweiligen Nachbarpolygonen zugeschlagen. Entfernungsberechnungen Buffer: Erzeugung von Pufferzonen Eine der bekanntesten Analysefunktionen eines GIS ist die Pufferbildung (Buffering). Das zugehörige Fenster findet sich in CommandTools unter Analysis. Mit diesem lassen sich Pufferzonen eines 124

175 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC bestimmbaren Radius um Flächen, Linien, Punkte oder Nodes generieren. Dadurch wird als Ergebnis ein neues Coverage erzeugt, welches logischerweise Polygonstruktur, d.h. auch schon Topologie aufweist.! Die Pufferzonen in der Ergebnistabelle werden geometrisch und über die Attributwerte definiert. Dazu dient das Feld INSIDE in dem Ausgabecoverage: Ein Wert von 100 besagt, daß die Fläche innerhalb des Puffers liegt, ein Wert von 0 bezeichnet außerhalb liegende Flächen. Bei der weiteren Auswertung bzw. Visualisierung von Ergebnissen muß daher gegebenenfalls erst der Puffer mit reselect ausgewählt werden. Usage: BUFFER <in_cover> <out_cover> {buffer_item} {buffer_table} {buffer_distance} {fuzzy_tolerance} {LINE POLY POINT NODE} {ROUND FLAT} {FULL LEFT RIGHT} Beispiel Es sollen Flächen identifiziert werden, die bis zu 100 m von einer Schnellstraße entfernt sind. Coverages: Arc-Befehle: Vorgehensweise: Arc: buffer railroads rail3000 # # 3000 Buffering... Sorting... Intersecting... 5 Assembling polygons... Creating new labels... Finding inside polygons... Dissolving... Building nodes Creating rail3000.pat... Statt der Angabe einer einfachen Pufferdistanz ist auch die Verwendung eines sogenannten Buffer- Table möglich. In diesem befindet sich eine Spalte mit der Buffervariablen. Diese muß einer der Variablen in der AttributeTable des Input-Coverages entsprechen. Jeder Ausprägung derselben ist eine Pufferdistanz zugeordnet. Diese trägt den obligatorischen Namen DIST. Dadurch können unterschiedliche Weiten der Pufferzonen um Raumobjekte mit unterschiedlichen Variablenausprägungen erzeugt werden. Falls eine Variable des Input-Coverages direkt als Distanzwert dienen soll, kann diese mittels Buffer Item angegeben werden. 125

176 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Als weitere Option kann angegeben werden, ob die Puffer einseitig (Links/Rechts) oder beidseitig um die Arcs erzeugt werden sollen. Außerdem wird durch die Optionen Round oder Flat angegeben, wie die Enden behandelt werden sollen (abgerundet oder flach abgeschnitten). Entfernungsberechnungen Die folgenden Befehle finden sich nach Auswahl von Proximity im Analysis-Pulldownmenü der Command Tools. Near Der Befehl Near wird benutzt, um die Entfernung jedes Punktes in einem Coverage zu dem nächsten Arc (oder Point oder Node) eines zweiten Coverages zu berechnen. Damit können beispielsweise Attribute eines Punkt-Features dem nächstgelegenen Arc zugeschrieben werden, oder umgekehrt. Ein Anwendungsbeispiel sind Adressenbereiche für Straßenabschnitte. Near ist für drei Feature Classes und damit mit folgenden Optionen anwendbar: LINE Die Entfernung von einem Punkt zu einem Arc wird berechnet. Diese wird als neuer Item zusammen mit der internen Nummer (Name#) des nähesten Arcs im Near-Coverage standardmäßig in die PAT des Input Coverages geschrieben. POINT Die Entfernung zwischen zwei Punkten (in den beiden unterschiedlichen Coverages) wird berechnet und (genauso wie bei LINE) mit der internen ID in die PAT des Input Coverages geschrieben. NODE Die Entfernung zwischen Punkten und Nodes wird bestimmt. Diese wird wieder zusammen mit der internen ID des nächstgelegenen Nodes im Near Coverage der PAT des Input Coverages hinzugefügt. Weiterhin kann ein maximaler Suchradius angegeben werden (Search Radius). Liegt das nächstgelegene Feature nicht innerhalb dieser Distanz, wird es nicht dem Ergebnis-Coverage hinzugefügt. Schließlich kann der Defaulteintrag der internen ID des nächsten Punktes dahingehend erweitert werden, daß auch seine X- und Y-Koordinaten mitgespeichert werden. Dies bewirkt die Auswahl des Location-Knopfes. No Location behält die Standardeinstellung. Als Output Coverage muß ein neuer Name für das neu zu erstellende Coverage angegeben werden. 126

177 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Entfernungsmatritzen zwischen Punkten Die Funktion Point-Distance errechnet Entfernungstabellen zwischen den Punkten und den Nodes der entsprechenden Punkt- bzw.~node-coverages. Thiessen-Polygone Die Funktion thiessen berechnet aus einem Punktcoverage Polygone, indem um jeden Punkt Grenzlinien mit maximal möglichem Abstand gezogen werden. D.h. jeder Punkt auf einem Geradenstück zwischen zwei der sogenannten Thiessen-Polygone ist von dem Mittelpunkt des entsprechenden Polygons gleich weit entfernt. Die ursprünglichen Punkte dienen also als Mittelpunkte zu erzeugender flächenmaximaler Polygone. Diese Analysemethode geht davon aus, daß bei einer zweidimensionalen Verteilung von Punkten die beste Annäherung an andere Punkte durch den nächstgelegenen Punkt erfolgt. D.h.: Alle Punkte, die in dem entstandenen Polygon liegen, sind wahrscheinlich eher durch dem Punkt im Zentrum des Polygons gut repräsentiert, als mit jenen in den benachbarten Polygonen. Burrough, 1998, 114f. diskutiert die Nachteile dieser Methode. Sie eignet sich vor allem für qualitative (nominale) Daten. Usage: THIESSEN <in_cover> <out_cover> {proximal_tolerance} Arc: thiessen largcity citythiess Loading points from coverage largcity... Triangulating... Creating Thiessen structure... 5 Constructing arc/polygon topology... Generating polygon attributes... Abschlußaufgabe Zum Abschluß dieses Kapitels erhalten Sie noch einmal die Möglichkeit, den Umgang mit den vorgestellten Analysewerkzeugen zu üben. Im Gegensatz zu den vorherigen Aufgaben sind sie bei der Wahl der Methode auf sich gestellt. Es ist durchaus möglich, daß Sie auf verschiedenen Wegen zum Ziel gelangen. Benutzen Sie für diese übung die Coverages für den gesamten Staat Montana. Sie müssen diese dazu nicht in Ihr Verzeichnis kopieren --- es reicht aus, jeweils den kompletten Pfad zu einem Verzeichnis mit Leseberechtigung anzugeben (in diesem Fall /home/lnuecker/montana/. Arc: intersect /data/towns /data/landuse lutowns point Intersecting /data/towns with /data/landuse to create lutowns Overlaying points... Creating lutowns.pat... 5 ** Item "AREA" duplicated, Join File version dropped ** 127

178 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC ** Item "PERIMETER" duplicated, Join File version dropped ** 10 ** Item "AREA" duplicated, Join File version dropped ** ** Item "PERIMETER" duplicated, Join File version dropped ** Ein Investor möchte eine Restaurantkette Fried Green Tomatoes eröffnen und dazu geeignete alte Bahnhöfe in Montana finden. Er wendet sich an Sie, um ihm dabei behilflich zu sein. Wir gehen in diesem Fall (hypothetisch) davon aus, daß jeder Ort, der auf einer Bahnlinie liegt über einen Bahnhof verfügt (oder früher darüber verfügt hat) und daß alle Bahnhöfe in Orten mit unter 700 Einwohnern inzwischen aufgegeben wurden (und somit potenziell zur Verfügung stehen). Markterhebungen haben ergeben, daß potenzielle Kunden in mittleren bis größeren Städten zu finden sind und diese bereit sind, bis zu 12 km von ihrem Heimatort zurückzulegen. Reisende auf den Interstate-Highways würden einen Umweg von bis zu 8 km auf sich nehmen. Um die Auswahl einzuschränken gelten also folgende Kriterien: maximal 12 km (Luftlinie) von einem Ort mit mindestens 3000 Einwohnern ODER maximal 8 km (Luftlinie) von einem Interstate Highway entfernt Welche Orte sollte sich der Investor näher ansehen? Wie viele Schulen gibt es an diesen Orten? Konzentrieren Sie sich für diesen Aufgabenteil auf die Analyse. Die ansprechende Darstellung in einer Karte stellen wir in der Kurseinheit zu ARCPLOT vor. Weitere Werkzeuge - Die Productivity Tools Die Produktivity Tools umfassen eine Sammlung neu hinzugekommener Tools in ARCTOOLS unter: MapTools View Produktivity Tools Zu diesen Productivity Tools zählen Kommandos, die in früheren Versionen nur von der Kommandozeile aus aufzurufen waren und jetzt eine graphische Benutzeroberfläche (Graphical User Interface, GUI) erhalten haben, oder die ab der Version 7 tatsächlich neu hinzugekommen sind, wie die später erläuterten Animations-Tools. Abbildung Productivity Tools Menü 128

179 Kapitel 4. Räumliche Analyse mit CommandTools und in ARC Geokodieren von Adressen Abbildung Productivity Tools Menü Besonders für marktwirtschaftliche Aufgabenstellungen ist das sogenannte Geokodieren (Geocoding), nämlich das Zuweisen von Adressen, bzw.~adressbereichen zu digitalen Kartengrundlagen, insbesondere Strassenabschnitten), von immenser Bedeutung. Dies gilt für fast alle Firmen, die große Adressenbestände angesammelt haben und nun z.b. analysieren wollen, wo ihre Kunden überhaupt herstammen und welche Charakteristika deren Nachbarschaften aufweisen. Dies kann dazu dienen, das Standortnetz der Filialen zu optimieren, oder um Werbemaßnahmen gezielter durchführen zu können. Gerade in den letzten Jahren hat die Bedeutung des sogenannten Geomarketing deutlich zugenommen. Weiterführende Literatur: Peter A. Burrough und Rachael A. McDonnell, 1998, Principles of Geographical Information Systems., Oxford: OUP.. Graeme F. Bonham-Carter, 1994, Geographic Information Systems for Geoscientists: Modelling with GIS., Oxford: Pergamon/Elsevier. Stewart Fotheringham und Peter Rogerson, 1994, Spatial Analysis and GIS., London: Taylor & Francis.. Fußnoten 1. Gilt für einen späteren Teil der übung 2. Der reselect-befehl existiert in ähnlicher Form auch in anderen Arc-Modulen. Es ist z.b. in ArcPlot möglich, nur einen Teil der Elemente eines Coverages auszuwählen und anzuzeigen, ohne das Coverage selbst zu ändern oder ein neues erstellen zu müssen. 3. In der Voreinstellung JOIN bleiben die Attributwerte der Ursprungspolygone erhalten. Wählt man nur diejenigen Polygone aus, die in der entsprechenden User-ID einen Wert ungleich 0 besitzen, kann man das ursprüngliche Coverage rekonstruieren. Dieser Befehl kann nur auf zwei Polygoncoverages angewandt werden. 4. Diese können auch bei fehlerhafter Digitialisierung entstehen, wenn z.b. eine Linie zweimal übereinander digitalisiert wird und zwangsläufig nicht genau aufeinander zu liegen kommt. 129

180 Kapitel 5. Netzwerkanalyse Netzwerke sind durch Linien verbundene Systeme, entlang derer Bewegungen von Menschen, Materialien, Informationen etc. stattfinden. Linienhafte Prozesse lassen sich in Geographischen Informationssystemen modellieren bzw. simulieren Netzwerkanalyse Netzwerkanalysen mit den Productivity Tools Unter der Kategorie Network befindet sich eine ganze Sammlung von Tools, die das Arbeiten mit Netzwerken sowie deren Analyse erleichtern. Dazu gehören Pathfinding oder Allocation Modeling. Unter der Option Location-Allocation befindet sich ein eigenes Pulldownmenü mit einer ganzen Reihe von weiteren Verzweigungen (vgl. Abb.). Abbildung 5-1. Productivity Tools Menü, Type = Network und das Location-Allocation-Pulldownmenü Ab Version 7.0 enthält ARC/INFO solche ArcTools-Menüs, die den Benutzer z.b. bei der Suche nach kürzesten oder kostengünstigsten Strecken unter Einbeziehung verschiedener Orte in einem Netzwerk unterstützen. Anwendungsbeispiele finden sich in der Logistik, Tourenoptimierung oder ähnlichem. Das PathfindingTool kann zwei Dinge finden: Einen Path, das ist die kürzeste (oder abhängig von einer Variablen am wenigsten aufwendige) Strecke in einem Netzsystem oder eine Tour. Letzteres wäre der effizienteste Weg zu mehreren Orten oder Haltestellen. Was wird für die Streckenfindung benötigt? Zunächst benötigt man ein Network Link Coverage, das als Link Thema im aktiven View gespeichert wird. Dieses Link-Thema enthält außer der Information über den Pfad zum Network Link Coverage die Variable Item, die den Widerstand auf dem Netzwerk definieren soll. Optional können noch Tabellen angegeben werden, die die Abbiegevorschriften definieren (Turn Table) oder Variablen, die Barrieren (Barriers) angeben. 130

181 Kapitel 5. Netzwerkanalyse Alle diese Informationen bestimmen die Kosten oder den Widerstand, der aufzubringen ist, wenn man sich durch das Netzwerk fortbewegt. Beispiele wären finanzielle Kosten (z.b. Fahrpreise im öpnv, Geschwindigkeitsbeschränkungen oder einfach die Entfernung). Auf die Vorgehensweise zur Erstellung und Analyse von Netzwerken kann in diesem Rahmen nicht genauer eingegangen werden. 131

182 Kapitel 6. Rasteranalyse mit GRID Viele räumliche Phänomene lassen sich nicht so scharf abgrenzen wie dies die vektorbasierte Analyse modellhaft annimmt. In diesen Fällen, in denen Kontinua modelliert werden, ist die rasterbasierte Analyse und Modellierung sinnvoller. GRID ist der rasterbasierte Teil des ARC/INFO-Programmpaketes. Anwendungsgebiete Hydrologie Wirtschaftsgeographische Fragestellungen Umweltforschung Sozialforschung Wann sind andere Datentypen geeigneter? Datenquellen Gridtypen 132

183 Kapitel 6. Rasteranalyse mit GRID Integer-Grids Fließkomma-Grids Grid Die Menüs unter dem Typ Grid sind nur aufrufbar, wenn man sich in GridTools befindet und ein Grid geladen hat. Hier werden einige Funktionen zur Verfügung gestellt, die das Erstellen eigener rasterbasierte Modellierungen (z.b. zur Standortanalyse), das Errechnen von Widerstandskarten (Costpath Analysis) oder hydrologische Analysen, wie das Abgrenzen von Wasserscheiden erlauben. Abbildung 6-1. Productivity Tools Menü, Type = Geocoding, Type = Grid 133

184 Kapitel 7. Visualisierung ARC/INFO bietet verschiedene Möglichkeiten zur Ausgabe von Analyseergebnissen, sei es auf dem Bildschirm, auf Papierkarten oder in Form animierter Bildsequenzen. Auch hier kann die Auswahl von Features über die Attributtabellen eingeschränkt werden. In ARC/INFO gibt es mehrere Möglichkeiten zur Visualisierung von Analyseergebnissen. Neben der Bildschirmausgabe spielt die Ausgabe auf Papierkarten immer noch eine große Rolle. ARCTOOLS ermöglicht die interaktive Kartenerstellung. Einzelne Elemente werden über Menüs und Dialogboxen ausgewählt. Verschiedene Kartenlayouts sind vordefiniert und können verwendet werden. Die Karten werden in der Regel am Bildschirm entworfen. ARCPLOT wird dagegen über die Kommandozeile oder zuvor erstellte AMLs bedient. So ist es möglich, das Erscheinungsbild der Karten sehr genau festzulegen und eine große Zahl ähnlicher Karten, bei denen sich nur einzelne Variablen ändern, ohne Benutzereingriff erstellen zu lassen. Die Karten werden in der Regel vorher entworfen. Hilfreich ist es hierbei, das Layout vorher auf kariertem Papier einzuzeichnen, um die so ermittelten x- und y-werte direkt in das Makro bzw. an der Kommandozeile eingeben zu können. Ausgabe mit ARCPLOT Ausgabemedium Mit dem Befehl display trifft man die Auswahl des Ausgabemediums (Bildschirm, verschiedene Dateiformate). Für die Kartenausgabe empfiehlt es sich, das Layout zunächst am Bildschirm zu entwickeln und erst dann in ein Ausgabeformat umzuändern. Es ist auch möglich, nur einzelne Kartenelemente als Dateien zu exportieren und diese dann in anderen Graphikanwendungen einzubinden. display display 9999 display 1040 display Ausgabe (graphischer) Bildschirm Graphics File (gra) Encapsulated PostScript (eps) Angaben zur Kartengröße Um die Größe des Ausgabemediums und die Verhältnisse der einzelnen Kartenelemente zueinander festzulegen, müssen verschiedene Maße voreingestellt werden. Dazu dienen die folgenden Befehle: 134

185 Kapitel 7. Visualisierung mapextent pageunits pagesize maplimits mapunits mapscale mapposition mapinfo Ausschnitt aus der Karte, der angezeigt werden soll (kann ganzes coverage sein oder Ausschnitt der in Koordinaten angegeben wird) Vorgabewert ist Zoll, deshalb sollten wir hier cm angeben, um unsere DIN-Formate komfortabler eingeben zu können. Die Größe des Kartenblattes in pageunits Die Ausdehnung des momentan aktiven Kartenausschnittes Karteneinheit Maßstab der Karte in Karteneinheiten Ausrichtung der Karte innerhalb der maplimits Gibt momentane Einstellungen in Arcplot aus Abbildung 7-1. Wichtige Kartenparameter Auswahl von Signaturen und Farbskalen Je nach Ausgabegerät (Bildschirm, Plotter, Farb- oder Schwarzweißdrucker) gibt es daran jeweils angepaßte Signaturendateien, die über einen Symbolschlüssel angesprochen werden können. Je nach Signaturdatei gibt es von wenigen (16) bis zu 999 Symbolen in einer Signaturdatei. Es ist auch möglich, eigene Signaturdateien zu erstellen. textfont textquality textsize move text legt die Schriftart für das aktuell gültige Textsymbol fest sollte auf kern gesetzt werden - so werden die Abstände zwischen verschiedenen Buchstabenkombinationen besser angepaßt. Fontgröße in Punkt Position des folgenden Elements Text, der an der durch move festgelegten Position erscheinen soll. Die Ausrichtung wird mit cc usw. angegeben. 135