\chapter{Punktdaten einlesen und digitales H"ohenmodell erzeugen}
\label{computing_site_data_de}
\subsubsection{Aufgabenstellung}
 Das Problem, aus einem Punkthaufen verwertbare Daten zu erzeugen,
 tritt h"aufig im Vermessungswesen auf, z.B. bei der Auswertung von
 Höhenaufnahmen, bei denen ein mehr oder weniger enges Raster von
 H"ohenpunkten aufgemessen wird oder bei der Aufnahme von Profilen
 für eine Trassenplanung. Im folgenden wird eine eher ungewöhnliche
 Aufgabe besprochen.
 \subsubsection{Beispieldaten}
 Freundlicherweise hat Herr Dr.-Ing. Reinking, Professor an der
 Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven
 f"ur dieses Tutorial einen Datensatz einer "`H"ohenaufnahme"\
 oder besser "`Tiefenaufnahme"\ zur Verf"ugung gestellt, der im
 Hafenbecken von Elsfleth mittels Echolot und
 GPS-Positionsbestimmung ermittelt wurde. Es wird ausdrücklich darauf
 hingewiesen, da"s diese Daten und die daraus entstehenden Ergebnisse
 in keinster Weise für Navigationszwecke verwendet werden k"onnen.
 Der Datensatz {\tt elsfleth-1.0 (17 KB)} unterliegt der GNU General Public
  License.
 \subsubsection{Weitere Verwendung der Beispieldaten}
 Die hier bearbeiteten Daten werden in den folgend aufgez"ahlten
 Kapiteln benutzt:

\begin{itemize}
\item Kapitel \ref{triangulate_site_data_de} Seite
\pageref{triangulate_site_data_de} ff.
\end{itemize}

 
\section{Lösung mit GRASS}\label{computing_site_data_de:grass}
Es wurde GRASS 5.0pre1 unter einer Debian GNU/Linux
 Installation (woody) verwendet.

Da diese Aufgabe eine Grundlage für viele weitere Bearbeitungen
und Analysen mit GRASS ist, wird sie hier exemplarisch einmal sehr
ausf"uhrlich besprochen, um dem Nutzer eine Vorstellung von der
Arbeit mit GRASS zu vermitteln. 
\subsection{Teamwork}
Eine besondere Stärke von GRASS ist es, die Arbeit von mehreren Personen
im Team zu unterstützen. Dazu werden die {\em MAPSETS} automatisch mit
Leserechten für alle User versehen, Schreibrecht hat nur der jeweilige
Ersteller. So können die Daten in jeder {\em LOCATION} von
allen Bearbeitern benutzt werden, aber eine Veränderung
der Ausgangsdaten ist nur dem Eigentümer gestattet.
Das {\em MAPSET PERMANENT} enthält die grundlegenden
Daten der Location und sollte nicht als Arbeits-{\em MAPSET}
verwendet werden, da alle neuerstellten {\em MAPSETS} ihre
Daten hierher beziehen. Ist GRASS auf einer GNU/Linux Plattform
installiert, kommen hier noch die Vorteile einer Multi-User Umgebung
hinzu. So können je nach Rechnerleistung, mehrere User an einer
GRASS-Installation auf einem Rechner arbeiten. 

\subsection{Vorbereitungen}
   Der Programmaufruf erfolgt an der Kommandozeile durch Eingabe
   von :

\begin{kommando}
\begin{verbatim}
bash$ grass5
\end{verbatim}
\end{kommando}

    Die {\em 5} weist auf die benutzte Programmversion hin.
    Das von GRASS generierte Startmen"u erscheint und wird "ahnlich
    dem nachfolgend aufgeführten ausgefüllt und mit der Tastenfolge {\tt
    Esc Enter} beendet. Je nach Installation und Systemeinstellungen
    startet GRASS einen grafischen Eingabedialog. Die Bedienung
    ist analog zur textbasierten Benutzerschnittstelle.

\begin{kommando}
\begin{verbatim}
                            GRASS 5.0.0pre1
 
LOCATION: This is the name of an available geographic location.
          -spearfish-
          is the sample data base for which all
          tutorials are written.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
MAPSET:   Every GRASS session runs under the name of a MAPSET.
          Associated with each MAPSET is a rectangular 
          COORDINATE REGION and a list of any new maps created.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
DATABASE: This is the unix directory containing the
          geographic databases
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
         The REGION defaults to the entire area of the chosen
         LOCATION.
         You may change it later with the command: g.region
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
LOCATION:   elsfleth_____  (enter list for a list of locations)
MAPSET:     hafen________  (or mapsets within a location)
 
DATABASE:   /tmp/test/________________________________________
 
 
    AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                   (OR <Ctrl-C> TO CANCEL)   
\end{verbatim}
\end{kommando}
     
     Die {\em LOCATION} ist der "ubergeordnete Arbeitsbereich in dem 
     ein oder mehrere zu bearbeitende {\em MAPSET} liegen.
     Die {\em DATABASE} beeichnet das Verzeichnis, in dem die
     {\em LOCATION} abgelegt ist. 
     Diese {\em LOCATION} benötigt bei der Erstellung einige    
     Parameter die zur korrekten Darstellung und
     Bearbeitung des Projektes erforderlich sind:
     \paragraph{UTM Location}Bei auf UTM
     basierenden Daten zum Beispiel die entsprechende UTM-Zone, die
     Daten zu dem verwendeten Ellipsoid (grs80, Hayford, Bessel,
     Krassovski,...) und die genutzte Koordinatenrealisierung, das
     sogenannte Datum (WGS84, NAD27, NAD83, Potsdam und weitere), siehe
     hierzu auch \cite{voser}. 
     \index{Datum}
     \nomenclature{\bf Datum}{\input{glossary-de/glossary-datum-de}}
     \nomenclature{\bf Ellipsoid}{\input{glossary-de/glossary-ellipsoid-de}}
     \nomenclature{\bf GPS}{\input{glossary-de/glossary_gps_de}}
     \paragraph{x-y Location}Um ein kartesisches
     Koordinatensystem zu benutzen wählt  man (x,y - Men"upunkt {\em a}).     
     \nomenclature{\bf GUI}{\input{glossary-de/glossary-gui-de}}      
     \nomenclature{\bf Koordinatensystem}{\input{glossary-de/glossary-koordinaten-de}}      
     \nomenclature{\bf Koordinatensystem, kartesisch}{\input{glossary-de/glossary-kartesisch-de}}      
     \paragraph{Gau"s-Kr"uger Location}Um eine {\em LOCATION}
     f"ur die in Deutschland gebräuchlichen Gau"s-Kr"uger
     Koordinaten zu erstellen, muss es zuerst definiert werden.
     \index{Gau"s-Krüger}Besonders bei einer
     geplanten Konvertierung in andere Koordinatensysteme ist auf
     die korrekte Eingabe der Parameter zu achten. Wird eine neue
     Location erstellt erscheint eine Auswahlmaske "ahnlich der
     folgenden:\\

\nomenclature{\bf Koordinatensystem, Gauß-Krüger}{\input{glossary-de/glossary-gausskrueger-de}} 

\begin{kommando}
\begin{verbatim}
LOCATION <test> - doesn't exist
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Available locations:
----------------------
craterlake
----------------------

Would you like to create location <elsfleth> ? (y/n)y

\end{verbatim}
\end{kommando}

Auch die n"achste Maske wird mit {\tt (y)es} beantwortet.

\begin{kommando}
\begin{verbatim}
To create a new LOCATION, you will need the following
information:

1. The coordinate system for the database
        x,y (for imagery and other unreferenced data)
        Latitude-Longitude
        UTM
        Other Projection
2. The zone for the UTM database
   and all the necessary parameterOther Projection
   coordinate system? (y/n) [y] y  s for projections other
   than Latitude-Longitude, x,y, and UTM
3. The coordinates of the area to become the default region
   and the grid resolution of this region
4. A short, one-line description or title for the location

Do you have all this information for
location <elsfleth>? (y/n)y
\end{verbatim}
\end{kommando}


    Da eine Gau"s-Kr"uger-{\em Location} erstellt werden, soll ist {\tt D}
    auszuw"ahlen und zu best"atigen.

\begin{kommando}
\begin{verbatim}
Please specify the coordinate system for location <test>
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
A   x,y
B   Latitude-Longitude
C   UTM
D   Other Projection
RETURN to cancel

> D
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Other Projection coordinate system? (y/n) [y] y
\end{verbatim}
\end{kommando}

    Falls gew"unscht kann eine einzeilige Beschreibung für die neue
    {\em Location} gespeichert werden. Dies ist sehr hilfreich, wenn man in
    mehreren verschiedenen {\em Locations} arbeitet.\\

\begin{kommando}
\begin{verbatim}
Please enter a one line description for location <elsfleth>

>Tiefenaufnahme Hafen Elsfleth
=====================================================
Tiefenaufnahme Hafen Elsfleth
=====================================================
ok? (y/n) [n] y
\end{verbatim}
\end{kommando}

    Die Projektionsart in Gau"s-Kr"uger Systemen ist eine transversale
    Mercatorprojektion, Auswahl: {\tt tmerc}, weiter wird das
    Bessel-Rotationsellipsoid verwendet, Auswahl: {\tt bessel},
    durch Eingabe von {\tt list} werden die optional
    verf"ugbaren Auswahlm"oglichkeiten angezeigt.
    Ein spezielles Datum für die Koordinatenrealisierung
    kann hier angegeben werden. Im vorliegenden
    Fall ist es das "`Potsdammer"' Datum.\\
   
\begin{kommando}
\begin{verbatim}
Please specify projection name
Enter 'list' for the list of available projections
Hit RETURN to cancel request

>tmerc
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Please specify ellipsoid name
Enter 'list' for the list of available ellipsoids
Hit RETURN to cancel request
>bessel
Do you want to specify a map datum for this location?(y/n) [y]
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Please specify datum name
Enter 'list' for the list of available datums
Hit RETURN to cancel request
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
>list
datum
a-can
eur50
grs80
nad83
potsdam
rome40
wgs84
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Please specify datum name
Enter 'list' for the list of available datums
Hit RETURN to cancel request
>potsdam
\end{verbatim}
\end{kommando}

 {\em Central Parallel} ist der "Aquator, also 0 Grad.
    {\em Central Meridian} der Mittelmeridian des jeweiligen
    Meridianstreifens, hier 9 Grad "ostlich von Greenwich. Der
    Ma"sstabsfaktor {\em Scale factor} ist in diesem Fall  1.000.
    Um negative Rechtswerte zu vermeinden, werden jeweils 500000 Meter auf
    den Rechtswert des Mittelmeridians aufaddiert, hinzu kommt die
    Identifikationsnummer des Zentral-/Mittelmeridians, diese ergibt
    sich aus dem Gradwert des Mittelmeridians geteilt durch 3.
    In unserem Fall also 9 Grad östl. Länge geteilt
    durch 3 ergibt 3, zusammen mit den 500000 Metern haben wir ein
    {\em False Easting} von {\tt 3500000} "`Metern"'.
    Um auch Koordinatensysteme mit einem {\em False Northing} 
    wie beispielsweise das National British Grid verwenden zu können
    gibt es in GRASS - Versionen ab M"arz 2002 die Möglichkeit
    einen solchen Wert bei der Abfrage {\em Enter False Northing [y\_0]
      [0.000000000]: } anzugeben.\\
    \nomenclature{\bf Projektion}{\input{glossary-de/glossary-projektion-de}}
    \nomenclature{\bf Projektion, Mercator}{\input{glossary-de/glossary-mercator-de}}


\begin{kommando}
\begin{verbatim}
Enter Central Parallel [lat_0] (23N) :0N

Enter Central Meridian [lon_0] (96W) :9E

Enter Scale Factor at the Central Meridian [k_0]  [1.000]: 1.000

Enter False Easting [x_0]  [0.0000000000]: 3500000

Enter plural form of units [meters]: meters
\end{verbatim}
\end{kommando}

Ab März 2002 :

\begin{kommando}
\begin{verbatim}
Enter Central Parallel [lat_0] (23N) :0N
C
Enter Central Meridian [lon_0] (96W) :9E

Enter Scale Factor at the Central Meridian [k_0]  [1.000]: 1.000

Enter False Easting [x_0]  [0.0000000000]: 3500000

Enter False Northing [y_0]  [0.0000000000]: 0.0

Enter plural form of units [meters]: meters
\end{verbatim}
\end{kommando}

%\begin{sloppypar}
    Hat man die Regionparameter für die neue Location ({\em DEFAULT
    REGION}) vorliegen, k"onnen sie jetzt eingegeben werden. Es wird
    aber auch sp"ater gezeigt, wie man die Regionsgrenzen aus den zu
    bearbeitenden Dateien in GRASS übernehmen kann. Die Aufl"osung
    ({\em GRID RESOLUTION}) sollte bei der Verarbeitung von 
    Rasterdaten der gew"unschten Aufl"osung des Ergebnisses entsprechen,
    eine "Anderung ist aber jederzeit durch den Befehl {\tt
    g.region} m"oglich. Die Eingabemaske wird mit einem {\tt ESC}
    gefolgt von {\tt ENTER} best"atigt.
%\end{sloppypar}
\paragraph{Tipps}
\begin{itemize}
\item Da in der zu bearbeitenden Datei einige Punkte weniger als
      1 m Abstand voneinander haben, ist es vorteilhaft, die {\em
      GRID RESOLUTION} also die Rasterweite schon jetzt zu
      verkleinern, beispielsweise auf 0.5 Einheiten,
      in unserem Fall entprechend 0.5 Meter.
\item Wird die Rasterweite sehr klein gewählt, so verlängert sich
      die Bearbeitungsdauer auf jeden Fall, bringt aber
      nicht unbedingt bessere Ergebnisse. Das wohlbedachte 
      Auswählen der Regionsparameter lohnt sich immer, da oft
      bei folgenden Berechnungen Zeit gespart wird.
\end{itemize}

\begin{kommando}
\begin{verbatim}
                    DEFINE THE DEFAULT REGION



\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
                  ====== DEFAULT REGION =======
                  | NORTH EDGE:1__________    |
                  |                           |
       WEST EDGE  |                           |EAST EDGE
       0__________|                           |1__________
                  | SOUTH EDGE:0__________    |
                  =============================
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}


      PROJECTION: 99 (Other Projection)          ZONE: 0

                        GRID RESOLUTION
                           East-West:     0.5_______
                          North-South:    0.5_______
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}

      AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                       (OR <Ctrl-C> TO CANCEL)
