next up previous contents index
Nächste Seite: Ergebnis Aufwärts: Lösung mit GRASS Vorherige Seite: Das Modul v.digit   Inhalt   Index

Erzeugung einer Rastermaske aus der Vektordatei

Die Umwandlung der Vektordatei in eine Rastermaske geschieht durch das Kommando v.to.rast. Um die Ausgangsmaske maske nicht zu überschreiben wird als neuer Name für die Rasterdatei maske2 gewählt.

GRASS:~ > v.to.rast

OPTION:   vector input file
     key: input
required: YES

Enter the name of an existing vector file
Enter 'list' for a list of existing vector files
Hit RETURN to cancel request
> maske
<maske>
OPTION:   raster output file
     key: output
required: YES
Enter a new raster file name
Enter 'list' for a list of existing raster files
Hit RETURN to cancel request
> maske2
<maske2>
OPTION:   number of rows to hold in memory
     key: rows
 default: 512
required: NO
enter option > 
Loading vector information ...                  0 mins 00 secs
Sorting areas by size ... 1 areas               0 mins 00 secs
Pass #1 (of 3)
  Processing areas ... 1 areas                  0 mins 00 secs
  Processing lines ... 0 lines                  0 mins 00 secs
  Processing sites ... 0 sites                  0 mins 00 secs
  Writing raster map ...                        0 mins 01 sec 
Pass #2 (of 3)
  Processing areas ... 1 areas                  0 mins 00 secs
  Writing raster map ...                        0 mins 00 secs
Pass #3 (of 3)
  Processing areas ... 1 areas                  0 mins 00 secs
  Writing raster map ...                        0 mins 00 secs
Creating support files for raster map ...       0 mins 00 secs
Raster map <maske2> done.
Total processing time:     0 mins 01 sec

Jetzt kehren wir zum Anfang der Aufgabe zurück und erstellen eine neue Maske, die nur die Wasseroberfläche in 1883 m Höhe über dem Meeresspiegel bedeckt. Zuerst benutzen wir die gerade erzeugte maske2 um in mapcalc nur die Wasseroberfläche zu berücksichtigen. Dazu rufen wir r.mask auf.

GRASS:~ > r.mask

MASK:  Program for managing current GIS mask

current mask:          none

Options:
    1      Remove the current mask
    2      Identify a new mask
  RETURN   Exit program

> 2

Enter name of data layer to be used for mask
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
> maske2

Im folgenden Menü können den verschiedenen Ebenen der Rasterdatei nummerische Werte zugewiesen werden. Der Einfachheit halber wird der fünften Ebene mask der Wert 5 zugeteilt.

IDENTIFY THOSE CATEGORIES TO BE INCLUDED IN THE MASK

OLD CATEGORY NAME                      CAT
                                       NUM

  . . . . . . . . . . . . . . . . .   0     0____
  . . . . . . . . . . . . . . . . .   1     0____
  . . . . . . . . . . . . . . . . .   2     0____
  . . . . . . . . . . . . . . . . .   3     0____
  . . . . . . . . . . . . . . . . .   4     0____
mask  . . . . . . . . . . . . . . .   5     5____

Next category: end__  (0 thru 6)

Jetzt wird nocheinmal der mapcalc Befehl für die Rasterdatei crater1 aufgerufen und man erhält die gewünschte Wasseroberfläche als Rasterdatei surface.

GRASS:~ > r.mapcalc surface="if((crater1 <= 1883),1,null())"

EXECUTING mask = ...  100%
CREATING SUPPORT FILES FOR ergebnis
range: 1 1

\includegraphics[width=0.8\textwidth]{volumina-from-raster/volumen-mask-2.eps}

Abbildung 8.6: Maskierte Wasseroberfläche des Kraters

Die Datei surface wird nun als neue Maske eingesetzt, nachdem die alte mask2 verworfen wurde.

GRASS:~ > r.mask

MASK:  Program for managing current GIS mask

current mask:          <mask2@tutorial> in mapset <tutorial>
masking category(ies): 5

Options:
    1      Remove the current mask
    2      Identify a new mask
  RETURN   Exit program

> 1
MASK:  Program for managing current GIS mask

current mask:          none

Options:
    1      Remove the current mask
    2      Identify a new mask
  RETURN   Exit program

> 2
Enter name of data layer to be used for mask
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
> surface 

IDENTIFY THOSE CATEGORIES TO BE INCLUDED IN THE MASK

OLD CATEGORY NAME                                  CAT
                                                   NUM

  . . . . . . . . . . . . . . . . . . . .   0     0____
  . . . . . . . . . . . . . . . . . . . .   1     1____

Next category: end__  (0 thru 1)

AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                (OR <Ctrl-C> TO CANCEL)

Ein Aufruf der gesamten so maskierten Rasterdatei d.rast crater1 erzeugt nur noch die Wasserfläche im GRASS-Monitor (Abb. 8.6). Um die in crater1 gespeicherten Höheninformationen auf die Wasseroberfläche zurückzuführen, ziehen wir von der Höhe der Wasseroberfläche (1883 m) über dem Meeresspiegel jede Höhenangabe in jeder Rasterzelle der Datei crater1 ab. Sollten sich die Höhenangaben in Bereichen unter dem Meeresspiegel bewegen oder benutzt man eine andere lokale Referenzhöhe so zieht man natürlich die Höhenangaben des Seegrundes von der des Wasserspiegels ab. Das Ergebnis bleibt gleich, nur das Vorzeichen ändert sich.

r.mapcalc volumen="1883 - crater1"

EXECUTING volumen = ...  100%
CREATING SUPPORT FILES FOR volumen
range: 0 585

Das eigentliche Volumen wird mit dem Befehl r.volume ermittelt.

GRASS:~ > r.volume volumen
Complete ... 100%
Volume report on data from volumen using clumps on MASK map

 Cat   Average  Data  # Cells       Centroid          Total
Number in clump Total in clump  Easting   Northing    Volume

 1    329.32  19615517  59564  573090.40 4754376.55 17661187006.99
                                     Total Volume = 17661187006.99



Unterabschnitte
next up previous contents index
Nächste Seite: Ergebnis Aufwärts: Lösung mit GRASS Vorherige Seite: Das Modul v.digit   Inhalt   Index
Heiko Kehlenbrink 2002-04-18