
\chapter{Volumenberechnung aus Rasterdaten}
\label{computing_volumina_de}
\subsubsection{Aufgabenstellung}
Ein schneller und für den Anwender gut nachzuvollziehender Weg,
Volumina aus Rasterdaten zu ermitteln, er"offnet sich, wenn eine
Grundfl"ache des zu berechnenden Körpers eben ist. Sollte dies nicht
gegeben sein, teilt man den K"orper durch einen ebenen Schnitt und
führt zwei Berechnungen aus, die man zum Ergebnis addiert.
Im gegebenen Fall "`Craterlake"' gib es zwei Dateien, eine mit Angaben
über den Kraterboden, die aus Echolotdaten zusammengestellt wurden
und eine Datei, die mit der Wasseroberfläche abschließt.
Da die Wasseroberfläche mit dem Grund des Kraters einen Körper
bildet, kann das Volumen des Sees ermittelt werden. 

\subsubsection{Beispieldaten}
Für die Bearbeitung der gestellten Aufgabe wird ein H"ohenmodell
des Craterlakes mit eingearbeiteten Echolotdaten des Seebodens
(10-m DEM with bathymetry)\footnote{http://craterlake.wr.usgs.gov/products/dem/crla\_bathy.zip}
benutzt, das wiederum vom USGS Crater Lake Data 
Clearinghouse\footnote{http://craterlake.wr.usgs.gov/}
zur Verfügung gestellt wird.

%\subsubsection{Weitere Verwendung der Beispieldaten}

\section{L"osung mit GRASS}\label{computing_volumina_de:grass}

Es wurde GRASS 5.0pre1 unter einer Debian GNU/Linux
Installation (woody) verwendet.\\


GRASS bedient sich zur L"osung dieser Aufgabe eines integrativen
Verfahrens, d.h. es "`z"ahlt"\ die Zellen in
jeder Ebene über bzw. unter jedem einzelnen Rasterelement.
Die Genauigkeit durch die Ausgangsdaten und
über die in {\em g.region} angegebene Aufl"osung beeinflusst
werden. Der Wassserstand im Krater ist nat"urlich schwankend, 
wird aber auf \footnote{http://craterlake.wr.usgs.gov/facts.html}
mit 1883 m über dem Meeresspiegel angegeben.
Zusammen mit den Echolotdaten des Kratergrundes kann somit eine
Volumenberechnung des Seeinhaltes erfolgen.

\subsection{Maskierung der Wasseroberfl"ache}
 Um die Volumenberechnung auf den Krater unterhalb der
 Wasseroberfläche zu beschränken, wird der "ubrige Teil der
 Rasterdatei durch eine Maske ausgeblendet. Zum Erstellen verwendet man den
 Befehl {\tt r.mapcalc} und beschr"ankt die Anzeige auf H"ohen kleiner
 oder gleich 1883m.

\label{sec:maskierung} 
\begin{kommando}
\begin{verbatim}
GRASS:~ > r.mapcalc maske="if((crater1 <= 1883),1,null())"'

EXECUTING maske = ...  100%
CREATING SUPPORT FILES FOR ergebnis
range: 1 1
\end{verbatim}
\end{kommando}

\begin{centering}
\Fig{\includegraphics[width=0.8\textwidth]{volumina-from-raster/volumen-mask-1.eps}}
	{Screenshot GRASS Craterlake Maske < 1883 m} 
	{Maske aller Gebiete mit H"ohen kleiner oder gleich 1883 m, (rot: aktives Gebiet, schwarz: Maske}\label{grass_volumen_1}
\end{centering}

Hierdurch wird eine neue Rasterdatei mit dem Rasterwert 1
f"ur jede Rasterzelle der Datei {\em crater1} angelegt, deren Wert
kleiner oder gleich 1883 ist. Die so deutlich hervortretenden Umrisse
des mit Wasser gefüllten Kraters müssen aber noch einmal per
Hand maskiert werden, um alle anderen unter 1883 m liegenden
Gebiete auszublenden. Dies geschieht, indem erst ein
Vektorpolygon um den zu maskierenden Teil
gelegt wird, und dieser in einem zweiten Schritt in eine Rasterdatei
umgewandelt wird, die dann als Maske benutzt werden kann.


 \subsection{Digitalisierung am Bildschirm} 
 \label{sec:Digitalisierung am Bildschirm}
Im folgenden, durch {\tt v.digit} aufgerufene Bildschirmmenü
wird {\tt 3} ausgew"ahlt, da wir
eine sogenannte Bildschirmdigitalisierung vornehmen wollen.
Die neu zu erstellende Vektordatei wird in diesem Beispiel {\em
maske} benannt. Die Raster- und Vektordateien können hier den gleichen
Namen bekommen.

\begin{kommando}
\begin{verbatim}
                 Available  Digitizers

           Name                   Description
           ----                   -----------
[1] Calcomp     Calcomp digitizer, format 23 (binary)
[2] Altek       Altek digitizer, model AC30, format 8 (binary) 
[3] none        Run digit without the digitizer.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
 Hit return to use digitizer in brackets
 or type in number or name of other digitizer.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
 Select digitizer [none] :  3

 Selected digitizer is: none                 

Enter the name of a map to work with.
    If name is entered that does not already exist, it
    will be created at this time.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
 DIGIT FILENAME 
Enter 'list' for a list of existing digit files
Hit RETURN to cancel request
> maske
<maske>
You requested to create new file: 'maske'. Is this correct? (y/n) [n] y
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Current mapset is UTM.
Is this map in UTM meters? (y/n) [y] 
\end{verbatim}
\end{kommando}
    
 Um Informationen zu der erzeugten Vektordatei speichern
 zu können, m"ussen im folgenden Menü Angaben gemacht werden.
 Da zum Beispiel die Rasterkarten aus Topographischen Karten der 
 Ma"sst"abe \begin{math}1:24.000\end{math} bis \begin{math}1:250.000\end{math}
 zusammengesetzt sind, ist es schwer einen eindeutigen
 Ma"sstab {\em Map's scale} anzugeben.
    
  
\begin{kommando}
\begin{verbatim}
Provide the following information:

Your organization   ___________________
Todays date (mon,yr)09,2001____________
Your name           heiko______________
Map's name          maske_______________
Map's date          __________
Map's scale         1:25000___
Other info          ___________________
Zone                10___
West edge of area   550840________
South edge of area  4733028_______
East edge of area   592070________
North edge of area  4775095_______

AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
\end{verbatim}
\end{kommando}

Die anschließende Frage {\em Shall we continue? [y]} wird 
mit {\tt y} bestätigt.

\paragraph{Das Modul v.digit}

Das Modul {\tt v.digit} besteht aus mehreren Menüs, die durch
die Eingabe vom ersten Buchstaben des Menünamens angew"ahlt werden.
Hierbei ist auf Gross- und Kleinschreibung zu achten.
Das Digitalisieren geschieht mit der
Maus am Bildschirm. Hierzu ist natürlich wieder ein Monitor nötig
der mit {\tt d.mon} zu starten ist. Das Startmenü sieht wie folgt aus:\\

\begin{kommando}
\begin{verbatim}
l---------------------------------------------------------k
| GRASS-DIGIT Modified  4.10                Main menu     |
|---------------------------------------------------------|
|MAP INFORMATION          | AMOUNT DIGITIZED              |
|Name:         maske      |   # Lines:         0          |
|Scale:        1          |   # Area edges:    0          |
|Person:       heiko      |   # Sites:         0          |
|Dig. Thresh.: 0.0300 in.    | - - - - - - - - - - - -  - |
|Map Thresh.:  19.050 meters | Total points:    0         |
|                            |                            |
|---------------------------------------------------------|
| OPTIONS:                |                               |
|                         |                               |
|Digitizer: Disabled      |                               |
|                         |                               |
|                                                         |
m---------------------------------------------------------j
|Digitize Edit Label Customize Toolbox Window             |
|         Help Zoom Quit                           *  !  ^|
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
|                                                         |
|GLOBAL MENU: Press first letter of desired               |
|             command.[Upper Case Only]                   |
m---------------------------------------------------------j
\end{verbatim}
\end{kommando}

 Um die Bildschirmdigitalisierung durchzuführen, bringen wir die
 schon erzeugte Rasterdatei {\em mask} auf den Monitor.
 Dies geschieht im {\em Customize Menü}, das durch ein großes {\tt
 C} aufgerufen wird.

\begin{kommando}
\begin{verbatim}
l---------------------------------------------------------------k
| GRASS-DIGIT Modified  4.10                     Customize Menu |
|---------------------------------------------------------------|
| Customize options:               Current:                     |
|  d - Set digitizing threshold     0.0300                      |
|  s - Set snapping threshold       0.0300                      |
|  F - Toggle flexible grey scale    OFF                        |
|  b - Toggle BEEP                   ON                         |
|  a - Toggle Auto Window            OFF                        |
|    - Toggle Windowing device       MOUSE                      |
|    - Toggle Point device           MOUSE                      |
|    - Toggle Digitizing device      MOUSE                      |
|  O - Select An Overlay vector Map None                        |
|  B - Select A Backdrop CELL Map   None                        |
|  D - Enter Display Options Menu      REMOVE                   |
|  C - Enter Color Options Menu                                 |
|  m - Toggle Auto-smoothing           OFF                      |
|  q - Return from whence we came                               |
m---------------------------------------------------------------j
| Help  Zoom  *  !  ^                                           |
|GLOBAL MENU: Press first letter of desired command.            |
|[Upper Case Only]                                              |
m---------------------------------------------------------------j
\end{verbatim}
\end{kommando}

 Das Hinterlegen einer Rasterdatei geschieht durch den
 Menüpunkt {\tt B}. Nachdem die entsprechende Datei
 ausgew"ahlt wurde, wird sie im Monitor dargestellt.
 Die Eingabe eines kleinen {\tt q} bringt das Anfangsmenü
 wieder auf den Bildschirm.
 
\begin{kommando}
\begin{verbatim}
Enter the name of an existing cell file
Enter 'list' for a list of existing cell files
Hit RETURN to cancel request
> maske
<maske>
Do you want to automatically redraw backdrop on re-window? (y/n) [y] 
\end{verbatim}
\end{kommando}
     
 Das eigentliche Digitalisieren wird im Menü {\tt D} ({\em Digitize})
 durch Drücken der {\tt Leertaste} gestartet. In dem nun
 gestarteten Menü wählt man mit {\tt t} den Ergebnistyp des
 Digitalisiervorganges aus, in unserem Fall {\tt AREA EDGE}.
 Der Linie kann automatisch ein Attributwert zugewiesen werden
 {\em Auto Label}, Taste {\tt l}, bei diesem Beispiel lassen wir
 die Ausgangsstellung {\em DISABLED} bestehen.

\nomenclature{\bf Attribut}{\input{glossary-de/glossary-attribut-de}}
\begin{kommando}
\begin{verbatim}
l-------------------------------------------------------------k
| GRASS-DIGIT Modified  4.10              Digitizing menu     |
|------------------------------------------------------------ |
|  Mouse Digitizer               | AMOUNT DIGITIZED           |
|                                |   # Lines:         0       |
|                                |   # Area edges:    0       |
|                                |   # Sites:         0       |
|                                | - - - - - - - - - - - - - -|
|                                |   Total points:    0       |
|-------------------------------------------------------------|
| Digitize options:              | CURRENT DIGITIZER PARAMS.  |
|                                |                            |
|  <space> Digitize              |  MODE       TYPE           |
|    - Toggle MODE               |   >POINT<     line         |
|  t - Toggle TYPE               |    stream   >AREA EDGE<    |
|  l - Auto Label                |               site         |
|  q - Quit to main menu         |                            |
|                                   AutoLabel:  DISABLED      |
m-------------------------------------------------------------j
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
|Edit Label Customize Toolbox Window Help Zoom  *  ! ^        |
|                                                             |
|GLOBAL MENU: Press first letter of desired command.          | 
| [Upper Case Only]                                           |
m-------------------------------------------------------------j
\end{verbatim}
\end{kommando}
      
 Die weitere Bearbeitung geschieht mit Unterstützung der Maus.
 Um die Zoom-Funktion aufzurufen betätigt man die mittlere
 Maustaste, die linke Maustaste beginnt das Digitalisieren,
 mit der rechten verlässt man diesen Auswahlbildschirm.
 Nachdem man ein Polygon um den gewünschten Auschnitt gelegt
 hat und diese Auswahl mit der rechten Maustaste bestätigt,
 sollte man eine "ahnlich Anzeige in seinem GRASS-Monitor 
 bekommen (Abb. \thechapter.\ref{grass_mask_digit_1}). Bei einem ungenauen
 Abschluss kann es vorkommen, dass die erzeugte Linie noch nicht
 geschlossen ist (Abb. \thechapter.\ref{grass_mask_digit_2}).
 Zum Schließen des Polygons gibt es eine "`Fangfunktion"' (snapping).   
 Man erreicht sie im Menü {\em Edit} unter {\em Snap line
 to node}.\\
 \nomenclature{\bf Polygon}{\input{glossary-de/glossary-polygon-de}}

\begin{centering}
\Fig{\includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-1.eps}}
	{Screenshot GRASS Craterlake Maskendigitalisierung 1}
	{Polygon zur Erstellung einer Maske}\label{grass_mask_digit_1}
\end{centering}

\newpage

\begin{centering}
\Fig{\includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-2.eps}}
	{Screenshot GRASS Craterlake Maskendigitalisierung 2}
	{Vergr"o"serung des noch ungeschlossenen Polygons}\label{grass_mask_digit_2}
\end{centering}\\


\begin{kommando}
\begin{verbatim}
Line to snap  FROM:

    Buttons:
       Left:   Choose line
       Middle: Accept chosen line
       Right:  Abort/Quit
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Node to snap  TO:

   Buttons:
       Left:   Choose node
       Middle: Accept chosen node
       Right:  Abort/Quit
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
node#: 2
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
 EAST:   575524.65
 NORTH: 4750334.93
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Attempting to snap line to itself. Proceed? [y]
\end{verbatim}
\end{kommando}

Ist die Linie ausgewählt und mit mittlerer Maustaste best"atigt
wird auf dieselbe Weise ein "`offener"\ Endknoten angew"ahlt und
wiederum best"atigt. Die Eingabe von {\tt Proceed? [y]} löst die
Fangfunktion aus. Als Ergebnis erh"alt man ein geschlossenes Polygon
(Abb. \thechapter.\ref{grass_mask_digit_3}).
Um das Polygon erfolgreich in eine Maske umwandeln zu k"onnen, muß
seinem Inhalt ein Attribut zugewiesen werden. Unter dem Menüpunkt
{\em Label} des {\em Main menu} findet sich die Option {\em Label
Areas} die durch {\tt a} angw"ahlt wird.
\vfill
\begin{centering}
\Fig{
\includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-3.eps}}
{Screenshot GRASS Craterlake Maskendigitalisierung 3}
{Geschlossenes Polygon f"ur die Maskenerstellung}\label{grass_mask_digit_3}
\end{centering}


\begin{kommando}
\begin{verbatim}
l----------------------------------------------------------------k
| GRASS-DIGIT Modified  4.10                          Label Menu |
|----------------------------------------------------------------|
| Label options:                                                 |
|  a - Label Areas          m - Label Multiple Lines             |
|  l - Label Lines          M - Un-Label Multiple Lines          |
|  s - Label Sites                                               |
|                           c - Label Contours                   |
|  A - Un-Label Areas       i - Contour interval:      <    5>   |
|  L - Un-Label Lines                                            |
|  S - Un-Label Sites                                            |
|                                                                |
|  B - Bulk Label Remaining Lines                                |
|                                                                |
|  h - Highlight Lines of category #                             |
|  d - Display Areas of category #                               |
|                                                                |
|  q - Return to main menu                                       |
m----------------------------------------------------------------j
|Digitize Edit Customize Toolbox Window Help Zoom * ! ^          |
|                                                                |
|GLOBAL MENU: Press first letter of desired command.             |
| [Upper Case Only]                                              |
m----------------------------------------------------------------j
\end{verbatim}
\end{kommando}

Die folgende Aufforderung {\em Do you wish to enter area names? [y]}
kann mit {\tt y} beantwortet werden. Als {\em Category Number}
sollte eine Zahl gewählt werden, die nicht mit den vorkommenden
H"ohen verwechselt wird, z.B. {\tt 5}, als Label {\em
mask}. Dieses {\em Label} kann aber auch ein Attribut für die {\em Areas}
 sein.\\

\begin{kommando}
\begin{verbatim}
l-------------------------------------------------k
|                                                 |
|   Enter Category Number (0 to quit):[0] 5       |
m-------------------------------------------------j
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
l-------------------------------------------------k
|                                                 |
|   Enter a label (<CR> to quit): maske           |
m-------------------------------------------------j
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
l-------------------------------------------------k
|                                                 |
| Add new category <5>, named <maske> ? [y] y     |
|                                                 |
m-------------------------------------------------j
\end{verbatim}
\end{kommando}

Zum Definieren der {\em AREA} wird ein Punkt innerhalb des Polygons
und die Polygonkante mit der linken Maustaste ausgew"ahlt und mit
der rechten best"atigt.

\begin{centering}
\Fig{
\includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-4.eps}}
{Screenshot GRASS Craterlake Maskendigitalisierung 4}
{Erstellte {\em AREA} in {\tt v.digit}}\label{grass_mask_digit_4}
\end{centering}

Das Digitalisierungs-Modul wird durch ein {\tt Q} (Quit) im {\em Main
menue} beendet. Die Frage {\em Leave digit [n]} wir mit Ja {\tt
[y]} und {\em compress [n]} mit Nein {\tt [n]} beantwortet.

\subsection{Erzeugung einer Rastermaske aus der Vektordatei}
Die Umwandlung der Vektordatei in eine Rastermaske geschieht durch
das Kommando {\tt v.to.rast}. Um die Ausgangsmaske {\em maske} nicht
zu "uberschreiben wird als neuer Name für die Rasterdatei {\em maske2}
gew"ahlt.
 

\begin{kommando}
\begin{verbatim}
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>
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
OPTION:   raster output file
     key: output
required: YES
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Enter a new raster file name
Enter 'list' for a list of existing raster files
Hit RETURN to cancel request
> maske2
<maske2>
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
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
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Raster map <maske2> done.
Total processing time:     0 mins 01 sec 
\end{verbatim}
\end{kommando}

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

\begin{kommando}
\begin{verbatim}
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
\end{verbatim} 
\end{kommando}
   
Im folgenden Menü können den verschiedenen Ebenen der Rasterdatei
nummerische Werte zugewiesen werden. Der Einfachheit halber wird der
f"unften Ebene {\em mask} der Wert 5 zugeteilt.

\begin{kommando}
\begin{verbatim}
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)
\end{verbatim} 
\end{kommando}

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

\begin{kommando}
\begin{verbatim}
GRASS:~ > r.mapcalc surface="if((crater1 <= 1883),1,null())"

EXECUTING mask = ...  100%
CREATING SUPPORT FILES FOR ergebnis
range: 1 1
\end{verbatim}
\end{kommando}

\begin{centering}
\Fig{
\includegraphics[width=0.8\textwidth]{volumina-from-raster/volumen-mask-2.eps}}
{Screenshot GRASS Craterlake Wasseroberfläche}
{Maskierte Wasseroberfläche des Kraters}\label{grass_volumen_mask_2}
\end{centering}

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

\begin{kommando}
\begin{verbatim}
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
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
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
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
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)
\end{verbatim}
\end{kommando}

Ein Aufruf der gesamten  so maskierten Rasterdatei {\em d.rast crater1}
erzeugt nur noch die Wasserfläche im GRASS-Monitor (Abb. \thechapter.\ref{grass_volumen_mask_2}).
Um die in {\em 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 {\em 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 "andert sich.\\

\begin{kommando}
\begin{verbatim}
r.mapcalc volumen="1883 - crater1"

EXECUTING volumen = ...  100%
CREATING SUPPORT FILES FOR volumen
range: 0 585
\end{verbatim}
\end{kommando}

Das eigentliche Volumen wird mit dem Befehl {\em r.volume}
ermittelt.
   
\begin{kommando}
\begin{verbatim}
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
\end{verbatim}
\end{kommando}
    
\subsubsection*{Ergebnis}
Das Ergebnis ist in diesem Fall 17.661.187.007 Kubikeinheiten,
also Kubikmeter Wasser.
Aufgrund der Lagekoordinaten mit 30m Aufl"osung, der
 jahreszeitlichen Schwankungen des Wasserspiegels und
 der gänzlich unbekannten Genauigkeit der Tiefenmessung ist dieser
Wert nur mit Einschränkungen weiterzuverwenden.
    

