\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}
\paragraph{}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{Vorbereitungen}
   Der Programmaufruf erfolgt an der Kommandozeile durch Eingabe
   von :\\

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

\end{verbatim}
\end{kommando}

    Die 5 weist auf die benutzte Programmversion hin.
    Das von GRASS generierte Startmenue erscheint und wird "ahnlich
    dem unten aufgeführten ausgefüllt und mit der Tastenfolge {\em
    Esc Enter} beendet. Je nach Installation und Systemeinstellungen
    startet GRASS auch 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.
 
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.
 
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}
     
     Die {\em LOCATION} ist der "ubergeordnete Arbeitsbereich in dem 
     ein oder mehrere zu bearbeitende {\em MAPSET} liegen.   
     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, und weitere).
     \index{Datum}
     \nomenclature{Datum}{leer}
     \nomenclature{Ellipsoid}{leer}
     \nomenclature{\bf GPS}{\input{glossary-de/glossary_gps_de}}
     \paragraph{x-y Location}Am unproblematischten ist es, ein kartesisches
     Koordinatensystem zu benutzen (x,y - Men"upunkt {\em a}). Eine
     graphische Bedienoberfl"ache kann mit dem Befehl
     aufgerufen werden.\\
     \nomenclature{GUI}{leer}      
     \nomenclature{Koordinatensystem}{leer}      
     \nomenclature{Koordinatensystem, kartesisch}{leer}      
     \paragraph{Gauss Kr"uger Location}Um eine {\em LOCATION}
     f"ur die in Deutschland gebräuchlichen Gauss-Kr"uger
     Koordinaten zu erstellen, sind einige Angaben erforderlich.
     \index{Gauss-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{Koordinatensystem, Gauss-Krüger}{leer} 

\begin{kommando}
\begin{verbatim}

LOCATION <test> - doesn't exist

Available locations:
----------------------
craterlake
----------------------

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

\end{verbatim}
\end{kommando}

Auch die n"achste Maske wird mit "`ja"\ 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 Gauss-Kr"uger Location erstellt werden soll ist "`D"\
    auszuw"ahlen und zu best"atigen.\\

\begin{kommando}
\begin{verbatim}

Please specify the coordinate system for location <test>

A   x,y
B   Latitude-Longitude
C   UTM
D   Other Projection
RETURN to cancel

> D


Other Projection coordinate system? (y/n) [y] y

\end{verbatim}
\end{kommando}

    Falls gew"unscht kann eine 1-zeilige Beschreibung für die neue
    Location gespeichert werden. Dies ist sehr hilfreich wenn man in
    mehreren verschiedenen 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 im Gauss-Kr"uger System ist eine transversale
    Mercatorprojektion (tmerc), weiter wird das
    Bessel-Rotationsellipsoid verwendet, durch Eingabe von List werden die
    verf"ugbaren Auswahlm"oglichkeiten angezeigt.
    Ein spezielles Datum für die Koordinatenrealisierung
    kann hier angegeben werden. Im vorliegenden
    Fall reicht die Voreinstellung aus, da nur eine einzige 
    "`Koordinatenrealisierung" verwendet wird.
    {\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  0.9996.
    Um negative Rechtswerte zu vermeinden, werden jeweils 500000 Meter auf
    den Rechtswert des Mittelmeridians aufaddiert, dieses entspricht
    dann dem {\em False Easting}.\\
    \nomenclature{Projektion}{leer}
    \nomenclature{Projektion, Mercator}{leer}

\begin{kommando}
\begin{verbatim}

Please specify projection name
Enter 'list' for the list of available projections
Hit RETURN to cancel request

>tmerc

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) [n]

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]: 0.9996

Enter False Easting [x_0]  [0.0000000000]: 500000

Enter plural form of units [meters]: meters

\end{verbatim}
\end{kommando}

    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 {\em
    g.region} m"oglich. Diese Eingabemaske wird mit einem {\em ESC}
    gefolgt von {\em ENTER} best"atigt.
    \paragraph{Tips}
    \begin{itemize}
     \item Da in der zu bearbeitenden Datei einige Punkte weniger als
           1 m Abstand voneinander haben, ist es vorteilhaft die {\em
	   GRID RESOLOUTION} schon jetzt heraufzusetzten,
	   Beispielsweise auf 0.5 Einheiten, in unserem Fall also
	   0,5 Meter.
     \item Wird die Aufl"osung sehr hoch angesetzt, so "au"sert sich
           das in einer l"angeren Bearbeitungsdauer, bringt aber
	   nicht unbedingt aussagekräftigere Ergebnisse.
     \end{itemize}



\begin{kommando}
\begin{verbatim}

                    DEFINE THE DEFAULT REGION




                  ====== DEFAULT REGION =======
                  | NORTH EDGE:1__________    |
                  |                           |
       WEST EDGE  |                           |EAST EDGE
       0__________|                           |1__________
                  | SOUTH EDGE:0__________    |
                  =============================



      PROJECTION: 99 (Other Projection)          ZONE: 0

                        GRID RESOLUTION
                           East-West:     0.5_______
                          North-South:    0.5_______


      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 - Location befindet, werden sie in
    der folgenden Bildschirmausgabe noch einmal aufgeführt und vom
    Anwender nach entsprechender Kontrolle bestätigt.\\

\begin{kommando}
\begin{verbatim}

 projection:   99 (Other Projection)
  zone:         0
  north:       1
  south:       0
  east:        1
  west:        0

  e-w res:     1
  n-s res:     1

  total rows:                1
  total cols:                1
  total cells:               1


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 Bergr"u"sungsbildschirm, in dem man nun die neu
     erstellte Arbeitsumgebung {\em MAPSET} mit {\em ESC} und {\em 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.

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.

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 {\em tcltkgrass \&}
    an der Kommandozeile ein. Das "`Kaufmannsund` {\em \&} sorgt in
    diesem Aufruf dafür, da"s der Befehl im Hintergrund läuft und nicht die 
    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 {\em list} bekommt man bei vielen
 Eingabeaufforderungen in GRASS Auswahllisten zu Locations,
 Mapsets, Ellipsoiden, Daten, ... angeboten
\item Eingaben an der Kommandozeile werden durch {\em ESC RETURN} "ubernommen
\end{itemize}

\subsection{Anmerkungen zum Arbeiten mit GRASS}
Das Geoinformationssystem GRASS ist streng Modular aufgebaut, d.h.
zum Beispiel, da"s viele einzelne
Bearbeitungsschritte (Module/Programme/Kommandos) hintereinander
aufgerufen werden k"onnen und werden, oftmals ohne das dem 
Benutzer bemerkt zu diese klar wird. Die Kommandos werden erkennbar
durch ihren Namen gegeliedert. So beginnen alle Kommandos 
die Rasteroperationen ausf"uhren mit {\em r.}. Die Vektorprogramme mit
{\em 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"uhrliche Beschreibungen, die sogenannten "`Manual Pages"\, mit
Beschreibung 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 eines Bearbeitungsfensters}
Zur grundlegenden Benutzung von GRASS ist es erforderlich
einen Monitor, d.h. ein Ausgabefenster zu "offnen, in dem
die Ergebnisse der einzelnen Arbeitsschritte angezeigt
werden k"onnen.  Dies geschieht mit dem Befehl {\em d.mon}
. \index{d.mon} \index{Monitor} 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. Nachdem Auswählen eines freien Monitors und dem
beherzten Drücken auf {\em RETURN} "offnet sich das
gew"unschte Bearbeitungsfenster.\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > d.mon

\end{verbatim}
\end{kommando}\\

\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

> 1

Currently selected graphics monitor: x0

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
> 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 {\em s.in.ascii} \index{s.in.ascii}(das "`s"' steht
 in diesem Fall f"ur "`sites"') werden
 ASCII-kodiertei  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 {\em 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 {\em fs=tab} gesetzt.
\nomenclature{ASCII}{leer}

\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 {\em 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 {\em 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 {\em g.region} diejenige Datei im Aufruf übergibt,
 aus der die Parameterinformationen extrahiert werden sollen.
 In diesem Fall also die {\em sites} - Datei "`tiefen". Auch Vektor- oder
 Rasterdateien lassen sich so von {\em g.region} auswerten.
 Nat"urlich mu"s das "`Kennwort"\ {\em sites} in einem solchen
 Fall durch {\em rast} oder {\em 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 {\em d.sites} 
\index{d.sites}  zeigt die ausgew"ahlte Punktdatei {\em sitefile=}
 im aktiven Monitor an. Es können die
 gew"unschte Farbe {\em color=}, Größe {\em size=} und die
 Symbolart {\em type=} an den Befehl übergeben werden.\\
\nomenclature{Punktdaten}{leer}

\begin{kommando}
\begin{verbatim}

GRASS:~ > d.sites type=x sitefile=tiefen color=gray size=5

\end{verbatim}
\end{kommando}\\

       \begin{figure}[h]
       \centering
       \includegraphics[width=6cm]{dem-from-sitedata/echolot-sites-2.eps}
       \caption[Screenshoot GRASS Punktdaten Elsfleth]{\label{grass_echolot_1}
       GRASS-Monitor mit den importierten Punktdaten "`Hafen
       Elsfleth"'}
       \end{figure}

    Deulich ist hier die linienhafte "`Fahrspur" des sensortragenden Schiffes
    zu erkennen.

 \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 das relevante Gebiet.
  Das hierzu benutzte Kommando {\em s.hull} wurde für diese Aufgabe
  nach einer Frage meinerseits an die GRASS-Mailingliste innerhalb von
  3 Tagen aus dem vorhandenen Kommando {\em s.delauney} abgeleitet.
  Herzlichen Dank an Markus Neteler und Andrea Aime!
  Das Kommando {\em 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 {\em 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
     {\em v.digit} aufgerufen, nachdem mit {\em d.mon} ein GRASS-Monitor
     gestartet wurde. Da eine Vektordatei (die eben erzeugte Datei {\em 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.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > v.digit


            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.


 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 {\em 1:1}
eingetragen wird und die Ausdehnung der {\em area} die mit
{\em s.info sites=tiefen} ermittelt werden kann.
Die Annahme der eingetragenen Informationen geschieht mit {\em ESC
ENTER}. Das anschließende {\em shall we continue} wird mit {\em yes}
best"atigt.\\

\begin{kommando}
\begin{verbatim}

Provide the following information:

Your organization   ___________________
Todays date (mon,yr)___________________
Your name           ___________________
Map's name          ___________________
Map's date          __________
Map's scale         1:1________
Other info          ___________________
Zone                0____
West edge of area   3464438_______
South edge of area  5901040_______
East edge of area   3464847_______
North edge of area  5901697_______

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 Bedienungsmenue für
GRASS-DIGIT ausgegeben. Mit dem Kommando {\em L} f"ur Label
wechselt man in das entsprechende Untermen"u.
\\

\begin{kommando}
\begin{verbatim}

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

\end{verbatim}
\end{kommando}\\

In diesen Menue wird mit {\em a} die Option {\em Label Areas}
ausgew"ahlt. Ein Name kann eingegeben werden, eine {\em Category}
mu"s angegeben 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. \ref{grass_hull_label}).
Nachdem man wieder im {\em Label Menu} angekommen ist wird {\em
v.digit} durch Eingabe eines kleinen und eines gro"sen {\em q} verlassen.\\

\begin{figure}[h]
\centering
\includegraphics[width=6cm]{dem-from-sitedata/echolot-hull-label.eps}
\caption[Screenshoot GRASS Hüllenvektor Elsfleth]{\label{grass_hull_label}
GRASS-Monitor mit Digitalisierbildschirm {\em v.digit}}
\end{figure}



\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}\\

 Um die Vektorlinie in eine Rasterdatei umzuwandeln
 verwendet man {\em v.to.rast}, nachdem
 man mit {\em 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

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

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 in dem Befehl {\em r.mask} gesetzt,
 mit dem gleichzeitig auch Masken entfernt werden k"onnen.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > r.mask 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
>mask

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}\\


\subsection{Punktdaten in Rasterdaten umwandeln}
\paragraph{Schnelle Umwandlung}
 Aus den importierten Punktdaten wird ein Raster
 entsprechend der gewählten Aufl"osung {\em Grid
 Resolution} in den Regionsparametern interpoliert. Hierbei wird
 die Methode der numerischen Ann"aherung durch gewichtete
 Mittelbildung verwendet. Dem
 Befehl {\em s.surf.idw} \index{s.surf.idw} werden als
 Parameter die Anzahl der zu Nutzenden Interpolationspunkte
 übergeben {\em npoints=5}. Die Ausgangseinstellung ist
 hier 12 Punkte. Je nach gegebener Punktdichte kann mit
 diesem Wert das Ergebnis beeinflusst werden
 (Abb. \ref{grass_echolot_2}).\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > s.surf.idw input=tiefen output=tiefenraster npoints=5
Reading sites map (tiefen) ...
Interpolating raster map <tiefenraster> ... 657 rows ... done

\end{verbatim}
\end{kommando}\\

      
\paragraph{Steuerbare Umwandlung}
 Auch der Befehl {\em s.surf.rst} \index{s.surf.rst}
 interpoliert Rasterdaten aus Punktdaten. Im Unterschied zu
 {\em s\.surf\.idw} k"onnen die entstehenden Rasterdateien
 verschiedene Inhalte haben. Mit {\em input=} wird die zu
 umzuwandelnde Datei aufgerufen. Weiter kann man bei den
 Ausgabedateien zwischen Höhen- {\em elev=}Dateiname,
 Neigungs- {\em slope=}Dateiname, Verhältniss- {\em
 aspect=}Dateiname, Profilkrümmungs- {\em pcurv=}Dateiname,
 Tangentialkrümmungs- {\em tcurv=}Dateiname und  mittleren
 Krümmungsdateien {\em mcurv=}Dateiname w"ahlen. 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 {\em dmin=},
 Überhöhungsfaktoren für die Attributwerte, in diesem Fall
 die H"ohe, {\em zmult=}, Spannungs- und Glättungsparameter
 für die Oberflächenglättung {\em tension=  smoothing=}.
 Eine Mindestanzahl von zu interpolierenden Punkten kann
 angegeben werden {\em 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.\\

 \begin{figure}[h]
       \centering
       \includegraphics[width=6cm]{dem-from-sitedata/echolot-rast-1.eps}
       \caption[Screenshoot GRASS interpoliertes Raster Elsfleth 1]{\label{grass_echolot_2}
       GRASS-Monitor mit den interpolierten Rasterdaten "`Hafen
       Elsfleth"'}
       \end{figure}

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > s.surf.rst -d -t input=tiefen
elev=tiefen2

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

Warning: strip exists with insufficient data
Warning: points are more dense than specified 'DMIN'--ignored
2 points
Warning: there is less than 700 points for interpolation,
no segmentation is necessary, to run the program faster,
set segmax=700 (see manual)

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 491

Processing all selected output files
will require 1075492 bytes of disk space for temp files

dnorm = 196.687138, rescaled tension = 7.867486
Warning: taking too long to find points for interpolation-
-please change the region to area where your points are.
Continuing calculations...
WARNING:
Overshoot -- increase in tension suggested.
Overshoot occures at (115,367) cell
The z-value is -8.716646,zmin is -8.160000,zmax is -2.600000
Warning: taking too long to find points for interpolation-
-please change the region to area where your points are.
Continuing calculations...
100%
Percent complete: history initiated
GRASS:/spare/gisdata/grass/bin >

\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 {\em s.surf.rst} gegenüber {\em
 s.surf.idw} in Grenzen. Die Ergebnisse sind aber oftmals
 eher zur Erstellung von Digitalen Geländemodellen geeignet.
 \item Zu bedenken bleibt aber, das sich die Dauer der Berechnung
 von {\em s.surf.rst} in die L"ange ziehen kann.
\end{itemize}

\subsection{Rasterdaten anzeigen} \index{Rasterdaten, anzeigen}
 Einer der am häufigsten genutzten Befehle bei GRASS ist
 sicherlich {\em d.rast}.  Er dient dazu Rasterdateien in dem
 ausgewählten Monitor anzuzeigen. Die gewünschte Rasterdatei
 wird mit {\em map=} ausgewählt. Die Option {\em -o} filtert
 alle Rasterzellen mit dem Wert o aus.\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > d.rast -o map=tiefen2

\end{verbatim}
\end{kommando}\\

       \begin{figure}[h]
       \centering
       \includegraphics[width=6cm]{dem-from-sitedata/echolot-rast-2.eps}
       \caption[Screenshoot GRASS interpoliertes Raster Elsfleth 2]{\label{grass_echolot_3}
       GRASS-Monitor mit den interpolierten maskierten Rasterdaten "`Hafen
       Elsfleth"\ aus dem Modul {\em s.surf.rst}.}
       \end{figure}   
     
     
 \paragraph{Tipps}
 \begin{itemize}
 \item sollte sich  eine Rasterdatei von GRASS  nicht
 angezeigen lassen sollte zuallererst "uberpr"uft werden ob
 nicht eine beispielsweise vorangehend f"alschlicherweise aufgerufene
 "`leere"\ Datei die aktuell gew"unschte Anzeige verdeckt. Mit {\em d.erase}
 kann eine solche die Anzeige verdeckende Rasterdatei beseitigt werden 
 \item weiter sollte mit {\em d.mon} übeprüft werden ob
 der gewünschte Monitor aktiv ist
 \item ein wei"ser Bildschirm nach dem Befehl {\em d.rast}
 kann daraufhin deuten das die Ausdehnung der Region und der
 Rasterdatei nicht "ubereinstimmen.
 Durch den Befehl {\em g.region rast=Rasterdatei} werden
 die Regionsparameter angepasst. Dieser Befehl funktioniert
 auch bei Vektordateien {\em g.region vektor=Vektordatei}
 \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 {\em nviz2.2} aufgerufen. Hierbei ist zu beachten
    das das Programm beim Aufruf {\em nviz} klein geschrieben wird,
    wie fast alle {\em GRASS} - Kommmandos. Ein Ausf"uhrliches
    Tutorial zu {\em nviz} findet sich unter
    \footnote{http://grass.itc.it/gdp/html\_grass5/nviz/index.html}.\\ 

\begin{kommando}
\begin{verbatim}

GRASS:~ > nviz2.2 el=tiefen2


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

Authors: Bill Brown, Terry Baker, Mark Astley, David Gerdes
        modifications: Jaro Hofierka


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.

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

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 folgt noch eine ganze Reihe von Statusmeldungen "uber
hoffentlich erfolgreich geladene Programmteile.
Das Ergebniss sollte eine GUI zur Steuerung von {\em
nviz2.2} sein (Abb. Abb. \ref{echolot_gui_1}).
Gleichzeitig erscheint der Ausgabemonitor von {\em nviz2.2}
mit einem Drahtgittermodell des aufgerufenen
Höhenmodells (Abb. Abb. \ref{echolot_nviz2_wire}).
Durch einen Mausklick auf die Schaltfl"ache {\em Surface}
kann dieses Gittermodell mit einer farbkodierten
Oberflächentextur belegt werden. Grundlage dieser Farben
sind die H"oheninformationen zu den einzelnen Punkten.
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 {\em 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 {\em File/Image Dump}
gespeichert werden.
Nach einigem Experimentieren sollten solche oder "ahnliche
Ergebnisse zu erziehlen sein (Abb. \ref{echolot_nviz2_3d}).

    \begin{figure}[h]
    \centering
    \includegraphics[width=6cm]{dem-from-sitedata/echolot-nviz2-panel.eps}
    \caption[Screenshoot GRASS Modul nviz2.2 Gui]{\label{echolot_gui_1}
    Graphical User Interface des GRASS-Moduls nviz2.2}
    \end{figure} 

    \begin{figure}[h]
    \centering
    \includegraphics[width=6cm]{dem-from-sitedata/echolot-nviz2-wire.eps}
    \caption[Screenshoot GRASS Modul nviz2.2 Gittermodell]{\label{echolot_nviz2_wire}
    Ausgabebildschirm von nviz2.2 mit Gittermodell "`Hafen Elsfleth"'}
    \end{figure} 
    
    \begin{figure}[h]
    \centering
    \includegraphics[width=6cm]{dem-from-sitedata/echolot-nviz2-3d.eps}
    \caption[Screenshoot GRASS Modul nviz2.2 3D-Modell]{\label{echolot_nviz2_3d}
    Ausgabebildschirm von nviz2.2 mit 3D-Ansicht "`Hafen Elsfleth"'}
    \end{figure}     
 