\end{verbatim}
\end{kommando}

    Da die soeben gemachten Eingaben von grunds"atzlicher Bedeutung
    für die weitere Berabeitung sind, sie definieren sozusagen die
    Welt, in der sich die GRASS - {\em Location} befindet, werden sie in
    der folgenden Bildschirmausgabe noch einmal aufgeführt und vom
    Anwender nach entsprechender Kontrolle bestätigt.
    Falls man die genauen Abgrenzungen des Arbeitsbereiches im 
    voraus schon kennt, kann man die entsprechenden Werte eingeben.
    Der Vorteil ist, da"s von Anfang an alle weiteren {\em MAPSETS}
    mit der selben Ausdehnung und Auflösung angelegt wird.
    Im Beispiel wird die Ausdehnung des {\em MAPSETS} im weiteren
    Verlauf der Bearbeitung per Befehl aus den importierten Daten
    eingelesen.\\

\begin{kommando}
\begin{verbatim}
 projection:   99 (Other Projection)
  zone:         0
  north:       1
  south:       0
  east:        1
  west:        0
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
  e-w res:     0.5
  n-s res:     0.5
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
  total rows:                2
  total cols:                2
  total cells:               4
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}

Do you accept this region? (y/n) [y] > y
\end{verbatim}
\end{kommando}

     Nachdem alle weiteren Abfragen best"atigt wurden, kommt man
     zurück zu dem Begr"u"sungsbildschirm, in dem man nun die 
     Arbeitsumgebung {\em MAPSET} erstellen und mit {\tt ESC} und
     {\tt ENTER} "offnen kann.\\

