GRID tools Extension
GRID tools ist eine Erweiterung für das SpatialAnalyst Modul von ArcView und macht wichtige Analysefunktionen, die bisher nur durch das Schreiben geeigneter Avenue Skripte verfügbar waren, auch dem weniger geübten Anwender zugänglich. Insgesamt erhöht sich durch das Einbinden dieser Extension der über das Menü vorhandene Funktionsumfang um über 34 neue Funktionen, die in folgende Sparten aufgeteilt werden können:
Hydrologische
Funktionen:
- Fließrichtungsberechnung
- Berechnung abfußloser Senken
- Berechnung von lokalen Schüttungspunkten (=Zuflußmaxima)
- Korrektur eines DEM zu einem hydrologisch korrekten
Höhenmodell
- Berechnung der Wasserakkumulation (wahlweise mit optionalem
Gewichtungsraster)
- Berechnung der Fließlänge hangauf- oder abwärts (wahlweise
mit optionalem Gewichtungsraster)
- Berechnung des Flusses von Nachbarzellen in die zentrale Zelle
- Berechnung der Wasserscheiden von Einzugsgebieten
- Individuelle Berechnung von Einzugsgebieten und Wasserscheiden
- Reklassifizierung von Flußnetzen
Funktionen
zur Oberflächenanalyse:
- Krümmungsberechnung
- Reliefschattierung mit optionalem Überhöhungsfaktor
Kostendistanzfunktionen:
- Berechnung der
gewichteten Entfernung
- Berechnung des günstigsten Weges
Räumliche
Manipulation bestehender Grids:
- Spiegelung in X- oder
Y-Richtung
- Drehung eines Grids
- einfache Gridverschiebung in XY-Richtung
- Vergrößern/Verkleinern der gegenwärtigen Rastergröße
- Entzerren und Verschieben von Grids durch Polynome
verschiedener Ordnung (nachträgliche Georeferenzierung)
- Zusammenfügen von neben- oder übereinanderliegenden Grids
- Ausschneiden eines Teilgrids durch eine überlagernde Graphik
Korrektur
von fehlerhaft klassifizierten Grids:
- Ersetzen einzelner
Zellen durch Umgebungswerte
- Ersetzen ganzer Gebiete durch Maskengrid
- Glätten von Regionsgrenzen
- Vergrößerung oder Verkleinerung von Regionen
- Ausdünnung zu breiter Rasterlinien
Erstellung
neuer Grids:
-
Erstellung neuer Grids durch 3 verschiedene Methoden
Extrahierung
von Eigenschaften:
- Aggregierung von
Rasterzellen durch verschiedene Methoden
- Extrahierung von Koordinaten und Eigenschaften mehrerer Grids
in eine Tabelle auf Zellenbasis
- Extrahieren von bestimmten Attributen, die im neuen Grid
erhalten bleiben
- Geometrische Attributsberechnung klassifizierter Zonen
- Überlagerung verschiedener Grids
- Identifikation unverbundener Gebiete einer Typusregion
- Nachbarschaftsanalyse auf Blockbasis
Im folgenden werden diese neuen, im Menü integrierten Funktionen kurz beschrieben. Erweiterte (englischsprachige) Informationen finden sich in einer kontextsensitiven Online Hilfe zu jeder einzelnen Funktion, die durch einen Mausklick auf die Menüfunktion bei gleichzeitigem Drücken der Shift-Taste aufgerufen werden kann. Dort ist zusätzlich noch ein Stichwort aufgeführt, unter dem in der Arc/View Online Hilfe erschöpfende Informationen zu der jeweiligen Funktion enthalten sind.
Eingefügte Funktionen im
bestehenden Menü Analysis
1. Find
CostDistance:
Berechnet die gewichtete Entfernung von den aktiven Zonen
(markierte Regionen) in einem Integergrid oder einem Shapefile.
Im Gegensatz zur obigen Find Distance Funktion, wird hier die
Entfernungsberechnung durch ein zusätzlich benötigtes und
abgefragtes Gewichtungsgrid modifiziert. Zusätzlich zur
Entfernung können noch zwei andere Grids berechnet werden, ein
sogenanntes Allocationgrid (Zuweisungsgrid), das einer
gewichteten Assign Proximity Funktion entspricht und damit die
nächstgelegenen Einflußzonen markiert, sowie ein sogenanntes
Backlinkgrid (Richtungsgrid), das die Richtungen angibt, in
welchen die Entfernung berechnet wurde.
2.
Find CostPath:
Berechnet den günstigsten oder kürzesten Weg zwischen
verschiedenen Regionen in einem Integergrid oder einem Shapefile.
Es werden 3 Grids benötigt, ein Kostendistanzgrid und ein
Backlinkgrid, die mit der obigen Funktion erstellt wurden und
Ausgangspunksregion, Entfernungskosten und richtung
angeben. Das in der Ansicht markierte Integergrid oder Shapefile
mit seinen Regionen kennzeichnet die Zielorte, zu denen ein oder
mehrere Wege (beide Optionen können ausgewählt werden) führen
sollen.
3.
Derive Curvature:
Berechnet die Krümmung eines Grids. Es stehen 4 Optionen zur
Auswahl: Totalkrümmung, Vertikale Krümmung, Horizontale
Krümmung, Alle genannten drei Krümmungsarten. Positive Werte
kennzeichnen konvexe Krümmungen, negative konkave. Die
Krümmungsstärke wird in Prozent der Z-Werteänderung
(Höhenwerte) angegeben.
4.
Extended Hillshade:
Erweitert die Hillshade Funktion um einen optionalen
Überhöhungsfaktor und schafft eine optisch ansprechende
Legende, die jedoch aus Platzgründen im Ansichtsfenster
standartmäßig nicht angezeigt wird.
5.
Neighborhood Statistics (Block):
Entspricht der Neigborhood Statistics Funktion mit dem
Unterschied, daß die Berechnung nicht für jede einzelne Zelle
gesondert berechnet wird, sondern für den ganzen Analyseblock
als Ganzes. Somit bilden das Ergebnis größere Zellblöcke, die
jeweils die gleichen Werte besitzen.
Funktionen im neuen Menü GRIDTools
1. New
Grid:
Erstellt ein neues Grid mit der in Analysis Properties
festgelegten Ausdehnung und Größe. 3 Optionen stehen zur
Verfügung: ein Grid mit einem einheitlichen Wert, der gewählt
werden kann, ein Grid, bei dem die Werte normal- oder
zufallsverteilt sind.
2.
Flip/Mirror:
Spiegelt das Grid in X-(Mirror) oder Y-(Flip)Richtung. Die
Lage des Grids bleibt jedoch gleich.
3.
Rotate:
Dreht das Grid um einen bestimmten Winkel um den
Ausgangspunkt (linke untere Ecke). Positive Winkel drehen im
Uhrzeigersinn, negative dagegen.
4.
Shift Grid:
Verschiebt ein Grid an einen neuen Ort.
5.
Resample:
Vergrößert oder verkleinert die Rastergröße eines Grids
auf die eingegebene Rastergröße. Das Auswahlfenster zeigt dabei
die gegenwärtige Rastergröße an.
6.
Aggregate:
Vergrößert die Zellengröße eines Grids; im Gegensatz zur
Resample Funktion allerdings mit verschiedenen wählbaren
statistischen Berechnungen (Mittelwert, Standartabweichung,
o.ä.).
7.
Warp:
Verzieht ein Grid und/oder schiebt es an einen neuen Ort,
indem mit der zuvor durch die Warp (MakeTable) Funktion eine
Tabelle erstellt wurde, in der die Koordinaten der Start- und
Endpunkte vom Nutzer eingetragen wurden, welche die Art der
Verschiebung/Verzerrung bestimmen. Die nachfolgende Warp Funktion
liest die erstellte Tabelle und schafft ein neues Grid mit der in
der Tabelle festgelegten Koordinatentransformation. Wichtig für
die Georeferenzierung eines Grids. Werden mehrere Warp Tabellen
erstellt, dann bekommt die jeweils neueste den Titel "Warp
Table", die vorher vorhandenen werden automatisch in
"Warp Table (old)" umbenannt, weil die Warp Funktion
nur eine Tabelle gleichzeitig benützen kann. Nur auf die Tabelle
mit dem Namen "Warp Table" kann die Warp Funktion
zugreifen.
8.
Merge Grids:
Fügt nebeneinanderliegende separate Grids zu einem neuen
zusammen. Es können beliebig viele ausgewählt werden. Wichtig
ist dabei, daß zuerst ausgewählte Grids eine höhere Priorität
besitzen als die nachfolgenden und damit bei eventuellen
Überschneidungen, die letzteren im Überschneidungsbereich
ersetzen. Wichtig zur Montage auseinanderliegender Raster, die
auf zwei verschiedene Arten erfolgen kann, die ausgewählt werden
können: Merge = Montage ohne Übergang bei sich überlappenden
Grids, Mosaic = Montage mit gleitenden Übergängen bei sich
überlappenden Grids.
9.
Combine:
Überlagert mehrere Grids zu einem neuen. Im Gegensatz zu
Merge Grids bleiben aber Überschneidungen völlig erhalten. Wenn
man Merge Grids mit der Überlagerung oder Aneinanderlegung
mehrerer undurchsichtiger Papierfotos veranschaulichen kann, dann
entspricht Combine der Überlagerung mehrerer Dias, d.h. es
enstehen neue homogene Flächen mit jeweils ganz
charakteristischen Eigenschaftskombinationen, die in einer neuen
Gridwertetabelle ebenfalls enthalten sind.
10.
Sample Grids:
Überlagert ebenso wie Combine mehrere Grids in der Art von
Dias. Das Ergebnis ist allerdings kein neues Grid, sondern
lediglich eine Tabelle, in dem alle Werte enthalten sind. Der
entscheidende Unterschied ist, daß in dieser Tabelle jedes
einzelne Pixel mit seiner Wertekombination und zusätzlich mit
seinen Koordinaten (!) aufgeführt ist. Für eine nachfolgende
Weiterbearbeitung in einem Statistikprogramm kann somit über
eine durch Sample Grid erstellte Tabelle zusätzlich zu einem
sachlichen Zusammenhang zwischen einzelnen Attributen (wie bei
Combine) auch noch ein eventuell bestehender räumlicher
Zusammenhang herausanalysiert werden.
11.
Extract By Graphic:
Schneidet aus einem Grid denjenigen Bereich heraus, der von
einer darüberligenden Graphik markiert wird und macht daraus ein
neues Grid.
12.
Extract By Attributes:
Extrahiert Regionen aus einem Grid, die bestimmte Bedingungen
erfüllen (=, <, >, o.ä). Im Unterschied zum Map Query
Tool oder zum Map Calculator, bleiben jedoch die Werte derjenigen
Attribute, welche die Bedingungen erfüllen, erhalten und werden
nicht wie dort auf 1 gesetzt. Ausgangsgrids dürfen nur
Integergrids sein.
13.
Majority:
Ersetzt einzelne isolierte Zellen durch den Wert ihrer
nächstgelegenen homogenen Umgebnungsnachbarn. Ausgangsgrids
dürfen nur Integergrids sein.
14.
RegionGroup:
Weist allen Regionen mit dem gleichen Wert, die aber
räumlich getrennt sind, jeweils eine eigene ID Nummer zu.
Ausgangs-grids dürfen nur Integergrids sein.
15.
Nibble:
Ersetzt Pixel in einem Grid, die in einem zusätzlichen
Maskengrid als NoData markiert sind, mit den Werten ihrer
nächsten Nachbarn. Funktioniert im Prinzip wie Majority, nur
daß auch größere Regionen korrigiert werden können und selbst
bestimmt wird, welche Bereiche korrigiert werden und welche
nicht.
16.
BoundaryClean:
Glättet die Grenzen zwischen verschiedenen angrenzenden
Regionen in einem Integergrid.
17.
Expand/Shrink:
Erweitert oder reduziert ausgewählte Gebiete in einem
Integergrid. Anhand eines eingegebenen Faktors wird das Ausmaß
der Gebietsveränderung bestimmt. Die
Vergrößerung/Verkleinerung selbst vollzieht sich auf
"Kosten" des Nachbargebiets, wobei von der Zonengrenze
gleichmäßig nach außen oder innen erweitert wird.
18.
Thin:
Dünnt zu dicke Rasterlinien in einem Integergrid aus.
19.
ZonalGeometry:
Berechnet zusätzliche geometrische Zonenattribute
(Gebietsgröße, Umfang, o.ä.) in einem Integergrid.
Funktionen im neuen Menü Hydro
1.
FlowDirection:
Berechnet die Fließrichtung aus einem Höhenmodell mittels
eines 3x3 Gitters. Die Zelle mit der größten Höhendifferenz
zur Zentralzelle bestimmt die Fließrichtung.
2.
Derive Sinks:
Berechnet abflußlose Senken aus einem Fließrichtungsgrid,
das zuvor aus einem Höhenmodell erstellt wurde.
3.
SnapPourPoints:
Extrahiert diejenigen Punkte, die in einem bestimmten
Suchbereich die absolut höchsten Wasserakkumulationswerte der
Umgebung aufweisen. Ausgangsgrid ist ein Integergrid mit einem
oder mehreren Pixelpunkten.
4.
Fill a DEM:
Füllt abflußlose Senken auf und schafft so ein hydrologisch
korrektes Höhenmodell, das für nachfolgende Analysen verwendbar
ist. Wichtig: wird diese Funktion bei einem entsprechenden
Höhenmodell nicht ausgeführt, dann können die nachfolgenden
hydrologischen Berechnungen unter Umständen nutzlos sein.
Generell soll diese Funktion bei jedem Höhenmodell mit normaler
Entwässerung vorgenommen werden, Ausnahmen sind natürlich
Karstgebiete.
5.
FlowAccumulation:
Berechnet die akkumulierte Wassermenge. Ausgangsgrid ist ein
Fließrichtungsgrid. Optional kann entschieden werden, ob
zusätzlich noch ein Gewichtungsgrid in die Berechnung eingeht
(beispielsweise ein Grid mit den Niederschlagswerten).
6.
FlowLenght:
Berechnet die Fließlänge des Wassers, entweder von der
Flußlinie oder den Wasserscheiden aus. Auch hier kann
zusätzlich noch ein Gewichtungsgrid mit in die Berechnung
einbezogen werden, wichtig vor allem, wenn sich die Fragestellung
auf zeitliche Aspekte oder Fließwiderstandsberechnungen
ausdehnt. Das Ausgangsgrid ist ein Fließrichutngsgrid.
7.
FocalFlow:
Berechnet, von welchen Umgebungszellen ein Fluß in die
Zentralzelle stattfindet. Die Werte bewegen sich von 1 bis 255,
je nachdem welche Kombination von Umgebungszellen am Fluß
beteiligt ist. Zusätzlich zu dieser Konvergenzberechnung kann
auch der Fluß aus der Zentralzelle in die Nachbarzellen
berechnet werden, indem einfach das Relief zuvor invertiert wird.
Das Ausgangsgrid kann entweder ein Höhenmodell oder jedes
beliebige Grid sein, je nach Fragestellung.
8.
Watershed:
Berechnet die Wasserscheiden von Gebieten mit einer als
Minimum angegebenen Einzugsgröße. Das Ausgangsgrid ist ein
Akkumulationsgrid, zusätzlich wird jedoch noch ein
Fließrichtungsgrid benötigt, das von der Funktion abgefragt
wird.
9.
Contributing Area:
Berechnet die zugehörigen Wasserscheidenbereiche, ähnlich wie
bei der Funktion Watershed. Allerdings ist hier das Ausgangsgrid
kein Akkumulationsgrid, sondern ein individuell ausgewähltes
Integergrid. Hierbei wird von jedem Pixel oder Gebiet mit einer
eigenen ID-Nummer das dazugehörige Einzugsgebiet berechnet.
Somit kann hiermit nicht nur ein komlettes Einzugsgebiet eines
ganzen Flußsystems berechnet werden, sondern darüberhinaus auch
das spezifische Hangzuzugsgebiet eines einzelnen Pixels, je
nachdem wie das Ausgangsgrid beschaffen ist. Interessant ist
diese Funktion vor allem zur Identifikation von Hangbereichen,
wie sie beispielsweise von der USLE- oder RUSLE-Erosionsformel
gefordert wird.
10.
StreamLink:
Gibt jedem Teilfluß in einem Flußsystem eine eigene ID-Nummer.
Somit bekommt jeder Zufluß und jeder nachfolgende Flußabschnitt
ab einer Verzweigung oder Mündung eine eigene ID-Nummer.
11.
StreamOrder:
Klassifiziert Flußsysteme nach der Shreve oder Strahler-Methode.
PS.:
Obwohl diese Funktionen hier als hydrologische Funktionen
deklariert sind, können selbstverständlich auch andere
Fragestellungen mit ihnen beantwortet werden. Beispielsweise kann
die Fließlängenfunktion auch für Kostendistanzanalysen benutzt
werden, die an eine bestimmte Richtung gebunden sind, usw.
1. Die GRID tools
Extension mit den Dateinamen "gridtools.avx"
wird in das Arc/View Extensionsverzeichnis kopiert,
das auf Windows95 oder WindowsNT Rechnern den Namen
"...\ARCVIEW\EXT32" trägt.
2. Nachdem Arc/View gestartet wurde, wird im
Menü File/Extensions die Extension mit dem Namen "GRID
tools" markiert und dann durch Drücken der OK Taste das
Fenster wieder verlassen.
3. Das wars. In jeder neuen Ansicht
erscheinen nun die zuvor beschriebenen Menüs. Da jede Funktion
mit einem sogenannten Update Script versehen
wurde, kann sie nur aufgerufen werden, wenn auch das markierte
Grid den richtigen Typus besitzt. Beispielsweise sind Funktionen,
die nur mit Integergrids lauffähig sind, bei Markierung von
Floatgrids oder keinem aktiven Grid inaktiv, usw.
Diese Extension wurde von Holger Schäuble (Universität Tübingen, Geographisches Institut) im Rahmen einer GIS Diplomarbeit 1998 geschrieben und ist frei kopier- und veränderbar, je nach Lust und Laune. Nahezu alle verwendeten Scripte dieser Extension sind Eigengewächse, lediglich die hinter den Funktionen Extract By Graphic (ESRI), Watershed (ESRI), Fill a DEM (ESRI) und Extended Hillshade (ESRI User Scripts) stehenden Skripten wurden leicht modifiziert übernommen. Obwohl ausführlich getestet, kann natürlich für absolute Fehlerfreiheit nicht garantiert werden, insbesondere deshalb, weil mir eventuelle Ungereimtheiten in der Bedienung nicht in dem Maße auffallen konnten, wie etwa einem unvoreingenommenen Benutzer. Für Hinweise oder Korrekturvorschläge bin ich daher sehr dankbar.