Klassifizieren bedeutet eine quantitative oder qualitative Bewertung von Daten. Oft ist damit eine Veränderung des Skalenniveaus verbunden. Die (quantitative) Klassifizierung von metrisch skalierten Daten (Hangneigung, Entfernung, Einwohnerzahl, etc.) in Gruppen bedeutet grundsätzlich einen Wechsel in ein niedrigeres Skalenniveau. Die Klassifizierung von Bodentypen ähnlicher Bodeneigenschaften ist ein Beispiel der qualitativen Klassifizierung ohne Wechsel des Skalenniveaus.
Bei der Anwendung von Programmen zur Klassifizierung von Daten, werden wir vorerst keine Programme betrachten, die zur Digitalen Bildverarbeitung (siehe Filter) oder im Rahmen der Fernerkundung (alle "i."-Programme in GRASS) benutzt werden.
Zum Klassifizieren von Daten benutzen wir das Programm r.reclass (siehe auch r.rescale oder r.rescale.eq).
Das Programm r.reclass, läßt sich, wie fast alle GRASS Programme, interaktiv oder auch kommandozeilenorientiert bedienen. Jede Reklassifizierung benötigt eine Reklassifizierungsregel, die der Wertezuweisung zugrundeliegen muß. Diese Reklassifizierungsregeln können im Falle der kommandozeilenorientierten Benutzung des Programms, entweder über die Tastatur oder eine Eingabedatei (-file) übergeben werden.
Die Reklassifizierungsregeln lassen sich nach folgendem einfachen Schema beschreiben:
Alter Wert |
= | Neuer Wert | Beschreibung | |
2 |
= |
1 |
Siedlung | |
Alte Werte |
= | Neuer Wert | Beschreibung | |
1 3 5 |
= |
2 |
Ackerland | |
Alter Wertebereich | = | Neuer Wert | Beschreibung | |
7 thru 10 |
= |
3 |
Grünland | |
Wertekombination |
= | Neuer Wert | Beschreibung | |
4 7 11 thru 13 15 |
= |
4 |
Krabbelnde Käfer |
Beispiel einer Kommandozeilen Eingabe:
r.reclass input=roads output=roads.r > 1 2 3 = 1 Landstraße > 4 5 = 2 Bundesstraße > 6 = 3 Autobahn end
Beispiel einer Kommandozeilen Eingabe mit Eingabeumleitung:
r.reclass input=roads output=roads.r < eingabe.dat
Inhalt von eingabe.dat könnten hier z.B. die oben über die Tastatur eingegebenen Werte sein.
Gängige Anwendungsbereiche der Abstands- oder Entfernungsanalyse sind:
Um diese Zonierung in GRASS durchzuführen benutzen wir das Programm
r.buffer
Hier der Bildschirmaufbau bei der interaktiven Benutzung des Programms:
Beispiel einer Kommandozeilen Eingabe:
r.buffer input=roads output=roads.buffer distances=500,24000 units=meters
Ein Filter ist eine Rechenoperation, die auf einen Rasterdatensatz angewandt wird und bei der die Werte eines jeden Pixels eines Overlays aus den Werten seiner Umgebung veraendert (neu berechnet) wird. Dazu wird der Filter über das Overlay "geschoben" und wiederholt berechnet.
Wozu werden Filter benötigt?
Einfache Filterberechnungen im Kurs werden wir mit r.neighbors durchführen. Die Matrixgröße eines Filters in r.neighbors ist frei wählbar. Warum?
> Bei einer geraden Matrixgröße kann es keine Mitte geben ;-)
Innerhalb eines Filters wird immer ein Wert berechnet, der dem Filtermittelpunkt zugewiesen wird. Prinzipiell können eigentlich alle denkbaren mathematischen Operationen innerhalb der Matrix ausgeführt werden. In r.neighbors sind es:
Beispiel:
Berechnung des Mittelwertes in einer 3*3 Matrix:
Filteroperation: Jedes Pixel wird gleich gewichtet, die Werte addiert und am Schluss durch 9 (Anzahl der Matrixfelder) geteilt:
Filter:
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
1 |
2 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
2 |
2 |
2 |
3 |
2 |
0 |
2 |
2 |
2 |
0 |
|
2 |
3 |
4 |
5 |
1 |
==> |
0 |
2 |
2 |
2 |
0 |
1 |
1 |
1 |
2 |
1 |
0 |
2 |
3 |
3 |
0 |
|
2 |
2 |
1 |
9 |
9 |
0 |
0 |
0 |
0 |
0 |
In Rasterbasierten GIS werden Objekte dadurch gebildet, daß zusammenhängende Pixel gleicher Attributsausprägung eine eindeutige Kennung erhalten, d.h. jede Objektkennung kommt nur einmal vor.
Beispiel:
|
|
1 |
1 |
1 |
2 |
2 |
1 |
1 |
1 |
2 |
2 |
|
1 |
2 |
2 |
2 |
2 |
1 |
2 |
2 |
2 |
2 |
|
3 |
3 |
1 |
1 |
1 |
==> |
3 |
3 |
4 |
4 |
4 |
3 |
3 |
2 |
2 |
1 |
3 |
3 |
6 |
6 |
4 |
|
1 |
1 |
2 |
2 |
2 |
5 |
5 |
6 |
6 |
6 |
Für die Objektbildung in GRASS gibt es den Befehl r.clump.
Um spezifische Informationen zu einzelnen, durch 'r.clump' mit einer konkreten Kennung versehenen Objekten zu bekommen, also eine Objektanalyse vorzunehmen, verwendet man den Befehl r.volume.