\begin{kommando}
\begin{verbatim}
                            GRASS 5.0.0pre1

LOCATION: This is the name of an available geographic location.
          -spearfish-
          is the sample data base for which all
          tutorials are written.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
MAPSET:   Every GRASS session runs under the name of a MAPSET.
          Associated with each MAPSET is a rectangular
          COORDINATE REGION and a list of any new maps created.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
DATABASE: This is the unix directory containing the
          geographic databases

         The REGION defaults to the entire area of the chosen
         LOCATION.
         You may change it later with the command: g.region
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

LOCATION:   elsfleth_____  (enter list for a list of locations)
MAPSET:     hafen________  (or mapsets within a location)

DATABASE:   /tmp/test/________________________________________



    AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                   (OR <Ctrl-C> TO CANCEL)
\end{verbatim}
\end{kommando}

    Im nächsten Bildschirm kann schon mit GRASS gearbeitet werden,
    um zus"atzlich die GUI aufzurufen gibt man den Befehl {\tt tcltkgrass \&}
    an der Kommandozeile ein. Das "`Kaufmannsund"' {\tt \&} sorgt in
    diesem Aufruf dafür, da"s der Befehl im Hintergrund läuft und nicht
    das weitere Arbeiten mit der Kommandozeile, blockiert.\\

\begin{kommando}
\begin{verbatim}
Welcome to GRASS 5.0.0pre1 (April 2001)

Geographic Resources Analysis Support System (GRASS) is Copyright,
1999-2001 by the GRASS Development Team, and licensed under
terms of the GNU General Public License (GPL).

This GRASS 5.0.0pre1 release is coordinated and produced by the
GRASS Development Team headquartered at University of Hannover with
worldwide support and further development sites located at Baylor
University and the University of Illinois.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

This version running thru the Bash Shell (/bin/bash)
Help is available with the command:      g.help
See the licence terms with:              g.version -c
Start the graphical user interface with: tcltkgrass&
When ready to quit enter:                exit
GRASS:/tmp/test > tcltkgrass &
\end{verbatim}
\end{kommando}


\paragraph{Tipps:}
\begin{itemize}
 \item durch das Eingeben von {\tt list} bekommt man bei vielen
 Eingabeaufforderungen in GRASS Auswahllisten zu Locations,
 Mapsets, Ellipsoiden, Daten, ... angeboten
\item Eingaben an der Kommandozeile werden durch {\tt ESC Enter} "ubernommen
\end{itemize}

