<< GRASS-Kurs Ermitteln eines Deponie-Standortes, Teil 2 >>

Standortanalyse Teil 2

In der Region "spearfish" soll ein geeigneter Deponiestandort gefunden werden.

Folgende Datensätze haben sie bereits für die Analyse vorbereitet:

  • texture (Bodenart)
  • slope (Hangneigung)
  • soil.br.depth (Bodenmächtigkeit)
  • streams (Flüsse)
  • landuse (Besiedlung)
  • roads (Strassen)
Zusätzlich sollen jetzt noch die Höheninformationen miteinbezogen werden.
  • elevation.dem
  • Folgende neue GRASS-Befehle sollen angewendet werden:


    Klassifikation: Reliefenergie (ELEVATION)

    Reliefenergie | Verschneiden | Objektbildung

    1. Anzeigen der Rasterdatei mit

    • d.rast elevation.dem

    2. Nachbarschaftsanalyse (siehe unter r.neighbors) mit dem Ziel, dass die Werte innerhalb des 11 x 11 Pixel-Fensters alle gleich dem niedrigsten, also dem Pixel der geringsten Höhe gesetzt werden:

    • r.neighbors i=elevation.dem o=elev.min method=minimum size=11

    Nach der Nachbarschaftsanalyse, die die Minima der Pixel-Matrix berechnet, erfolgt eine Nachbarschaftsanalyse der Maximaberechnung:

    • r.neighbors i=elevation.dem o=elev.max method=maximum size=11

    Hier wird also allen Werten innerhalb des 11 x 11 Fensters der höchste Wert, der innerhalb des Fensters vorkommt zugewiesen.

    3. Ziel des folgenden Schrittes soll es sein, die beiden neu berechneten Dateien miteinander zu verrechnen. Es soll also eine Karte erstellt werden, in der die Reliefstärke dargestellt ist:

    • r.mapcalc elev.relief="elev.max-elev.min"
    Zusätzliche Erläuterungen zur Ermittlung der Reliefstärke:

    Zunächst wurden die Maps elev.min und elev.max erzeugt. Dazu wurde zu jeder Rasterzelle der kleinste bzw. der grösste Wert seiner 11x11 Zellen Nachbarschaft im Höhendatensatz gesucht.

    Die Map der Reliefstärke (elev.relief) wurde dann als Differenz von elev.max und elev.min gebildet. Ein Vergleich zwischen elev.relief und der Hangneigung (map=slope) ist aufschlussreich: Beide sind erwartungsgemäss ähnlich, aber nicht identisch. Woran liegt das?

    d.rast elev.min d.rast elev.max

    4. Anzeigen der berechneten Datei

    • d.rast elev.relief

    Reliefenergie

    5. Anzeigen des Dateiinhalts; diesmal nicht mit r.report, dafür gibt es hier zu viele Werte, sondern mit:

    • d.histogram elev.relief

    Histogramm Reliefenergie


    X-Achse: Höhendifferenz in Metern x 10 (0-290m), Y-Achse: Anzahl der Zellen

    6. Die Höhendifferenzen werden in folgende Klassen eingeteilt:

    • r.reclass i=elev.relief o=elev.relief_class

    • > 0 thru 10 = 1 sehr gut
      > 11 thru 20 = 2 gut
      > 21 thru 30 = 3 mittel
      > 31 thru 290 = 100 schlecht
      > end

    Klassifizierte Reliefenergie


    Verschneiden

    Reliefenergie | Verschneiden | Objektbildung

    Unter Verschneidung versteht man das Kombinieren mehrerer Datenschichten (Layer), um so neue Informationen zu gewinnen. In unserem Fall geschieht dies über eine einfache Addition der Werte aller vorher berechneten Layer. Zur Erinnerung: Beim Klassifizieren haben gute, bzw. geeignete Stellen immer niedrige Zahlenwerte erhalten. Dies bedeutet, dass in dem Ergebnislayer, der durch die Addition entstanden ist, niedrige Werte auf geeignete mögliche Standorte hinweisen, hohe Werte auf ungeeignete.

    1. Zunächst soll man einen Überblick von den bislang berechneten Layern bekommen, bevor man mit dem Verschneiden der Layer beginnt.

    Klassifizierte Neigungen

    Neigung

    Bodenart

    Bodenmächtigkeit

    Gepufferte Fluesse

    Entfernung von Flüssen

    Gepufferte Landnutzung

    Entfernung von Siedlungen
    Reliefstärke

    Reliefstärke

    Liste aller klassifizierten Layer, die in die folgende Verschneidung eingehen.

    2. Zum Verschneiden der Layer mit einfacher Addition verwenden wir wieder r.mapcalc:

    • r.mapcalc deponie='slope_class + texture_class +
      soil.br.depth_class + streams_class +
      landuse_class + elev.relief_class'

    Bei dieser Operation besteht noch die Möglichkeit, gewisse Faktoren zu gewichten, z.B. landuse, streams und soil.br.depth, indem vor den Layernamen der Faktor gesetzt wird, mit dem multipliziert werden soll, z.B.:

    • ...+ 3 * landuse_class + ...
    Vergleichen Sie das Ergebnis verschiedener Faktoren bzw. Additionen (z. B. Weglassen von einzelnen Klassen).

    Der Layer mit den kombinierten Einzelwertungen kann z. B. so aussehen:

    Kombinierte Wertungen fuer Muellstandort

    Mit r.report deponie u=me lässt sich die Fläche der einzelnen Klassen in m2 anzeigen.

    Um die Anzahl der möglichen Flächen einzugrenzen wählen wir alle Klassen aus, die einen Wert von 16 oder weniger haben. (Zur Erinnerung: Wir haben geeignete Flächen mit geringen Zahlen bewertet, ungeeignete mit hohen). Die Zahl 16 ist hier mehr oder weniger willkürlich gewählt, andere sind natürlich möglich. Wir erhalten so einen ersten Überblick über die potentiellen Standorte.

    • r.mapcalc deponie.lt17="if(deponie < 17, 1, 2)"

    Dies bedeutet, dass dem Ergebnislayer deponie.lt17 dann der Wert 1 zugewiesen wird, wenn die Bedingung deponie < 17 wahr ist, ansonsten 2. Der Wert 2 soll hier nur temporär verwendet werden und wird später wieder entfernt.


    Objektbildung

    Reliefenergie | Verschneiden | Objektbildung

    1. Es ist eine gewisse Anzahl von Kleinstflächen enthalten. Diese filtert man aus mit

    • r.neighbors i=deponie.lt17 o=deponie.lt17.m si=13 meth=mode &

    Frage: Was genau macht dieser Befehl?
    (siehe g.manual r.neighbors)

    Wenn die Filterung der Kleinstgebiete erfolgreich war, kann man nun den Wert 2 wieder aus der Karte entfernen.

    • r.mapcalc deponie.lt17.m = "if(deponie.lt17.m == 1)"

    2. Man hat jetzt eine begrenzte Anzahl von möglichen Flächen, möchte sie aber gerne einzeln ansprechen können (Gebiet a, Gebiet b, usw.). Dazu bildet man mit r.clump einzelne Objekte:

    • r.clump i=deponie.lt17.m o=deponie.lt17.obj

    Verdeutlichen Sie sich diese clump-Operation mit den folgenden Befehlen:

    • r.report deponie.lt17.m u=me
    • r.report deponie.lt17.obj u=me
    Die einzelnen Objekte sollen dargestellt werden:

    • d.erase
    • d.rast deponie.lt17.obj -o

    Deponie-Objekte

    Mit dem Kommando:

    • d.what.rast deponie.lt17.obj
    und Anklicken der Flächen, kann man die Nummer der Clumps ermitteln. Auf diese Nummer bezieht sich der folgende report.

    Mit r.report ist es möglich, sich nicht nur die Grösse der einzelnen Gebiete anzeigen zu lassen, sondern auch, welche Klassen der Einzellayer welchen flächenmässigen Anteil an den einzelnen Gebieten haben. Wie?

    Indem man hinter den Befehl r.report ausser der deponie.lt17.obj. noch all die Layer anhängt, deren flächenmässiger Anteil an dem jeweiligen "Clump", unterteilt nach Klassen, herauskommen soll.

    • r.report deponie.lt17.obj,landuse_class,streams_class u=me

    Aufgabe: Ordnen Sie mit dem Befehl r.colors und einer selbsterstellten Farbdatei (rules.file) den ihrer Meinung nach am Besten geeigneten 3 Flächen die Farben rot, gelb und blau zu (alle anderen Flächen sollen in beliebigen Farben weiter sichtbar sein).

    Alternativ können Sie das gleiche Ergebnis auch mit dem Kommando d.colors map=ihr_deponie_kartenname erzielen. Lesen Sie aufmerksam die Bildschirmanleitung. Es werden ausschliesslich einzelne Zeichen auf der Tastatur eingegeben. Speichern mit der Taste "c" nicht vergessen und dann die Karte neu zeichnen.

    << GRASS-Kurs Ermitteln eines Deponie-Standortes Teil, 2 >>