\subsection{Anmerkungen zum Arbeiten mit GRASS}
Das Geoinformationssystem GRASS ist streng modular aufgebaut, d.h.
zum Beispiel, dass viele einzelne
Bearbeitungsschritte (Module/Programme/Kommandos) hintereinander
aufgerufen werden, oftmals ohne dass dem 
Benutzer dieses klar wird. Die Kommandos werden erkennbar
durch ihren Namen geliedert. So beginnen alle Kommandos, 
die Rasteroperationen ausf"uhren mit {\tt r.}. Die Vektorprogramme mit
{\tt v.} u.s.w.. Eine komplette "Ubersicht "uber alle Kommandos mit
einer kurzen Erkl"arung ihrer Wirkung befindet sich
hier\footnote{http://grass.itc.it/gdp/html\_grass5/grass\_commandlist.html}.
Die ausf"uhrlichen Beschreibungen, die sogenannten "`Manual Pages"\, mit
Abgabe der verlangten Ein- und Ausgaben, und der Auflistung
von Optionen findet sich unter\footnote{http://grass.itc.it/gdp/html\_grass5/index.html}
im Bereich "`Modules section". 


\subsection{"Offnen einer graphischen Anzeige}

Zur grundlegenden Benutzung von GRASS ist es erforderlich
einen Monitor, d.h. ein Ausgabefenster zu "offnen, indem
die Ergebnisse der einzelnen Arbeitsschritte angezeigt
werden k"onnen.  Dies geschieht mit dem Befehl {\tt d.mon}
. \index{d.mon} \index{Monitor}

\begin{kommando}
\begin{verbatim}
GRASS:~ > d.mon
\end{verbatim}
\end{kommando}

Hiermit wird ein
interaktives Men"u zur Verwaltung der Monitore aufgerufen.
Es können 7 Monitore (Fenster auf dem Bildschirm)
gleichzeitig betrieben werden. Ein Befehl wird immer auf dem jeweils
zuvor ausgew"ahlten Monitor ausgef"uhrt. Monitore k"onnen
ge"offnet, geschlossen, ausgew"ahlt und freigegeben
werden. Nach dem Auswählen eines freien Monitors und dem
beherzten Drücken auf {\tt ENTER} "offnet sich das
gew"unschte Bearbeitungsfenster.\\

\begin{kommando}
\begin{verbatim}
                    MONITOR MENU


Making sure that the graphics monitor is running

     1 - start a graphics monitor
     2 - stop a graphics monitor

Choosing a graphics monitor for your graphics

     3 - select a graphics device for output
         (currently selected monitor: x0)

     4 - relinquish control of the graphics device
         (let someone else use it)

RETURN - quit
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
> 1

Currently selected graphics monitor: x0
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Enter name of graphics monitor to start
Enter "list" for a list of known monitors
Enter "list -f" for a list with current status
Hit RETURN to return to menu
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
> x0
using default visual which is TrueColor
Visual is read-only or using a private colormap
ncolors: 32768
allocating memory...
Graphics driver [x0] started

hit RETURN ->
\end{verbatim}
\end{kommando}

\subsection{Importieren von Punktdaten}
 Mit dem Befehl {\tt s.in.ascii} \index{s.in.ascii}(das "`s"' steht
 in diesem Fall f"ur "`sites"') werden
 ASCII-kodierte Datens"atze als Punktdaten
 in GRASS importiert. Die ASCII-Datei k"onnte z.B.
 zeilenweise den Rechtswert, Hochwert und die H"ohe (des Punktes)
 enthalten. Die Trennung der einzelnen Werte erfolgt mittels
 eines Feldtrenners, des Parameters {\tt fs=} im
 Befehlsaufruf. Dieser fs (Field Seperator) kann alle
 m"oglichen Zeichen umfassen, Leerzeichen sind die hier
 Grundeinstellung. Soll ein Tabulator als fs benutzt werden
 wird so wird er mit {\tt fs=tab} gesetzt.
\nomenclature{\bf ascii}{\input{glossary-de/glossary-ascii-de}}

\begin{kommando}
\begin{verbatim}
GRASS:~ > s.in.ascii input=/home/heiko/elsfleth-1.0/tiefen.txt
sites=tiefen fs=tab
\end{verbatim}
\end{kommando}

 Um genauere Angaben "uber die soeben importierten Daten zu
 erhalten, kann der Befehl {\tt s.info} benutzt werden.\\

\begin{kommando}
\begin{verbatim}
GRASS:/tmp/test > s.info tiefen
\end{verbatim}
\end{kommando}

 Aus dem folgendem Bildschirm k"onnen die Regionsparameter
 entnommen werden, um die importierte Datei in den GRASS -
 Monitoren vollständig darstellen zu können. Dies kann per Hand
 über {\tt g.region} und die folgende interaktive
 Benutzerführung geschehen.\\

\begin{kommando}
\begin{verbatim}
tiefen read.
----------------------------------------------------------

SITES FILENAME: tiefen
--------------

Header Information:
------------------

Number of DIMENSIONS:         2
--------------------
                 - - MIN - -     - - MAX - -
        dim  1  3464538.762000  3464746.718000  Easting
        dim  2  5901140.217000  5901596.918000  Northing

Type of CATEGORY information: CELL_TYPE
----------------------------
                 - - MIN - -     - - MAX - -
                           1             493

Number of DOUBLE attributes:  1
---------------------------
                 - - MIN - -     - - MAX - -
        dbl  1         -8.16            -2.6

Number of STRING attributes:  0
---------------------------

TOTAL SITES COUNTED: 493
----------------------------------------------------------
\end{verbatim}
\end{kommando}

 Eine einfachere Möglichkeit ist, GRASS die Parameter aus der
 importierten Datei direkt zu "ubergeben. Dies geschieht, indem
 man dem Befehl {\tt g.region} diejenige Datei im Aufruf übergibt,
 aus der die Parameterinformationen insbesondere die
 Kartenrandkoordinaten extrahiert werden sollen.
 In diesem Fall also die {\em sites} - Datei "`tiefen". Auch Vektor- oder
 Rasterdateien lassen sich so von {\tt g.region} auswerten.
 Nat"urlich mu"s das "`Kennwort"\ {\tt sites} in einem solchen
 Fall durch {\tt rast} oder {\tt vect} ersetzt werden.\\

\begin{kommando}
\begin{verbatim}
GRASS:~ > g.region sites=tiefen
\end{verbatim}
\end{kommando}

\subsection{Anzeigen der Punktdaten}
\index{d.sites} \index{Punktdaten}  Der Befehl {\tt d.sites} 
\index{d.sites}  zeigt die ausgew"ahlte Punktdatei {\tt sitefile=}
 im aktiven Monitor an. Es können die
 gew"unschte Farbe {\tt color=}, Größe {\tt size=} und die
 Symbolart {\tt type=} an den Befehl übergeben werden.
 Die Linienhafte Fahrspur des Sensortragenden Schiffes wird so erkennbar.
\nomenclature{\bf Punktdaten}{\input{glossary-de/glossary-punktdaten-de}}

\begin{kommando}
\begin{verbatim}
GRASS:~ > d.sites type=x sitefile=tiefen color=gray size=5
\end{verbatim}
\end{kommando}

\begin{centering}       
\Fig{\includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-sites-2.eps}}{Screenshot GRASS Punktdaten Elsfleth}{GRASS-Monitor mit den importierten Punktdaten "`Hafen Elsfleth"'}\label{grass_echolot_1}
\end{centering}

 \subsection{Maskierung des befahrenen Hafengebietes}
  Um bei der anschließenden Interpolation zu verhindern, da"s
  über das gesammte Gebiet des Mapsets eine Interpolation
  gerechnet wird, maskiert man den ben"otigten Ausschnitt.
  Das hierzu benutzte Kommando {\tt s.hull} wurde für diese Aufgabe
  nach einer Frage meinerseits an die GRASS-Mailingliste innerhalb von
  3 Tagen aus dem vorhandenen Kommando {\tt s.delaunay} abgeleitet.
  Herzlichen Dank an Markus Neteler und Andrea Aime!
  Das Kommando {\tt s.hull} erzeugt einen konvexen H"ullenvektor
  der alle Punkte umschlie"st.\\

\begin{kommando}
\begin{verbatim}
GRASS:/spare/gisdata/grass/bin > s.hull

OPTION:   name of a sites file to be input
     key: sites
required: YES

Enter the name of an existing sites file
Enter 'list' for a list of existing sites files
Hit RETURN to cancel request
> tiefen
<tiefen>

OPTION:   name of a vector file to be output
     key: vect
required: YES

Enter a new binary file file name
Enter 'list' for a list of existing binary file files
Hit RETURN to cancel request
> mask
<mask>

FLAG: Set the following flag?
    Use all sites (do not limit to current region)?(y/n) [n]
\end{verbatim}
\end{kommando}

     Diese Vektorlinie kann mit {\tt d.vect map=mask} im
     GRASS-Monitor angezeigt werden. Dieser von der Vektorlinie
     umschlossenen Fläche muß ein Wert (Label) zugewiesen werden, um
     aus ihr eine Rasterfläche zu erzeugen. Hierzu wird das Modul
     {\tt v.digit} aufgerufen, nachdem mit {\tt d.mon} ein GRASS-Monitor
     gestartet wurde. Da eine Vektordatei (die eben erzeugte Datei
     {\tt mask}) ja schon besteht und nicht neu erzeugt werden soll,
     wird der Men"uepunkt 3 {\em none} aufgerufen und anschließend
     der Name der Vektordatei "ubergeben.

\subsubsection{Alternativer Lösungsweg}
Als Alternative zu der folgenden "`manuellen"' Labelung der Fläche
wurde von Andreas Lange ein weiterer Lösungsweg aufgezeigt, der
in wenigen Kommandos den manuellen Arbeitsablauf automatisiert.
Die optionale Nutzung von {\em v.digit} wird als Beispiel 
für die m"oglichen L"osungen im Tutorial belassen.
Der Befehl {\tt v.alabel} bewirkt eine Massenbenennung aller vorhandenen
{\em areas} in der aufgerufenen Vektordatei. Mit einem optional 
anzuh"angenden {\tt value=}gew"unschter Wert kann die per
Grundeinstellung vergebene 1 ge"andert werden.
Das Kommando {\tt v.support} wird automatisch ausgeführt.
Nun kann der anschließende Abschnitt {\em Das Modul v.digit}
übersprungen und direkt mit der {\em Umwandlung von Vektor- in
Rasterdaten} (Seite \pageref{computing_site_data_umwandlung_de})
 fortgefahren werden.\\

\begin{kommando}
\begin{verbatim}
GRASS:/spare/gisdata/grass/bin > v.alabel map=test
Labeled 1 new areas.

Running support now...

V.SUPPORT:

Selected information from vector header
 Organization:
 Map Name:      Convex hull map
 Source Date:
 Orig. Scale:   2400
 No snapping will be done
    Reading Vector file 100%
    Building areas 100%
    Building islands 100%
    Attaching labels
 Number of lines:   1
 Number of nodes:   1
 Number of areas:   1
 Number of isles:   1
 Number of atts :   1
 Number of unattached atts :   0
 Snapped lines  :   0
\end{verbatim}
\end{kommando}

\subsubsection{Ende des alternativen Lösungsweges}
\paragraph{Das Modul v.digit}
Um einen Einblick in das Modul {\em v.digit} zu bekommen wird empfohlen
auch den nachfolgenden aufwändigeren L"osungsweg zu beachten.
Nach dem Aufruf des Moduls mit {\tt v.digit} wir für die gewünschte
Bildschirmdigitalisierung, sofern kein Digitalisiertisch vorhanden,
der Menüpunkt {\em [3] none} ausgewählt.

\begin{kommando}
\begin{verbatim}
GRASS:/spare/gisdata/grass/bin > v.digit

            Available  Digitizers
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
      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.

 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.

 DIGIT FILENAME
Enter 'list' for a list of existing digit files
Hit RETURN to cancel request
>mask
\end{verbatim}
\end{kommando}

Im folgenden Men"u k"onnen Angaben zu der Vektordatei gemacht
werden, wichtig ist hier die Zeile {\em Maps's scale} bei der
in userem Fall {\tt 1:2400} von GRASS eingetragen wurde, bei einer
Kartendigitalisierung mu"s natürlich der Maßstab der zugrundeliegenden
Karte "ubergeben werden. Die Ausdehnung der {\em area} die ja schon mit
{\tt s.info sites=tiefen} ermittelt wurde, ist in die {\em edge of
area} Zeilen einzutragen.
Die Annahme der eingetragenen Informationen geschieht mit {\tt ESC
ENTER}. Das anschließende {\em shall we continue} wird mit {\tt yes}
best"atigt.\\

\begin{kommando}
\begin{verbatim}
Provide the following information:
 
Your organization   _____________________________
Todays date (mon,yr)Thu Dec 13 16:02:59
Your name           ___________________
Map's name          Convex hull map_________________________
Map's date          __________
Map's scale         1:2400_____
Other info          ________________________________________
Zone                0____
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
West edge of area   3464438.5_____
South edge of area  5901040_______
East edge of area   3464847_______
North edge of area  5901697_______
\end{verbatim}\\[-\bigskipamount]\begin{verbatim} 
 
 AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
\end{verbatim}
\end{kommando}

Der GRASS-Monitor zeigt jetzt die Vektorh"ulle mit zugeh"origem Ma"sstab
und Nordpfeil. An der Kommandozeile wird das Bedienungsmen"u für
GRASS-DIGIT ausgegeben. Mit dem Kommando {\tt L} f"ur Label
wechselt man in das entsprechende Untermen"u.
\\

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

In diesen Menue wird mit {\tt a} die Option {\em Label Areas}
ausgew"ahlt. Ein Name kann eingegeben werden, eine {\em Category}
mu"s angegeben werden. Die Category dient dazu die {\em Areas}
zu unterscheiden, so könnten Beispielsweise Straßenflächen einheitlich
einer {\em Category} zugewiesen werden.\\


\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

?------------------------------------------------------------?
|                                                            |
|                                                            |
|                                                            |
|   Enter Category Number (0 to quit):[0] 1                  |
?------------------------------------------------------------|
\end{verbatim}
\end{kommando}

Anschließend wird im GRASS-Monitor erst ein Punkt innerhalb der
Fl"ache mit einem linken Mausklick markiert und
mit der mittleren Maustaste best"atigt, danach die umschließende
Vektorlinie. Die erzeugte {\em area} wird mit einem linken Mausklick
dem GRASS-Monitor zugewiesen (Abb. \thechapter.\ref{grass_hull_label}).
Nachdem man wieder im {\em Label Menu} angekommen ist, wird
es durch Eingabe von {\tt q} und {\tt Q} verlassen.\\

\begin{centering}
\Fig{\includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-hull-label.eps}}{Screenshot GRASS Hüllenvektor Elsfleth}{GRASS-Monitor mit Digitalisierbildschirm {\em v.digit}}\label{grass_hull_label}
\end{centering}

\begin{kommando}
\begin{verbatim}
Select point within area:

    Buttons:
       Left:   Choose this position
       Middle: Accept chosen point position
       Right:  Abort/Quit

       Point location:
       EAST:  3464633.56
       NORTH: 5901339.93
\end{verbatim}
\end{kommando}

\paragraph{Umwandlung von Vektor- in Rasterdaten}
\label{computing_site_data_umwandlung_de}
 Um die Vektorlinie in eine Rasterdatei umzuwandeln,
 verwendet man {\tt v.to.rast}, nachdem
 man mit {\tt v.support mask} die von GRASS ben"otigten
 weiteren Dateien erzeugt. Die Frage nach den im Speicher zu
 haltenen Zeilen kann mit 512 best"atigt werden.

\begin{kommando}
\begin{verbatim}
GRASS:~GRASS:/spare/gisdata/grass/bin > v.support mask

   V.SUPPORT:

Selected information from vector header
 Organization:
 Map Name:
 Source Date:
 Orig. Scale:   0
 No snapping will be done

    Reading Vector file.
 100%
    Building areas
    Building islands
    Attaching labels
 Number of lines:   1
 Number of nodes:   1
 Number of areas:   1
 Number of isles:   1
 Number of atts :   0
 Number of unattached atts :   0
 Snapped lines  :   0
\end{verbatim}
\end{kommando}


\begin{kommando}
\begin{verbatim}
GRASS:/spare/gisdata/grass/bin > 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
> mask
\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
> mask
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Parameters:
input   vector input file
output   raster output file
rows   number of rows to hold in memory
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 2)
  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 00 secs
Pass #2 (of 2)
  Processing areas ... 1 areas                  0 mins 00 secs
  Writing raster map ...                        0 mins 00 secs
Creating support files for raster map ...       0 mins 01 sec

Raster map <mask> done.
Total processing time:    0 mins 01 sec
\end{verbatim}
\end{kommando}

 Die Maske selbst wird mit dem Befehl {\tt r.mask} gesetzt,
 der alternativ auch Masken entfernt.
 Die erfolgte Maskierung erzeugt eine Rasterdatei {\em MASK}
 die mit {\tt d.rast -o map=MASK} angezeigt werden kann.\\
 
\begin{kommando}
\begin{verbatim}
GRASS:/spare/gisdata/grass/bin > r.mask mask

MASK:  Program for managing current GIS mask

current mask:          none
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Options:
    1      Remove the current mask
    2      Identify a new mask
  RETURN   Exit program
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
>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
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
>mask
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
IDENTIFY THOSE CATEGORIES TO BE INCLUDED IN THE MASK
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
OLD CATEGORY NAME                                          CAT
                                                           NUM
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
. . . . . . . . . . . . . . . . . . . . . . . . . .   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}


\subsection{Punktdaten durch Interpolation in Rasterdaten umwandeln}

\paragraph{Mit s.surf.idw}

 Aus den importierten Punktdaten wird ein Raster
 entsprechend der gewählten Aufl"osung {\em Grid
 Resolution} in den Regionsparametern interpoliert um so für 
 jede Rasterzelle einen Wert zu erzeugen . Hierbei wird
 die Methode der nummerischen Ann"aherung durch gewichtete
 Mittelbildung verwendet. Dem
 Befehl {\tt s.surf.idw} \index{s.surf.idw} werden als
 Parameter die Anzahl der zu nutzenden Interpolationspunkte
 übergeben {\tt npoints=5}. Die Ausgangseinstellung ist
 hier 12 Punkte. Je nach gegebener Punktdichte kann mit
 diesem Wert das Ergebnis beeinflusst werden
 (Abb. \thechapter.\ref{grass_echolot_2}).\\

\begin{kommando}
\begin{verbatim}
GRASS:~ > s.surf.idw input=tiefen output=grund npoints=5
Reading sites map (tiefen) ...
Interpolating raster map <tiefenraster> ... 657 rows ... done
\end{verbatim}
\end{kommando}


\paragraph{Mit s.surf.rst}
 Auch der Befehl {\tt s.surf.rst} \index{s.surf.rst}
 interpoliert Rasterdaten aus Punktdaten. Im Unterschied zu
 {\tt s.surf.idw} k"onnen zus"atzliche Rasterdateien
 mit verschiedenen Inhalten erzeugt werden. Mit {\tt input=}
 wird die zu interpolierende Punktdatei aufgerufen. Weiter
 kann man als Ausgabewerte Höhen- {\tt elev=},
 Neigungs- {\tt slope=}, Verhältniss- {\tt aspect=},
 Profilkrümmungs- {\tt pcurv=},
 Tangentialkrümmungs- {\tt tcurv=} und mittleren
 Krümmungsdaten {\tt mcurv=} w"ahlen. Diese Aufrufe werden mit den
 gewünschten Dateibezeichnungen vervollst"andigt. Natürlich
 können auch mehrere Dateien ausgegeben werden. Die
 Interpolation kann durch weitere Parameter beeinflusst
 werden, so  k"onnen Minimaldistanzen zwischen zu
 interpolierenden Punkten angegeben werden {\tt dmin=},
 Überhöhungsfaktoren für die Attributwerte, in diesem Fall
 die H"ohe, {\tt zmult=}, Spannungs- und Glättungsparameter
 für die Oberflächenglättung {\tt tension=  smoothing=}.
 Eine Mindestanzahl von zu interpolierenden Punkten kann
 angegeben werden {\tt npmin=}, die Ausgangseinstellung ist
 hier 200, dieser Wert sollte aber bei heterogenen, also zum
 Beispiel bei Daten die nicht gleichen Ursprungs sind, erhöht werden.
 Ist die Anzahl der gegebenen Punkte kleiner als 700 kann durch
 Eingabe von {\tt segmax=700} die Dauer der Berechnung verkürzt werden.\\

 \begin{centering}
       \Fig{
       \includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-rast-1.eps}}
       {Screenshot GRASS interpoliertes Raster Elsfleth 1}
       {GRASS-Monitor mit den interpolierten Rastertiefendaten "`Hafen
       Elsfleth"' aus dem Modul {\tt s.surf.idw}.}\label{grass_echolot_2}
 \end{centering}

\begin{kommando}
\begin{verbatim}
GRASS:~ > s.surf.rst input=tiefen elev=grund maskmap=MASK /
tension=100 segmax=700
 
Authors: original version L.Mitas, H.Mitasova
         GRASS implementation I.Kosinovsky, D.P.Gerdes
see references in manual page or at:
http://www2.gis.uiuc.edu:2280/modviz/papers/listsj.html
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Warning: strip exists with insufficient data
 
The number of points in sites file is 493
The number of points outside of region 0
The number of points being used (after reduction) is 493
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Processing all selected output files
will require 4294168 bytes of disk space for temp files
\end{verbatim}\\[-\bigskipamount]\begin{verbatim} 
bitmap mask created
 100%
Percent complete: history initiated
GRASS:~ >
\end{verbatim}
\end{kommando}

Ist der an der Kommandozeile "ubergebene Parameter {\tt tension=} 
zu klein gewählt, die Grundstellung ist hier {\tt tension=40},
kann es bei starken Änderungen der Höhenwerte zu
 einer {\em Overshoot} - Warnung des Programmes
kommen. Siehe folgendem Beispielaufruf.
Diese {\em Overshoot}-Warnung besagt, dass es mit den eingestellten 
Werten nicht möglich ist eine geglättete Oberfläche zu erzeugen.
Durch die Erhöhung des entsprechenden
Parameters kann dieser Warnung abgeholfen werden. Auch hier sollten den schon 
erwähnten Literaturhinweisen und Manual-Pages Beachtung geschenkt werden.\\  

\begin{kommando}
\begin{verbatim}
GRASS:~ > s.surf.rst input=tiefen elev=grund maskmap=MASK segmax=700

Authors: original version L.Mitas, H.Mitasova
         GRASS implementation I.Kosinovsky, D.P.Gerdes
see references in manual page or at:
http://www2.gis.uiuc.edu:2280/modviz/papers/listsj.html
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Warning: strip exists with insufficient data

The number of points in sites file is 493
The number of points outside of region 0
The number of points being used (after reduction) is 493
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Processing all selected output files
will require 4294168 bytes of disk space for temp files
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
bitmap mask created
WARNING:
Overshoot -- increase in tension suggested.
Overshoot occures at (483,664) cell
The z-value is -1.972525,zmin is -8.160000,zmax is -2.600000
 100%
Percent complete: history initiated
\end{verbatim}
\end{kommando}

\paragraph{Tipps:}
 \begin{itemize}
 \item  da selten alle Parameter benötigt werden hält sich
 der Mehraufwand bei dem Aufruf von {\tt s.surf.rst} gegenüber {\tt
 s.surf.idw} in Grenzen.
 \item Zu bedenken bleibt aber, das sich die Dauer der Berechnung
 von {\tt s.surf.rst} in die L"ange ziehen kann.
\item Mit den Optionen der Interpolationsbefehle sollte nicht allzu sorglos
        umgegangen werden. Auf die Aufsätze der beteiligten
        Entwicklerin Helena Mitasova\cite{mitasova} wird verwiesen. 
\item Um zu entscheiden welcher Interpolationsbefehl für die zu
lösende Aufgabe am besten geeignet ist sollten die Manual Pages zu
den Befehlen gelesen werden. Eine solche Manual Page für s.surf.rst
 kann mit {\tt g.manual entries=s.surf.rst} oder einem Klick
mit der mittleren Maustaste auf den Startbutton des entsprechenden 
Befehles in der Graphischen Benutzeroberfläche aufgerufen werden. 
\end{itemize}

\subsection{Rasterdaten anzeigen}

\index{Rasterdaten, anzeigen}

Einer der am häufigsten genutzten Befehle bei GRASS ist
sicherlich {\tt d.rast}.  Er dient dazu Rasterdateien in dem
ausgewählten Monitor anzuzeigen. Die gewünschte Rasterdatei
wird mit {\tt map=} ausgewählt. Die Option {\tt -o} filtert
alle Rasterzellen mit dem Wert NULL aus. Dies ist hilfreich 
wenn zwei Rasterkarten übereinandergelegt werden sollen.

\begin{kommando}
\begin{verbatim}
GRASS:~ > d.rast -o map=grund
\end{verbatim}
\end{kommando}

\begin{centering}
\Fig{\includegraphics[width=0.6\textwidth]{dem-from-sitedata/echolot-rast-2.eps}}
	{Screenshot GRASS interpoliertes Raster Elsfleth 2}
	{GRASS-Monitor mit den interpolierten maskierten Rasterdaten "`Hafen
	Elsfleth"\ aus dem Modul {\tt s.surf.rst}}\label{grass_echolot_3}
\end{centering}   
     
     
 \paragraph{Tipps}
 \begin{itemize}
 \item sollte sich  eine Rasterdatei von GRASS  nicht
 angezeigen lassen, kann zuallererst "uberpr"uft werden ob
 nicht eine beispielsweise vorangehend f"alschlicherweise aufgerufene
 "`leere"\ Karte, die aktuell gew"unschte Anzeige verdeckt. Mit {\tt d.erase}
 kann eine solche die Anzeige verdeckende Rasterdatei beseitigt werden 
 \item weiter sollte mit {\tt d.mon} sichergestellt werden das
 der gewünschte Monitor aktiv ist
 \item ein wei"ser Bildschirm nach dem Befehl {\tt d.rast}
 kann darauf hindeuten, da"s die Ausdehnung der Region und der
 Rasterdatei nicht "ubereinstimmen.
 Durch den Befehl {\tt g.region rast=Rasterdatei} werden
 die Regionsparameter angepasst. Mir {\tt d.erase} wird
 der Monitor freigestellt.Der {\tt .region} Befehl funktioniert
 auch bei Vektor- und Sitesdateien {\tt g.region vektor=Vektordatei},
 bzw {\tt g.region sites=Sitesdatei}
 \end{itemize}
    
\subsection{3 - dimensionale Ansicht des H"ohenmodells}

Um das aus den Punktdaten interpolierte H"ohenmodell in einer
dynamischen 3-dimensionalen Ansicht ausgeben zu lassen, wird das
GRASS-Modul {\tt nviz} aufgerufen. Hierbei ist zu beachten
das das Programm beim Aufruf {\tt nviz} klein geschrieben wird,
wie fast alle {\tt GRASS} - Kommmandos. Ein ausf"uhrliches
Tutorial zu {\tt nviz} findet sich unter\footnote{http://grass.itc.it/gdp/html\_grass5/nviz/index.html}
und unter dem {\tt Help} Button in der GRASS GUI.\\ 

\begin{kommando}
\begin{verbatim}
GRASS:~ > nviz el=grund

Version: @(#) GRASS 5.0.0pre1 (April 2001)

Authors: Bill Brown, Terry Baker, Mark Astley, David Gerdes
        modifications: Jaro Hofierka
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Please cite one or more of the following references in publications
where the results of this program were used:
Brown, W.M., Astley, M., Baker, T., Mitasova, H. (1995).
GRASS as an Integrated GIS and Visualization System for
Spatio-Temporal Modeling, Proceedings of Auto Carto 12,
Charlotte, N.C.
Mitasova, H., W.M. Brown, J. Hofierka, 1994, Multidimensional
dynamic cartography. Kartograficke listy, 2, p. 37-50.
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
Mitas L., Brown W. M., Mitasova H., 1997, Role of dynamic
cartography in simulations of landscape processes based
on multi-variate fields.
Computers and Geosciences, Vol. 23, No. 4, pp. 437-446
\end{verbatim}\\[-\bigskipamount]\begin{verbatim}
http://www2.gis.uiuc.edu:2280/modviz/viz/nviz.html

The papers are available at
http://www2.gis.uiuc.edu:2280/modviz/
\end{verbatim}
\end{kommando}
    
Es folgen noch eine ganze Reihe von Statusmeldungen "uber
hoffentlich erfolgreich geladene Programmteile.
Das Ergebnis sollte eine GUI zur Steuerung von {\em
nviz} sein (Abb. \thechapter.\ref{echolot_gui_1}).
Gleichzeitig erscheint der Ausgabemonitor von {\em nviz}
mit einem Drahtgittermodell des aufgerufenen
Höhenmodells (Abb. \thechapter.\ref{echolot_nviz2_wire}).
Durch einen Mausklick auf die Schaltfl"ache {\em Surface}
kann dieses Gittermodell mit einer farbkodierten
Oberflächentextur belegt werden.
Blickwinkel ({\em perspektive}), Anordnung des Projektionszentrums
(Maussensitive "`Windrose"), ({\em height}) 
und "Uberh"ohungsfaktor der
H"ohen ({\em zexag}) k"onnen durch die
entsprechenden Schieberegler justiert werden.
Weitere Werkzeuge zur Anpassung der Darstellung finden sich
unter {\tt Panel}, hier k"onnen Menues zur Anpassung des 
Beleuchtungsmodells, "Anderung der Texturen, Auswahl anderer
Texturen u.s.w. aufgerufen werden.
Die aktuelle Darstellung kann mit {\tt File/Image Dump}
gespeichert werden.
Nach einigem Experimentieren sollten "ahnliche
Ergebnisse wie in (Abb. \thechapter.\ref{echolot_nviz2_3d}) zu erzielen sein.

\begin{centering}
\Fig{\includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-nviz2-panel.eps}}
	{Screenshot GRASS Modul nviz Gui}
	{Graphische Benutzeroberfläche des GRASS-Moduls nviz}\label{echolot_gui_1}
\end{centering} 

\newpage

\begin{centering}
\Fig{\includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-nviz2-wire.eps}}
	{Screenshot GRASS Modul nviz Gittermodell}
	{Ausgabebildschirm von nviz mit Liniendarstellung des Tiefenmodelles "`Hafen Elsfleth"'}
	\label{echolot_nviz2_wire}
\end{centering} 

\newpage

\begin{centering}
\Fig{
	\includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-nviz2-3d.eps}}
	{Screenshot GRASS Modul nviz 3D-Modell}
	{Ausgabebildschirm von nviz mit 3D-Ansicht "`Hafen Elsfleth"'}
	\label{echolot_nviz2_3d}
\end{centering}     

