%vim:set tw=68:
\documentclass[german,a4paper,BCOR10mm]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[german]{babel}
\usepackage{nomencl}
\usepackage{times}
\usepackage{xspace}
\usepackage{makeidx}
\usepackage{graphicx}
\pagestyle{plain}
\makeindex
\makeglossary
\newenvironment{kommando}
{\noindent
\begin{tabular}{|c|}
\hline
\begin{minipage}[]{\textwidth}
\footnotesize}
{\end{minipage}\\
\hline
\end{tabular}
}%\vspace{-0.1cm}}
\begin{document}

%----------------------------------Vorspann
\title{FreeGIS Tutorial\\
Einsatz Freier GIS-Software in Vermessung, Fernerkundung und                                                      Datenverarbeitung}
\author{Heiko Kehlenbrink\\ %\thanks{Heiko.Kehlenbrink@intevation.de}
Intevation GmbH\\ %\thanks{www.intevation.de}\\
%Georgstra"se 4\\
%49074 Osnabrck\\
Version 0.3}
%\date{}
\maketitle
%\includeonly{}

\begin{figure}[]
Das Free GISTutorial ist keine Originaldokumentation zu der behandelten Software.\\


Die in diesem Buch enthaltenen Angaben, Daten, Ergebnisse usw. wurden von den
Autoren nach bestem Wissen erstellt und mit Sorgfalt berprft.
Dennoch sind inhaltliche Fehler nicht vllig auszuschlieen.
Daher erfolgen alle Angaben ohne jegliche Verpflichtung oder Garantie.
Autor und Herausgeber bernimmt daher auch keinerlei Verantwortung oder
Haftung fr Fehler und deren Folgen. Hinweise auf eventuelle Irrtmer
werden gerne entgegengenommen.
 \end{figure}


      \begin{figure}[b]

      \begin{center}Copyright (c) 2001  Heiko Kehlenbrink.\end{center}
      Permission is granted to copy, distribute and/or modify this document
      under the terms of the GNU Free Documentation License, Version 1.1
      or any later version published by the Free Software Foundation.
      A copy of the license is included in the section entitled "GNU
      Free Documentation License".

      \end{figure}

%%% TEXEXPAND: INCLUDED FILE MARKER ./preface/preface-de.tex
\chapter*{Vorwort}
\label{preface_de}

Das FreeGIS Tutorial entstand als ein weiterfhrender Schritt innerhalb
des FreeGIS Projektes und baut somit direkt auf das
FreeGIS Portal\footnote{http://www.freegis.org} und der
FreeGIS CD\footnote{http://www.freegis.org/cd.de.html} auf.
Die Intention ist, dem Nutzer von GIS-Software,
mit der beispielhaften Bearbeitung von Aufgaben aus GIS, Vermessung
und Fernerkundung die Vielf"altigkeit und Leistungsf"ahigkeit
freier Software in diesen Bereichen an Aufgabenstellungen aus der
Praxis zu demonstrieren und einen mglichst leichten Einstieg zu geben.
Grundvoraussetzung ein Programm in das FreeGIS Projekt
 und somit auch in dieses Tutorial aufzunehmen 
zu k"onnen ist, da"s es freie Software im Sinne der Free Software
Foundation (FSF)\footnote{http://www.fsf.org/philosophy/categories.de.html}
ist.\newline
Jede Aufgabenstellung soll mit verschiedenen Programmen 
gel"ost werden, um dem Nutzer Alternativen zu bieten, aus denen
er sich das f"ur ihn passende herauszusuchen kann.\newline
Bei der Erstellung dieses Tutorials wurde darauf Wert gelegt, es nicht auf
eine Systemumgebung z.B. GNU/Linux zu beschr"anken, sondern zu zeigen, da"s 
freie Software auf allen Betriebssystemen existiert und sich produktiv
im Zusammenwirken mit vielen anderen, auch nicht-freien (propriet"aren)
Anwendungen einsetzten l"asst.\newline
Das FreeGIS Tutorial wird unter der GNU Free Document License
herausgegeben, um den Nutzern die M"oglichkeit zu geben, es genau
wie die Freie Software, die es behandelt, unter den Bedingungen
der vorgenannten Lizenz zu verbreiten, zu verwenden und zu verndern.
Auch sind s"amtliche in diesem Tutorial bearbeiteten Daten Freie Daten im Sinne
der Free Software Foundation und k"onnen genau wie die Programme und dieses
Tutorial verbreitet, verwendet, verndert, be- und verarbeitet werden. 
Die einzige Ausnahme sind die EDBS-Datens"atze im Kapitel
\ref{computing_edbs_data_de} -EDBS Daten verarbeiten-.\newline
Um das FreeGIS Tutorial aktuell und f"ur so viele Menschen wie
m"oglich interessant und informativ zu machen wird jede Mitarbeit
ausdr"ucklich begr"u"st. Eine m"ogliche Mitarbeit reicht von
der Fehlerkorrektur (sowohl inhaltlich wie auch Rechtschreibung),
"uber das Einbringen von neuen Aufgaben und die Erstellung von 
Glossar-Eintr"age bis hin zum Erarbeiten von ganzen Kapiteln.
"Uberaus willkommen sind weiterhin "Ubersetzungen von
Teilen des FreeGIS Tutorials, oder auch das Erstellen von Kapiteln in
den verschiedensten Sprachen.



\paragraph{}

Heiko Kehlenbrink, Osnabrck, im Dezember 2001

%%% TEXEXPAND: END FILE ./preface/preface-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./credits/credits-de.tex
\chapter*{Dank}
\label{credits_de}
Hier m"ochte ich den vielen Menschen, Institutionen, Firmen und
Gemeinschaften danken, ohne deren Hilfe dieses Tutorial nicht 
entstanden wre.

\begin{description}
 \item[Besonders erwhnen mchte ich hier das Team der Intevation Gmbh]
 \item Dr. Jan-Oliver Wagner
 \item Bernhard Reiter
 \item Frank Koormann
 \item Bernhard Herzog
 \item Thomas Koester
 \item Ruslana Grebnyev  

 \item[F"ur inhaltliche Beitr"age]
 \item Herrn Otto Dassau fr das Kapitel Nr. \ref{computing_edbs_data_de},
 EDBS Daten verarbeiten, Seiten \pageref{computing_edbs_data_de:grass} ff

 \item[F"ur die Bereitstellung von Daten und Ger"aten danke ich]
 \item RWE Rheinbraun AG, Abteilung BT3 - Photogrammetrie
 \item Professor Dr.-Ing. Jrg Reinking, Fachhochschule
 Oldenburg/Ostfriesland/Wilhelmshaven
 \item Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven
 
 \item[F"ur Korrekturen, Anmerkungen, Kritik]
 \item Markus Neteler
 \item Professor Dr. Jrgen Weitkmper
 \item Dipl.-Ing. Peter Lorkowski
%\item Herrn Professor Dr. Thomas Brinkhoff
 \item Hon.-Prof. Klaus Kertscher
 \item Melanie Wagner

 \item[F"ur Unterst"utzung bei technischen Fragen]
 \item Wolfgang Rupprecht.
\end{description}

%%% TEXEXPAND: END FILE ./credits/credits-de.tex

\tableofcontents

\listoffigures

%\listoftables

%--------------------------Main-Section-Hauptteil------------------------------

%%% TEXEXPAND: INCLUDED FILE MARKER ./introduction/introduction-de.tex
\chapter{Einfhrung}\label{intro_de}
 \section{Rasterdaten}
 Nach \cite{bill1} beziehen sich Rasterdarstellungen direkt auf Flchen. Das
 geometrische Grundelement ist das Pixel (Picture Element), welches zeilen- 
 oder spaltenweise in einer Matrix gleichfrmiger quadratischer, rechteckiger
 oder auch hexagonaler Elemente angeordnet ist und eine einheitliche
 Flchenfllung aufweist. Beispiele fr Rasterhaft angeordnete Daten sind
 Bitmaps, Hhenraster (Kotenplne) aber auch ein Fernseh- bzw. Monitorbild.
  \index{Rasterdaten} \nomenclature{Rasterdaten}{leer}


 \section{Vektordaten}
 Vektordaten entstehen aus Punkten, Verbindungen zwischen Punkten (Linien) und
 geschlossenen Linienpolygonen (Flchen).\\
 Weiter knnen Angaben ber Anfangs- und Endpunkt einer Linie oder ber
 nachbarschaftliche (topologische) Beziehungen zwischen Linien und Flchen
 bzw. sich daraus ergebend Flchen und Flchen gemacht werden.


 \index{Vektordaten}
 \section{Sachdaten}
 \nomenclature{Sachdaten}{leer}
 Alle weiteren im GIS-Systemen benutzten Daten knnen als Sachdaten, thematische
 Daten oder Attribute aufgefasst werden.\cite{bill1}
 \section{Hybride Graphik}Werden Vektor- und Rasterdaten gemeinsam und abhngig
 voneinander bearbeitet, so spricht man von hybrider Graphik. Die Fhigkeit
 hybride Graphiken erzeugen und bearbeiten zu knnen, erschliet GIS-Systemen
 einen vielfltigen Anwendungsbereich.
 \index{Hybride Graphik} \nomenclature{Hybride Graphik}{leer}

\section{Datenformate}
 Die Menge von Datenformaten alleine fr den GIS-Bereich ist sehr gro und auf
 alle einzugehen wrde den Rahmen dieses Tutoriums sprengen. Die benutzen
 Dateitypen werden im Text oder im Glossar angesprochen.

\nomenclature{Vektordaten}{leer}


\section{Freie Geo-Daten}
\label{free_geo_data_de}
\subsection{Bedeutung von Freiheit bei Geo-Daten} 

 
 \subsection{"Ubersicht zu verf"ugbaren freien Geo-Daten}
 Alle fr die im Tutorial besprochenen Aufgaben ntigen Daten befinden sich
 auf den beiligenden CD-ROM.\\
 Weitere Datenquellen finden sich beispielsweise im WWW unter: 
  \begin{itemize}
  \item http://freegis.org/geo-data.de.html
  \item http://duff.geology.washington.edu/data/raster/tenmeter/index.html
  \item http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html 
  \item http://craterlake.wr.usgs.gov/
  \end{itemize}
  
 \subsection{Bewertung von Daten}
 Fr die Bewertung von Daten hinsichtlich ihrer Eignung fr die gestellte
 Aufgabe sind vielerlei Informationen ntig und Abh"angigkeiten zu beachten.\\
 Darunter:
    \begin{itemize}
    \item das Alter der Daten,
    \item die Genauigkeit der Positions- und Inhaltsangaben,
    \item das Auftreten von Ungenauigkeiten whrend der Aufnahme oder der
    Aufbereitung der Daten,
    \item die verschiedenen Grundlagen von Daten und damit ihre mgliche
    oder unm"ogliche Kombination, 
    \item die Aufgabenstellung der die Daten gen"ugen m"ussen
    \end{itemize}
 Dies sind nur einige wenige Kriterien fr die Beurteilung von Daten.   
 


\section{"Ubersicht der bearbeiteten Aufgaben}
\label{solved_tasks_de}

\begin{tabular}{|p{6cm}|p{4cm}|l|} \hline
Aufgabe & Programme & ab Seite\\ \hline\hline
Punktdaten einlesen und digitales H"ohenmodell erzeugen & GRASS & \pageref{computing_site_data_de}\\ \hline
Triangulation in den Punktdaten & GRASS & \pageref{triangulate_site_data_de}\\ \hline
H"ohenlinien aus einem Punktraster erzeugen & GRASS & \pageref{computing_contur_lines_de}\\ \hline
Digitales H"ohenmodell des United States Geological Survey (USGS) importieren & g3DGMV,
VTBUILDER, dem3D, GRASS, dlgv32 & \pageref{import_usgs_dem_de}\\ \hline         
"Uberflutungssimulation im H"ohenmodell erzeugen & GRASS, dem3D, dlgv32 & \pageref{flood_model_de}\\ \hline
Georeferenzierung einer Rasterdatei & GRASS & \pageref{georeferencing_de}\\ \hline
Volumenberechnung aus Rasterdaten & GRASS & \pageref{computing_volumina_de}\\ \hline
Bildschirmdigitalisierung & GRASS & \pageref{sec:Digitalisierung am Bildschirm}\\ \hline
Mosaik aus Luftbildern erstellen & GRASS & \pageref{mosaicking_aerial_images_de}\\ \hline
Verarbeiten von GPS - Daten & gpspoint, GPSMan & \pageref{handling_gps_data_de}\\ \hline
Differentielle GPS - Messung & DGPSIP & \pageref{differential_gps_de}\\ \hline
Flug "uber das H"ohenmodell & VTP Enviro, GRASS & \pageref{fly_over_dem_de}\\ \hline
Karten im Netz prsentieren -Web Mapping- & Mapit!, MAPSERVER & \pageref{web_mapping_de}\\ \hline
EDBS Daten verarbeiten & GRASS & \pageref{computing_edbs_data_de}\\ \hline
Daten konvertieren & & \pageref{converting_data_de}\\ \hline

\end{tabular}


\section{"Ubersicht der benutzten Daten}
\label{used_data_de}

\begin{tabular}{|p{4cm}|p{8cm}|p{2cm}|} \hline
Aufgabe & Daten verf"ugbar unter: & Lizenz\\ \hline\hline
Punktdaten einlesen und digitales H"ohenmodell erzeugen &
http://freegis.org/freegis\_tutorial/download.de.html FreeGIS
Tutorial Begleit-CD & GPL\\ \hline
Triangulation in den Punktdaten &
http://freegis.org/freegis\_tutorial/download.de.html
FreeGIS Tutorial Begleit-CD & GPL\\ \hline
Digitales H"ohenmodell des United States Geological Survey (USGS) importieren &
http://craterlake.wr.usgs.gov/ \newline FreeGIS
Tutorial Begleit-CD & Public Domain\\ \hline
Mosaik aus Luftbildern erstellen & FreeGIS Tutorial Begleit-CD & GPL\\ \hline
Flug "uber das H"ohenmodell &
http://craterlake.wr.usgs.gov/\newline FreeGIS
Tutorial Begleit-CD & Public Domain\\ \hline
Dynamische Karten im WWW (Web Mapping) &
http://craterlake.wr.usgs.gov/\newline FreeGIS
Tutorial Begleit-CD \newline http://www.mapit.de/ & Public Domain\\ \hline


\end{tabular}
 



%%% TEXEXPAND: END FILE ./introduction/introduction-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./software/software-de.tex
\chapter{bersicht zu den verwendeten Programmen}
 \label{used_programms_de}
 \section{g3DGMV}

Das Programm g3DGMV (3D Graphical Map Viewer)
wurde als freies Betrachtungsprogramm fr DEMs
(Digital Elevation Model) und DLGs (Digital Line Graphs)
entwickelt.
Diese Modelle knnen von g3DGMV als 3-dimensionales Bild fr
definierbare Projektionszentren berechnet werden. Weiter knnen
Bilddateien (gif, png, jpeg, xpmi) 2-dimensional angezeigt werden.
Verschiedene Werkzeuge knnen zum Hinzufgen von eigenen
Informationen in die Darstellungen benutzt werden. In der
verwendeten Version sind diese Werkzeuge noch nicht vollstndig
implementiert.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssysteme : & GNU/LINUX und andere Unices, Windows\\
   Heimatseite: & http://g3dgmv.sourceforge.net/index.html\\
   Lizenz: & GPL \\
   Programmiersprache: & C\\
  \end{tabular}
\nomenclature{\bf GIFF}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-giff-de.tex
Graphics Interchange Format: Ein von CompuServe geprgtes Grafikformat,
welches Bilder mit bis zu 256 Farben auf ein Minimum an Platzbedarf
komprimiert. Eine Variante des Formats, Interlaced-GIF-Dateien,
knnen schon whrend des Ladevorgangs als grobe Vorschau angezeigt werden.
GIF-Dateien eigenen sich besonders fr Bilder mit scharfen Farbbergngen(...).
\\
Commando GmbH: Glossar\cite{commando}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-giff-de.tex
}\nomenclature{\bf Digital Elevation Model}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-dem-de.tex
Digitales H"ohenmodell
%%% TEXEXPAND: END FILE ./glossary-de/glossary-dem-de.tex
}\nomenclature{\bf GNU/Linux:}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary_gnu_linux_de.tex
Der Name des GNU-Projektes leitet sich von dem rekursiven Akronym
"GNU's Not Unix", also "GNU ist nicht Unix"\ ab. Da Unix ursprnglich
nicht nur eine Art von Systemen sondern auch ein Produkt bezeichnete,
war dies dazu gedacht, klar zu machen, da das GNU-Projekt ein System
schaffen soll, welches zwar kompatibel zu aber nicht identisch mit
Unix ist.
Das GNU-System ist, wie es fr Unix-Systeme blich ist, modular angelegt,
und heutzutage erfreut sich vor allem das GNU System mit Linux-Kernel
- das sogenannte GNU/Linux-System - groer Beliebtheit und dient als
Basis aller sogenannten "Linux-Distributionen".
\\
Georg C. F. Greve\cite{greve}
%%% TEXEXPAND: END FILE ./glossary-de/glossary_gnu_linux_de.tex
}\nomenclature{Lizenz GPL:}{leer}
\nomenclature{\bf DLG}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-dlg-de.tex
DLG (Digital Line Graphs) ist ein Vektordatenformat des USGS.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-dlg-de.tex
}%\nomenclature{XPMI}{leer}

\section{GRASS}

GRASS (Geographical Resources Analysis Support System) wurde ab 1982
vom U.S. Army Corps of Engineers fr milit"arische Planungszwecke
entwickelt. Seit Ende der 80er Jahre steht der Quellkode der
"Offentlichkeit zur Verfgung. Durch stetige Weiterentwicklung
ist ein vollstndiges Geoinformationssystem fr die Bearbeitung von 
Rasterdaten, topologischen Vektordaten und Bilddaten entstanden.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & GNU/LINUX und andere Unices, Windowsversion in
   Entwicklung\\
   Heimatseite: & http://grass.itc.it/\\
   Lizenz: & GPL\\
   Programmiersprache: & C\\ 
  \end{tabular}

 \section{VTP Enviro}

Siehe Abschnitt VTBUILDER.
 
 \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & Win32, FreeBSD, GNU/Linux, und Irix\\
   Heimatseite: & http://vterrain.org/\\
   Lizenz: & MIT\\ 
   Programmiersprache: & \\ 
  \end{tabular}

 \section{VTBUILDER}

VTBuilder ist ein Teil des VTP (Virtual Terrain Projects). Um eine
mglichst genaue Widergabe der Landschaft im Rechner zu erzeugen,
knnen nicht nur eine Vielzahl von Hhenmodellen gelesen werden,
unter anderen: DEM, SDTS DEM, DTED, GTOPO30, CDF, Surfer GRD, BT und PGM,
sondern auch Straendaten im USGS DLG und ESRI SHP Format,
Bauwerkdaten (BCF-Dateien), Vegetationsinformationen z.B. USGS LU/LC 
und ESRI SHP files, sowie Artenlisten und Vegetationszonen aus Textdateien.
Der Import von Bilddaten wird noch nicht untersttzt.   
Die bearbeiteten Daten knnen direkt mit VTP Enviro angezeigt
werden.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & Win32, FreeBSD, GNU/Linux, und Irix\\
   Heimatseite: & http://vterrain.org/\\
   Lizenz: & MIT\\ 
   Programmiersprache: & \\
  \end{tabular}
 
\nomenclature{Lizenz MIT}{leer}
\nomenclature{\bf Surfer GRD}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-surfer-de.tex
Rasterdatenformat der Software Surfer.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-surfer-de.tex
}\index{Surfer GRD}



\section{DLG Viewer / dlgv32}

Die USGS Software dlgv32 wurde erstellt, um eine Vielzahl von
karthographischen Daten betrachten zu k"onnen. Die urspr"ungliche
Entwicklung beschr"ankte sich auf das SDTS Format. Die Software hat
keine Editierfunktionen und ist kein Ersatz fr ein GIS.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & Windows 95, Windows NT\\
   Heimatseite: & http://mcmcweb.er.usgs.gov/viewers/\\
   Lizenz: & Public Domain\\
   Programmiersprache: & \\
  \end{tabular}
\nomenclature{Lizenz Public Domain}{leer}


\section{dem3D}

Das Programm dem3D ist ein frei herunterladbares 
Visualisierungswerkzeug fr USGS ASCII- und SDTS-DEMs.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & Windows 95, Windows NT, Windows 2000\\
   Heimatseite: & http://craterlake.wr.usgs.gov/dem3d.html\\ 
   Lizenz: & Public Domain\\
   Programmiersprache: & \\
  \end{tabular}

\nomenclature{\bf USGS ASCII-DEM}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-usgsasciidem-de.tex
Digitales H"ohenmodell des USGS. Ascii-formatiert, Informationen "uber
Ausdehnung sind in der Datei enthalten.   
%%% TEXEXPAND: END FILE ./glossary-de/glossary-usgsasciidem-de.tex
}\nomenclature{\bf USGS SDTS-DEM}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-usgssdtsdem-de.tex
In einer SDTS Datei k"onnen auer DEM auch zum Beispiel
Vektordaten oder Rasterdaten (Luftbilder, gescannte Karten)
gespeichert werden. Die Art und Orientierung der gespeicherten
Daten wird in der SDTS-Datei vorgehalten.   
%%% TEXEXPAND: END FILE ./glossary-de/glossary-usgssdtsdem-de.tex
}

\section{GPS Point}
 
GPS Point ist ein kommandozeilenorientiertes Programm, um Wegpunkte, Routen 
und Tracks vom PC auf einem Garmin-GPS-Handheld zu verwalten.\\ 
 
  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & GNU/Linux, MacOS X, BSD\\ 
   Heimatseite: &
   http://scampi.physik.uni-konstanz.de/ \~\ tschank/gpspoint/\\
   Lizenz: & GPL\\
   Programmiersprache: & C++\\ 
  \end{tabular}

\nomenclature{\bf MacOSX}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-macosx-de.tex
Betriebssystem von Apple/Macintosh Rechnern.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-macosx-de.tex
}\nomenclature{BSD}{leer}


 \section{GPSMan}
 
GPS Manager (GPSMan) ist ein grafischer Manager f"ur GPS-Handys.
Mit ihm k"onnen Daten auf den GPS-Handys inspiziert und zu verndert werden.
GPSMan untersttzt Empfnger von Garmin und Lowrance.\\ 
 
  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & GNU/Linux and other Unices\\ 
   Heimatseite: & http://www.ncc.up.pt/ \~\ mig/gpsman.html\\
   Lizenz: & GPL\\
   Programmiersprache: & Tcl/Tk\\ 
  \end{tabular}
 
  \section{DPSIP}

DGPSIP ist ein Programm um Pseudorange-Korrekturdaten "uber das Internet zu
Empfangen und an einen GPS-Empf"anger zu bermitteln, der die F"ahigkeit
hat entsprechende Korrekturdaten zu verarbeiten.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & Windows 95, Windows 98, Windows NT,
   Netbsd/Openbsd/Freebsd, GNU/Linux\\
   Heimatseite: &
   http://www.wsrcc.com/wolfgang/gps/dgps-ip.html\#bulk\\
   Lizenz: & GNU Public License (GPL)\\
   Programmiersprache: & C\\
  \end{tabular}
  

 \section{Mapit!}

MapIt! ist eine Web-Anwendung, die es erlaubt, via Web-Browser auf
Rasterkarten zu navigieren, hinein- und herauszuzoomen sowie 
darzustellende Objekte/Objektklassen auszuwhlen und auf der Karte
zu identifizieren.\\ 

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & GNU/Linux, Windows 98, NT4, 2K, ME\\
   Heimatseite: & http://www.mapit.de/\\
   Lizenz: & LGPL (GNU Lesser General Public License)\\
   Programmiersprache: & Python\\ 
  \end{tabular}

\nomenclature{Python}{leer}

 \section{MapServer}

MapServer ist eine Open Source Entwicklungsumgebung, um
Internetanwendungen fr die Darstellung von r"aumlichen
Daten zu erstellen. Die Software baut auf einer Vielzahl von
Open Source oder Freeware (freie Software) Systemen auf, wie zum
Beispiel Shapelib, FreeType, Proj.4, libTIFF, Perl und anderen. 
MapServer unterst"utzt verbreitete Skriptsprachen, um Zugriff auf die 
Entwicklungsumgebung zu gew"ahren, darunter Perl, Python, Tk/Tcl, Guile
und Java. Dadurch ist es zum Beispiel m"oglich, "uber das Perl
DBI Modul auf Datenbanken wie Oracle, Sybase oder MySQL
zuzugreifen.\\

  \begin{tabular}{p{3cm}p{9cm}}
   Betriebssystem: & GNU/Linux, Win2k, WinNT, Win9x\\
   Heimatseite: & http://mapserver.gis.umn.edu/\\
   Lizenz: & MapServer License\\ 
   Programmiersprache: & C\\ 
  \end{tabular}

\nomenclature{\bf Perl}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-perl-de.tex
Perl steht fr Pratical Extraction and Report Language. Die Sprache stammt
aus der Unix-Welt und wurde 1987 in der ersten Version verffentlicht.
Perl ist das Werk einer Einzelperson: der Erfinder, Larry Wall, hat auch
heute noch die Oberhand ber die Fortentwicklung der Syntax.\\
Perl-Scripts sind einfache Textdateien, die Programmanweisungen
in der Syntax von Perl enthalten. Solche Dateien knnen mit
jedem Texteditor erstellet und bearbeitet werden. Zum Ausfhren von
Dateien mit Perl-Programmanweisungen ist jedoch der Perl-Interpreter
erforderlich.\\
Stefan M"unz\cite{mnz}

%%% TEXEXPAND: END FILE ./glossary-de/glossary-perl-de.tex
}\nomenclature{\bf Skriptsprache}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-skript-de.tex
Bei einer Skriptsprache wird der Quelltext nicht in Maschinensprache
"ubersetzt, sondern von einem Interpreter direkt ausgefhrt.
Solche Interpreter sind Beispielsweise der PERL-Interpreter oder auch 
die Kommandozeile BASH.  
%%% TEXEXPAND: END FILE ./glossary-de/glossary-skript-de.tex
}\nomenclature{\bf Proj.4}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-proj4-de.tex
Projekt 4 ist eine Sammlung von Kommandozeilen-Programmen,
sowie eine Bibliothek fr wechselseitige Transformation von
Kartographischen Daten nach/von kartesischen Daten.
Es werden eine umfangreiche Zahl von Projektionen angeboten.



%%% TEXEXPAND: END FILE ./glossary-de/glossary-proj4-de.tex
}%%% TEXEXPAND: END FILE ./software/software-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./dem-from-sitedata/dem-from-sitedata-de.tex
\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
 Hhenaufnahmen, bei denen ein mehr oder weniger enges Raster von
 H"ohenpunkten aufgemessen wird oder bei der Aufnahme von Profilen
 fr eine Trassenplanung. Im folgenden wird eine eher ungewhnliche
 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 ausdrcklich darauf
 hingewiesen, da"s diese Daten und die daraus entstehenden Ergebnisse
 in keinster Weise fr 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{Lsung 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 fr 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 Strke von GRASS ist die Arbeit von mehreren Personen
im Team zu untersttzen. Dazu werden die {\em MAPSETS} automatisch mit
Leserechten fr alle User versehen, Schreibrecht hat nur der
Ersteller. So knnen die Daten in einer {\em LOCATION} von
allen benutzt werden, aber eine Vernderung ist nur dem Eigentmer
gestattet. Das {\em MAPSET PERMANENT} enthlt 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 knnen 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 5 weist auf die benutzte Programmversion hin.
    Das von GRASS generierte Startmenue erscheint und wird "ahnlich
    dem unten aufgefhrten ausgefllt 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.
     Die {\em DATABASE} beeichnet das Verzeichnis in dem die
     {\em LOCATION} abgelegt ist. 
     Diese {\em LOCATION} bentigt 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), siehe
     hierzu auch \cite{voser}. 
     \index{Datum}
     \nomenclature{\bf Datum}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-datum-de.tex
Da die eigentliche Form der Erde ungeignet ist um als
Bezugsfl"ache f"ur Koordinaten zu dienen, werden sogenannte
bestanschlieende geometrisch erfassbare Krper benutzt um auf 
ihnen Koordinaten zu realisieren.
Das Datum dieser Krper, (Kugel, Ellipsoide...), beschreibt ihre
Gr"o"se und Positionierung relativ zur Erde.\\

%%% TEXEXPAND: END FILE ./glossary-de/glossary-datum-de.tex
}     \nomenclature{\bf Ellipsoid}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-ellipsoid-de.tex
Eine m"ogliche Bezugsflche fr Koordinaten sind Ellipsoidse.
Durch definierte Halbmesser und Abplattungen sind sie mathematisch
beherrschbare Krper, die sich trotzdem der wahren Gestalt der
Erde gengend annhern. 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-ellipsoid-de.tex
}     \nomenclature{\bf GPS}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary_gps_de.tex
Das Akronym GPS steht fr Global Positioning System. GPS ist ein System zur 
3-dimensionalen Positionsbestimmung mittels rumlicher Bogenschlge
von mindestens 4 Satelliten, bzw 2-dimensionalen Positionsbestimmung mit
3 Satelliten . Die bekanntesten Satelliten-Systeme sind unter anderen
navstar-gps (USA) und glonass(GUS) sowie in Zukunft auch gallileo(EU).\\

%%% TEXEXPAND: END FILE ./glossary-de/glossary_gps_de.tex
}     \paragraph{x-y Location}Um ein kartesisches
     Koordinatensystem zu benutzen whlt  man (x,y - Men"upunkt {\em a}).     
     \nomenclature{\bf GUI}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-gui-de.tex
Mit GUI (graphical user interface) wird eine Schnittstelle
zwischen Programm und Benutzer bezeichnet, die eine graphische
Oberfl"ache besitzt.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-gui-de.tex
}           \nomenclature{\bf Koordinatensystem}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-koordinaten-de.tex
In einem Koordinatensystem knnen die Positionen von Punkten
durch Zahlen ausgedr"uckt werden. 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-koordinaten-de.tex
}           \nomenclature{\bf Koordinatensystem, kartesisch}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-kartesisch-de.tex
Nach dem franz"osischen Mathematiker und Philosophen Descartes benanntes
rechtwinkliges (orthogonales) Koordinatensystem.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-kartesisch-de.tex
}           \paragraph{Gau"s-Kr"uger Location}Um eine {\em LOCATION}
     f"ur die in Deutschland gebruchlichen Gau"s-Kr"uger
     Koordinaten zu erstellen, sind einige Angaben erforderlich.
     \index{Gau"s-Krger}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-Krger}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-gausskrueger-de.tex
Koordinatensystem der Deutschen Vermessungsverwaltungen.
Beruhend auf den Arbeiten von C.F. Gau und L. Krger
wird eine winkeltreue Abbildung erreicht. 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-gausskrueger-de.tex
} 
\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 {\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 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>

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 einzeilige Beschreibung fr 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 Gau"s-Kr"uger System ist eine transversale
    Mercatorprojektion {\tt tmerc}, weiter wird das
    Bessel-Rotationsellipsoid verwendet {\tt bessel},
    durch Eingabe von {\tt list} werden die
    verf"ugbaren Auswahlm"oglichkeiten angezeigt.
    Ein spezielles Datum fr die Koordinatenrealisierung
    kann hier angegeben werden. Im vorliegenden
    Fall ist es das "Potsdammer" Datum.
    {\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. Lnge geteilt
    durch 3 ergibt 3, zusammen mit den 500000 Metern haben wir ein
    {\em False Easting} von {\tt 3500000} Metern.\\
    \nomenclature{\bf Projektion}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-projektion-de.tex
Um ein Koordinatensystem definieren zu k"onnen m"ussen Bezugsflche und
Datum, sowie die Abbildungsfl"ache (Zylinder, Kreis, Kegel..) und ihre Position
bestimmt werden. Die Angaben zur Abbildung werden in der Abbildungsgleichung
zusammengefasst. 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-projektion-de.tex
}    \nomenclature{\bf Projektion, Mercator}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-mercator-de.tex
Die Mercatorprojektion ist eine winkeltreue, zylindrische Projektion und besitzt
keine Verzerrung am quator.Ihre fr die Navigation wichtige Eigenschaft besteht darin, dass eine Linie konstanten Azimuths gerade erscheint.\\
OMC: Die verfgbaren Projektionen\cite{omc}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-mercator-de.tex
}
\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) [y]

Please specify datum name
Enter 'list' for the list of available datums
Hit RETURN to cancel request
>list
datum
a-can
agd66
agd84
aus
carthage
eur
eur50
eur79
grs80
nad27
nad83
osgb36
potsdam
pulkovo
rome40
S-42
SAD-69
Sasia
tokyo
wgs72
wgs84
 
Please specify datum name
Enter 'list' for the list of available datums
Hit RETURN to cancel request
>potsdam

\end{verbatim}
\end{kommando}


\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}
\begin{sloppypar}
    Hat man die Regionparameter fr 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{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 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 gewhlt, so verlngert sich
           die Bearbeitungsdauer auf jeden Fall, bringt aber
	   nicht unbedingt bessere Ergebnisse. Das wohlbedachte 
           Auswhlen der Regionsparameter lohnt sich immer, da oft
           bei einer Vielzahl von folgenden Berechnungen Zeit und 
           rger gespart werden.
    \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
    fr die weitere Berabeitung sind, sie definieren sozusagen die
    Welt, in der sich die GRASS - Location befindet, werden sie in
    der folgenden Bildschirmausgabe noch einmal aufgefhrt und vom
    Anwender nach entsprechender Kontrolle besttigt.
    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 Auflsung 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

  e-w res:     0.5
  n-s res:     0.5

  total rows:                2
  total cols:                2
  total cells:               4


Do you accept this region? (y/n) [y] > y


\end{verbatim}
\end{kommando}

     Nachdem alle weiteren Abfragen best"atigt wurden, kommt man
     zurck 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.

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 nchsten 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 dafr, da"s der Befehl im Hintergrund luft und nicht die 
    Kommandozeile, und damit das weitere Arbeiten 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 k"onnen und 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} Hiermit wird ein
interaktives Men"u zur Verwaltung der Monitore aufgerufen.
Es knnen 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 Auswhlen eines freien Monitors und dem
beherzten Drcken auf {\tt ENTER} "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 {\tt 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 {\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}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-ascii-de.tex
Ascii ist die Abk"urzung f"ur den "`american standardcode for information 
interchange"'. Gemeint ist eine Zeichensatztabelle in der Buchstaben, Zahlen 
und Sonderzeichen kodiert sind.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-ascii-de.tex
}
\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 vollstndig darstellen zu knnen. Dies kann per Hand
 ber {\tt g.region} und die folgende interaktive
 Benutzerfhrung 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 Mglichkeit 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 knnen die
 gew"unschte Farbe {\tt color=}, Gre {\tt size=} und die
 Symbolart {\tt type=} an den Befehl bergeben werden.\\
\nomenclature{\bf Punktdaten}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-punktdaten-de.tex
Beziehen sich Daten jeweils auf einen Punkt ohne Angabe
ber eine mgliche weitere Ausdehnung so spricht man von Punktdaten.
Punktdaten knnen sein: Punktidentifizierer, Koordinaten, Hhe und
weitere Punktattribute.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-punktdaten-de.tex
}
\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=0.8\textwidth]{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 anschlieenden Interpolation zu verhindern, da"s
  ber das gesammte Gebiet des Mapsets eine Interpolation
  gerechnet wird, maskiert man das relevante Gebiet.
  Das hierzu benutzte Kommando {\tt s.hull} wurde fr 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 Flche mu ein Wert (Label) zugewiesen werden, um
     aus ihr eine Rasterflche 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 anschlieend
     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
in userem Fall {\tt 1:2400} von GRASS eingetragen wurde, bei einer
Kartendigitalisierung mu"s natrlich der Mastab 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 anschlieende {\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____
West edge of area   3464438.5_____
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 fr
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 kann dazu dienen die Areas
zu unterscheiden, so knnten Beispielsweise Straenflchen 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}\\

Anschlieend 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 umschlieende
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
es durch Eingabe von {\tt q} und {\tt Q} verlassen.\\

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-hull-label.eps}
\caption[Screenshoot GRASS Hllenvektor 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 {\tt r.mask} gesetzt,
 mit dem alternativ auch Masken entfernt werden k"onnen.
 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


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 durch Interpolation in Rasterdaten umwandeln}
\paragraph{Mit s.surf.idw}
 Aus den importierten Punktdaten wird ein Raster
 entsprechend der gewhlten Aufl"osung {\em Grid
 Resolution} in den Regionsparametern interpoliert um fr 
 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. \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 die Rasterdateien
 mit verschiedenen Inhalten erzeugt werden. Mit {\tt input=}
 wird die zu interpolierende Punktdatei aufgerufen. Weiter
 kann man als Ausgabedateien Hhen- {\tt elev=}Dateiname,
 Neigungs- {\tt slope=}Dateiname, Verhltniss- {\tt aspect=}Dateiname,
 Profilkrmmungs- {\tt pcurv=}Dateiname,
 Tangentialkrmmungs- {\tt tcurv=}Dateiname und  mittleren
 Krmmungsdateien {\tt mcurv=}Dateiname w"ahlen. Natrlich
 knnen 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=},
 berhhungsfaktoren fr die Attributwerte, in diesem Fall
 die H"ohe, {\tt zmult=}, Spannungs- und Glttungsparameter
 fr die Oberflchenglttung {\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, erhht werden.
 Durch Eingabe von {\tt segmax=700} kann in diesem Fall die Dauer
 der Berechnung verkrzt werden, diese Option ist Abhngig von der
 vorgegebenen Anzahl der Punkte, hier weniger als 700.
\\
\paragraph{Tipps}
 \begin{itemize}
  \item Mit den Optionen der Interpolationsbefehle sollte nicht sorglos
        umgegangen werden. Es wird hier auf die Aufstze\cite{mitasova}
        der beteiligten Entwicklerin Helena Mitasova sei hier verwiesen.
 \end{itemize}
 \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{dem-from-sitedata/echolot-rast-1.eps}
       \caption[Screenshoot GRASS interpoliertes Raster Elsfleth 1]{\label{grass_echolot_2}
       GRASS-Monitor mit den interpolierten Rastertiefendaten "`Hafen
       Elsfleth"' aus dem Modul {\tt s.surf.idw}}.
       \end{figure}

\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
 
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
 
Processing all selected output files
will require 4294168 bytes of disk space for temp files
 
bitmap mask created
 100%
Percent complete: history initiated
GRASS:~ >

\end{verbatim}
\end{kommando}

Ist der an der Kommandozeile "ubergebene Parameter {\tt tension=} 
zu klein gewhlt, die Defaulteinstellung ist hier {\tt tension=40}, kann es bei starken
nderungen der Hhenwerte zu einer {\em Overshoot} - Warnung des Programmes
kommen. Siehe folgendem Beispielaufruf.
Diese besagt das es mit den eingestellten Werten nicht mglich ist
eine geglttete Oberflche zu erzeugen. Durch die Erhhung des entsprechenden
Parameters kann dieser Warnung abgeholfen werden. Auch hier sollten den schon 
erwhnten 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

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

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

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 bentigt werden hlt sich
 der Mehraufwand bei dem Aufruf von {\tt s.surf.rst} gegenber {\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 Um zu entscheiden welcher Interpolationsbefehl fr die zu
lsende Aufgabe am besten geeignet ist sollten die Manual Pages zu
den Befehlen gelesen werden. Eine solche Manual Page fr 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 Benutzeroberflche afgerufen werden. 
\end{itemize}

\subsection{Rasterdaten anzeigen} \index{Rasterdaten, anzeigen}
 Einer der am hufigsten genutzten Befehle bei GRASS ist
 sicherlich {\tt d.rast}.  Er dient dazu Rasterdateien in dem
 ausgewhlten Monitor anzuzeigen. Die gewnschte Rasterdatei
 wird mit {\tt map=} ausgewhlt. 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{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{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 {\tt s.surf.rst}.}
       \end{figure}   
     
     
 \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 gewnschte 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


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 {\tt
nviz} sein (Abb. \ref{echolot_gui_1}).
Gleichzeitig erscheint der Ausgabemonitor von {\tt nviz}
mit einem Drahtgittermodell des aufgerufenen
Hhenmodells (Abb. \ref{echolot_nviz2_wire}).
Durch einen Mausklick auf die Schaltfl"ache {\em Surface}
kann dieses Gittermodell mit einer farbkodierten
Oberflchentextur belegt werden.
Blickwinkel ({\tt perspektive}), Anordnung des Projektionszentrums
(Maussensitive "`Windrose"), ({\tt height}) 
und "Uberh"ohungsfaktor der
H"ohen ({\tt 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 solche oder "ahnliche
Ergebnisse wie in (Abb. \ref{echolot_nviz2_3d})zu erzielen sein.

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

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

%%% TEXEXPAND: END FILE ./dem-from-sitedata/dem-from-sitedata-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./triangulate-sitedata/triangulate-sitedata-de.tex
\chapter{Triangulation in Punktdaten}
\label{triangulate_site_data_de}
\subsubsection{Aufgabenstellung}
Eine andere Methode digitale Gelndemodelle zu erzeugen  
ist die Triangulation. Dabei wird mit der Erzeugung einer
geeigneten Dreiecksvermaschung versucht, zwischen den gegebenen Punkten
einen sinnvollen Interpolationsansatz zu erhalten. 
Das zu erzeugende Modell ist der realen Landschaft soweit wie
m"oglich anzun"ahern. Zum Erzeugen einer solchen
Triangulation gibt es mehrere Anstze.
\subsubsection{Beispieldaten}
Es werden die in Kapitel \ref{computing_site_data_de} eingelesenen Punktdaten 
der Echolotmessung im Hafen von Elsfleth {\tt elsfleth-1.0 (17 KB)} verwendet.
%\subsubsection{Weitere Verwendung der Beispieldaten}

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


Eine in GRASS implementierte M"oglichkeit zur Triangulation ist die
Dreiecksvermaschung nach Delaunay. Eine generelle Beschreibung der Delaunay
Triangulation findet sich hier
\footnote{http://www.rz.tu-ilmenau.de/~japel/vortrag/gdv/delaunay.htm}.
Der Aufruf erfolgt denkbar einfach durch den Befehl {\tt
s.delaunay}. Im darauffolgenden Dialog werden die Punkt- und die
zu erzeugende Vektordatei benannt, im Beispiel {\tt tiefen} und
{\tt dreieck}. Die GRASS Version 5.0 erzeugt eine 2D Triangulation, 
also ohne bercksichtigung der Hhen. Ab Version 5.1 wird es mglich
sein 3D-Vektoren zu erzeugen.
\nomenclature{\bf Triangulation, Delaunay}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-delaunay-de.tex
Grundlage der Triangulation nach Delaunay ist die Umkreisbedingung,
wonach der Umkreis eines Dreiecks (...) keine weiteren Punkte (...) 
(der vorgegebenen Punktmenge) enthalten darf.
Durch die Umkreisbedingung wird bei der Delaunay-Triangulation
der kleinste Innenwinkel ber alle Dreiecke maximiert.
Fr den Sonderfall, da auf dem Umkreis mehr als drei Punkte liegen,
ist die Delaunay-Triangulierung nicht eindeutig.
Fr die Delaunay-Triangulation im dreidimensionalen Raum wird
statt der Umkreis- eine Umkugelbedingung verwendet.\\
Gerald Hildebrandt\cite{hildebrandt}


%%% TEXEXPAND: END FILE ./glossary-de/glossary-delaunay-de.tex
}
\begin{kommando}
\begin{verbatim}

GRASS:~ > s.delaunay
 
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
> dreieck
<dreieck>
 
FLAG: Set the following flag?
    Use all sites (do not limit to current region)?(y/n) [n]
 
FLAG: Set the following flag?
    Quiet?(y/n) [n]
Doing Delaunay triangulation ...     100%

GRASS:~ >

\end{verbatim}
\end{kommando}\

    Die Ausgabe erfolgt an einem GRASS - Monitor mit {\tt
    d.vector}.\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > d.vect -v map=drei

Initializing [drei] ... Plotting ... Done
GRASS:/tmp/test > d.vect -v map=drei 
Vector file [drei]
 
Selected information from dig header
 Organization:  US Army Const. Eng. Rsch. Lab
 Map Name:
 Source Date:
 Orig. Scale:   1
 
 North: 5901697
 South: 5901040
 East:  3464847
 West:  3464440
 
Initializing [drei] ... Plotting ... Done

\end{verbatim}
\end{kommando}\

       \begin{figure}[h]
       \centering
       \includegraphics[width=10cm,height=10cm]{triangulate-sitedata/delaunay-1.eps}
       \caption[Screenshoot GRASS Delaunay Triangulation]{\label{delaunay_1}Ausgabebildschirm mit
        Delaunay-Triangulation "`Hafen Elsfleth"'}
       \end{figure}

Durch einem gemeinsamen Aufruf der grundlegenden Rasterdatei und der
erzeugten Triangulation in {\tt Nviz} siehe Kapitel \ref{computing_site_data_de} wird
eine 3-Dimensionale Darstellung des Triangulationsmodells erzeugt.
Hierzu wird dem Aufruf {\tt Nviz} zus"atzlich die entsprechende
Vektordatei "ubergeben. Ein Mausklick auf die Schaltflche {\em
Vectors} in der {\em Nviz}-GUI baut die gewnschte Ansicht auf (Abb \ref{tria_3d}).\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > nviz el=grund ve=delau


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

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

\end{verbatim}
\end{kommando}\


      \begin{figure}[h]
       \centering
       \includegraphics[width=10cm,height=10cm]{triangulate-sitedata/echolot-nviz2-triang.eps}
       \caption[Screenshoot GRASS Delaunay Triangulation 3D]
       {\label{tria_3d}Ausgabebildschirm mit
        3-dimensionaler Ansicht der Delaunay-Triangulation "`Hafen Elsfleth"'}
       \end{figure}



%%% TEXEXPAND: END FILE ./triangulate-sitedata/triangulate-sitedata-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./import-usgs-dem/import-usgs-dem-de.tex

\chapter{Digitales H"ohenmodell des United States Geological
Survey (USGS) importieren}
\label{import_usgs_dem_de}
\subsubsection{Aufgabenstellung}
Das USGS h"alt Digitale H"ohenmodelle (digital elevation models) in
den Mastben \begin{math}1:250.000\end{math} und \begin{math}
1:24.000 \end{math} zum Herunterladen vor
\footnote{http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html}.
Diese H"ohenmodelle sind im SDTS
\footnote{http://mcmcweb.er.usgs.gov/sdts/}(Spatial Data Transfer Standard)
gespeichert.\index{SDTS} Dieses Format
wurde speziell zum verlustfreien Austausch von georeferenzierten
Daten zwischen verschiedenen Computersystemen geschaffen.  Viele
Programme zum Betrachten und Bearbeiten von Hhenmodellen arbeiten
noch mit dem Vorgngerformat, dem sogenannten USGS ASCI Format.
Programme zum Konvertieren von SDTS in das USGS ASCI Format k"onnen
bei \footnote{http://geopotential.com/docs/sdts2dem/sdts2dem.html}
heruntergeladen werden.  Im folgenden wird das Importieren eines
USGS ASCI formatierten H"ohenmodelles beschrieben.
\nomenclature{\bf SDTS}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-sdts-de.tex
Das SDTS (Spatial Data Transfer Standard) ist ein vom USGS (United States 
Geographical Survey) geschaffenes Containerdatenformat fr Geoinformationen,
in dem alle vom USGS vorgehaltenen Informationen gespeichert werden knnen.
Eine SDTS-Datei enthlt Informationen ber die in ihr gespeicherten Daten,
so dass entsprechende Anzeigeprogramme alle Parameter fr eine sinnvolle
Darstellung der Daten ermitteln knnen. 
  
%%% TEXEXPAND: END FILE ./glossary-de/glossary-sdts-de.tex
}
\subsubsection{Beispieldaten}
Die hier verwendeten Beispieldaten hlt das USGS in dem sogenannten 
"`Crater Lake Data Clearinghouse"'\footnote{http://craterlake.wr.usgs.gov/intro.html}
zusammen mit einer Menge an zus"atzlichen Informationen, Metadaten,
"uber diesen Nationalpark der USA zum Herunterladen vor.
Unter anderem sind dort Daten "uber die Geomorphologie, "Okologie,
Kulturgeschichte und vieles mehr gespeichert.

\subsubsection{Weitere Verwendung der Beispieldaten}
 Die ab Seite \pageref{import_usgs_dem_de:grass} ff bearbeiteten Daten werden in den folgend aufgez"ahlten Kapiteln benutzt:

\begin{itemize}
\item Kapitel \ref{computing_contur_lines_de} Seite
\pageref{computing_contur_lines_de:grass} ff.
\item Kapitel \ref{flood_model_de} Seite
\pageref{flood_model_de:grass} ff.
\item Kapitel \ref{georeferencing_de} Seite
\pageref{georeferencing_de:grass} ff.
\item Kapitel \ref{computing_volumina_de} Seite
\pageref{computing_volumina_de:grass} ff.
\item Kapitel \ref{fly_over_dem_de} Seite
\pageref{fly_over_dem_de:grass} ff.
\item Kapitel \ref{web_mapping_de} Seite
\pageref{web_mapping_de:mapserver} ff.



\end{itemize}



 \section{Lsung mit g3DGMV (3D Graphical Map Viewer)} \index{g3DGMV}
  \label{import_usgs_dem_de:g3dgmv}
    Es wurde die Version 0.60 von g3DGMV auf einer Windows 2000 Installation
    verwendet.\\

   
    Die Bedienung von g3DGMV erfolgt durch die aufgerufene GUI.
    Wie die aktuelle Versionsnummer (0.60) vermuten l"asst, sind
    noch nicht alle Features implementiert, aber eine grundlegende
    Betrachtung und Bearbeitung von Hhenmodellen ist mglich.\\
    Die Schaltflche {\em File} "offnet ein Men"u zur Auswahl der
    gew"unschten Datei (Abb. \ref{g3dgmv_1}). Ein Mausklick auf den
    Reiter {\em Map Viewer} ffnet einen Betrachtungsmonitor. Ein
    rechter Mausklick in den Monitor ruft ein Auswahlmen"u zur
    Bearbeitung des H"ohenmodelles auf. Hier kann z.B. zwischen
    einer 2D- und 3D-Ansicht, {\em Position Default} und {\em Position
    Rotated}, umgeschaltet werden. Die Men"uauswahl {\em Map Line}
    erzeugt eine Linienansicht des 3D-Modelles. Mit {\em Rotate Map} kann
    man das Modell um alle 3 Achsen drehen. Die Ausgangsposition
    erreicht man mit {\em Default Map}. Die Farbe und die
    Koordinaten eines angewhlten Punktes knnen mit {\em Pick Color}
    und {\em Find Position} ermittelt werden. Durch {\em Rotate Wire
    Frames} wird ein Ausschnitt des DEM als drehbares Drahtgittermodell erzeugt,
    {\em Move Wire Frame} verschiebt den Auschnitt im Fenster.
    {\em Tools} "offnet ein Men"u mit Werkzeugen zur Bildbearbeitung.
    Eine erzeugte Ansicht kann mit {\em Save} als PNG-Datei gespeichert werden.

 \paragraph{Tipps:}
     \begin{itemize}
     \item Bei einer auf deutsche Sprache und Satzzeichen eingestellte
           Linux-Installation muss vor dem eigentlichen
           Programmaufruf ein {\tt export LC\_ALL=en} erfolgen,
	   um die benutzte Shell anzuweisen, Punkte anstatt Kommata
	   als Dezimaltrenner aufzufassen.
     \end{itemize}

       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/g3DGMV-1.eps}
       \caption[Screenshoot g3DGMV]{\label{g3dgmv_1}Ausgabebildschirm mit
        importiertem USGS Modell "`Abbott Butte, Oregon"'}
       \end{figure}


 \section{L"osung mit VTBUILDER} \index{VTBUILDER}
\label{import_usgs_dem_de:vtbuilder}
Es wurde eine Windows 2000 Installation verwendet.\\


Das Programm VTBUILDER ist eine Application des Virtual Terrain
  Project (VTP)\footnote{www.vterrain.org}. Neben dem reinen
  Darstellen von DEMs (Abb. \ref{vtbuilder_1}) mittels {\em
  Layer/Import Data} und der Auswahl {\em Elevation} kann VTBUILDER
  unter anderem geographische und UTM Koordinaten wechselseitig
  konvertieren und so gemeinsam darstellen. Auch Koordinaten
  verschiedenen Datums werden zusammen verarbeitet. VTBUILDER kann
  eine Vielzahl von DEM - Dateitypen lesen, z.B.:USGS ASCII DEM,
  SDTS DEM, DTED, GTOPO30, CDF, Surfer GRD, PGM und es importiert
  und schreibt Binary Terrain (BT)\index{PGM}\index{DTED}\index{CDF}
  Dateien\footnote{http://vterrain.org/Implementation/BT.html}. Die
  DEMs werden auf Wunsch auf einer Weltkarte lagerichtig angezeigt
  {\em View/Worldmap} und die UTM-Meridianstreifen k"onnen
  eingeblendet werden (Abb. \ref{vtbuilder_2}) {\em Viw/UTM
  Boundaries}.
  \nomenclature{\bf PGM}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-pgm-de.tex
Eine PGM (portable greymap) bietet die Mglichkeit ein Grauwertbild mit 
16 bit pro Pixel aufzulsen und eignet sich besonders um Hhendaten
in einer Rasterdatei zu speichern.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-pgm-de.tex
}  \nomenclature{\bf DTED}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-dted-de.tex
DTED (Digital Terrain Elevation Data) Dateien enthlten Hhendaten in einem
gleichabst"andigen Raster. Sie entsprechen den USGS DEM-Dateien wurden
aber vom NIMA fr milit"arische Zwecke entworfen. DTED Dateien basieren
auf Angaben der geographischen Lnge und Breite. 


%%% TEXEXPAND: END FILE ./glossary-de/glossary-dted-de.tex
}   \nomenclature{\bf CDF}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-cdf-de.tex
Das CDF (Common Data Format) ist ein von der NASA entwickeltes 
Datenformat um multidimensionale Datenstze abzuspeichern.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-cdf-de.tex
}    
       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/vtbuilderdem.eps}
       \caption[Screenshoot VTBUILDER1]{\label{vtbuilder_1}Ausgabebildschirm mit
       importiertem USGS Modell "`Crater Lake"'}
       \end{figure}
 Im unteren rechten Bildrand wird die UTM-Region, das Datum der
 Koordinatenrealisierung und die aktuellen Mauskoordinaten
 angezeigt. Mit {\em View/Obtain Distance} kann in den Mess-Modus
 geschaltet werden. Durch einen Mausklick und das Bewegen des
 Mauszeigers bei gedr"uckter Maustaste k"onnen zwei Punkte
 angefahren werden, zwischen denen die Entfernung in Metern und
 entsprechend die Unterschiede in UTM- und Geographischen
 Koordinaten angezeigt werden.

       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/vtbmaputm.eps}
       \caption[Screenshoot VTBUILDER2]{\label{vtbuilder_2}VTBUILDER mit Weltkarte
       und UTM-Meridianstreifen}
       \end{figure}
 Weiter unterst"utzt VTBUILDER das Einlesen von USGS DLG-Dateien und ESRI \index{ESRI} Shape-Files.\index{shape}


\section{L"osung mit dem3D}
 \label{import_usgs_dem_de:dem3D}
Es wurde die Version 2.0a von dem3D auf einer Windows 2000 Installation verwendet.\\ 

  Um USGS ASCII-DEMs und SDTS-DEMs unter Windows anzeigen zu lassen,
  hat das USGS das Programm dem3D zur Verfgung gestellt. Nach dem
  Start wird das gewnschte DEM mit {\em File/Open} aufgerufen und
  angezeigt (Abb. \ref{dem3d_1}). Durch Gedrckthalten der linken
  Maustaste und gleichzeitiges Bewegen der Maus kann das Modell in
  allen 3 Achsen bewegt werden. Mit der Schaltflche {\em Shader}
  kann zwischen verschiedenen Oberflchen- und Beleuchtungsmodellen
  gew"ahlt werden. Wahlweise kann unter der Schaltflche {\em Scene}
  mit {\em Camera} das Projektionszentrum bestimmt und mit {\em
  Lights} Farbe und Standpunkt der Beleuchtungsquelle eingestellt
  werden. Die Himmelsrichtungen k"onnen durch {\em Compass}
  angezeigt  und  ein Gitter mit {\em Grid} bzw. eine
  Wasseroberflche mit {\em Water} eingeblendet werden (Abb.
  \ref{dem3d_2}).  Eine Statuszeile im linken unteren Fensterrahmen
  informiert ber die Mausposition, Lage des Projektionszentrums,
  "Uberh"ohung der H"ohenkoordinaten und die gew"ahlte Auflsung.
       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/dem3d-craterlake.eps}
       \caption[Screenshoot dem3D Craterlake 1]{\label{dem3d_1}Anzeige des USGS-DEM
       "`Craterlake"'\ mit dem3D}
       \end{figure}

       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/dem3d-grid-craterlake.eps}
       \caption[Screenshoot dem3D Craterlake 2]{\label{dem3d_2}Anzeige des USGS-DEM
       "`Craterlake"'\ mit Himmelsrichtung und Gitter mit dem3D}
       \end{figure}

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


    
    Um ein digitales H"ohenmodell zu importieren, muss eine Umgebung
    aus passender {\em Location}, {\em Mapset} und {\em Region}
    geschaffen werden.  Dies sollte gleich beim Aufruf von {\tt grass5}
    erfolgen, da hier am einfachsten alle Parameter eingegeben
    werden k"onnen. Ein nachtrgliches "Andern und Anpassen ist zwar
    mit {\tt g.region} \index{g.region} fr die Regionsparameter und
    {\tt g.setproj} fr die Projektion m"oglich, aber die "Anderung
    der Projektion bewirkt hierbei keine Neuprojektion schon
    vorhandener Daten in der Location. 
     Solche Umprojektionen k"onnen mit {\tt s.proj},
    {\tt v.proj} und {\tt r.proj} erfolgen.\\
    Es sollten also bekannt sein: die Projektionsart,
    bei Daten des USGS "ublicherweise UTM
    (Universal Transversal Marcatorprojection), der
    Meridianstreifen\nomenclature{\bf Meridianstreifen}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-meridianstreifen-de.tex
Ein Meridianstreifen besteht aus einem Zentralmeridian und einer
Anzahl von Meridianen links und rechts von ihm. Genutzt werden
Meridianstreifen Beispielsweise bei der Definition von Koordinatensystemen.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-meridianstreifen-de.tex
}    \index{Meridianstreifen}\nomenclature{\bf UTM}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-utm-de.tex
In dem UTM- (Universelle Transversale Mercatorprojektion) Koordinatensystem
k"onnen Koordinaten Weltweit abgespeichert werden. Die benutzten 
Meridianstreifen sind 6 Grad breit.

%%% TEXEXPAND: END FILE ./glossary-de/glossary-utm-de.tex
}, m"ussen k"onnen    noch das verwendete Ellipsoid und das Datum der
    Koordinatenrealisierung angegeben werden.\index{Datum} Sollte
    die Ausdehnung des DHM nicht bekannt sein so kann man mehr oder
    weniger m"uhsam mit einem Editor den Header durchforschen oder
    man importiert das Modell mittels {\tt m.dem.extract} unter
    Angabe der Importdatei {\tt input=} und ohne Angabe einer
    Ausgabedatei {\tt output}. Das Programm wird nun im
    Examination - Modus ausgefhrt.
    Hierdurch erh"alt man  in der Programmmeldung Angaben "uber die
    aktuellen Regionsparameter {\em Current Region Settings}, und
    interessanter, "uber die zu importierende Datei zum Beispiel:\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > m.dem.extract input=/home/heiko/g3d/crla_bathy.dem
Current Region Settings-----------------------------
rows:       973
cols:       507
north:      5901608.25
south:      5901122.25
east:       3464760.75
west:       3464507.75
ns_res:     0.500000
ew_res:     0.500000

Reading Elevation Tape...
----------------------------------------------------
File # 1

min elevation: 946.000000  max elevation: 2721.000000
ns_res: 30.000000  ew_res: 30.000000
# of columns in file = 1374
C-record: 0
file north UTM = 4775095.04759036
file south UTM = 4733028.06587524
file east UTM = 592070.83615184
file west UTM = 550840.83667175
(outside current geographic region)
-----tape min elevation:946  tape max elevation:2721

\end{verbatim}
\end{kommando}\

  Somit haben wir alle Informationen um das Digitale H"ohenmodell zu importieren.\\



    \subsection{Einlesen des DHM}
    Nachdem mit {\tt g.region} die Parameter des Mapset angepasst
    wurden kann der nochmalige Aufruf {\tt m.dem.extract} wiederum
    mit Angabe des Importpfades {\tt input=} und der zu erzeugenden
    Rasterdatei {\tt output=} diesmal korrekt bearbeitet werden und
    man wird mit der Meldung {\tt intersects with current geographic
    region} belohnt. Um nur das File 1 des DEM zu importieren
    werden noch die Optionen {\tt start=1 end=1} "ubergeben.\\
    Das Anzeigen der Rasterdatei geschieht wieder
    mit {\tt d.rast} in einem mit {\tt d.mon} ge"offneten oder
    ausgew"ahlten Monitor.\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > m.dem.extract input=/test/crla.dem output=rasterdata\
start=1 end=1

\end{verbatim}
\end{kommando}\

       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/grass-import-usgs-2.eps}
       \caption[GRASS-Ausgabemonitor USGS-DEM]{\label{grass2}GRASS-Ausgabemonitor
       mit USGS DEM Crater Lake}
       \end{figure}

\paragraph{Tipps:}
   \begin{itemize}
   \item Wurde beim Kompilieren von GRASS die 
   GDAL - Geospatial Data Abstraction Library von 
   Frank Warmerdam\footnote{http://www.remotesensing.org/gdal/}
   mit der Option {\tt ./configure --with-gdal} aufgerufen, k"onnen
   Rasterdateien vieler Art durch den Aufruf {\tt r.in.gdal input= Eingabedatei
   output=Ausgabedatei} in GRASS importiert werden.
   Es kann gleichzeitig eine GRASS {\em LOCATION} mit
   den richtgen Parametern fr diese Rasterdateien erstellt werden.
   \item Beim Importieren von USGS-DEMs kommt es vor das ein oder
   mehrere meist am Rand gelegene Hhenkoordinaten einen falschen
   Wert von -32767 Metern aufweisen. Ob die ein Fehler in der
   Ursprungsdatei, ein bertragungsfehler oder "ahnliches ist 
   kann noch nicht gesagt werden. Man kann nun die
   Rasterdatei per {\tt r.out.ascii} in eine ASCII-Datei
   konvertieren und die Werte per Editor berichtigen, oder man
   benutzt den Befehl {\tt r.mapcalc Ergebnissdatei="'if(Ausgangsdatei == -32767, null(),Ausgangsdatei)"'}. Hierdurch werden alle Werte der Ausgangsdatei
   die gleich -32767 sind auf null() also nicht vorhanden gesetzt.
   \item anstatt \begin{math}==\end{math} knnen auch andere logische
   Operatoren benutzt werden, so z.B. kleiner oder gleich
   \begin{math}<=\end{math}, gr"o"ser oder gleich \begin{math}>=\end{math}
   , nicht gleich \begin{math}!=\end{math} und so weiter. Eine Liste
   aller M"oglichkeiten findet sich in der Manualpage zu r.mapcalc
   {\tt g.manual r.mapcalc}.
   \end{itemize}


\section{L"osung mit dlgv32 / DLG Viewer}
\label{import_usgs_dem_de:dlgv32}

Es wurde der DLG Viewer 3.7 unter einer Windows 2000 Installation verwendet.\\


Ein weiteres Programm Des USGS ist dlgv32 (Digital Line Graph
Viewer). Neben der M"oglichkeit USGS Vektor-Dateien (DLGs)
anzuzeigen kann es auch USGS ASCII-DEMs und SDTS DEMs verarbeiten.
Unter anderem importiert dlgv32 in der Version 3.7 USGS DEMs,
Orthophotos (DOG) und Rastergraphiken (DRG) im GEOTIFF-
\index{geotiff} \nomenclature{\bf geotiff}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-geotiff-de.tex
Eine Erweiterung des Tiff-Dateiformates.
Es werden Daten zur Georeferenzierung, der Geotiff-Datei gespeichert.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-geotiff-de.tex
}Format, GTOPO30 Hhendaten\nomenclature{\bf GTOPO30}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-gtopo30-de.tex
Ein vom USGS (United States Geographical Survey) vertriebenes globales
Hhenmodell mit einer Bodenaufl"osung von 30 Bogensekunden (ca 1 km).
%%% TEXEXPAND: END FILE ./glossary-de/glossary-gtopo30-de.tex
} und CDED-Dateien (Canadian Digital ElevationData).   

       \begin{figure}[H]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/dlgv32-1.eps}
       \caption[Screenshoot dlgv32]{\label{dlgv32_1}Importiertes USGS
       DEM "`Crater Lake"'\ in dlgv32}
       \end{figure}

Die Anzeige in dlgv32 alias DLG Viewer kann in {\em Tools/Control
Center/Options} Beeinflusst werden. Informationen ber die
dargestellten Daten erhlt man in der Statusanzeige im unteren
Fensterrahmen und unter {\em Tools/Control Center/Metadaten}.
Weiterhin zu erwhnen ist das dlgv32 die Mglichkeit zur
Druckausgabe besitzt. 


%%% TEXEXPAND: END FILE ./import-usgs-dem/import-usgs-dem-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./conturlines-from-raster/conturlines-from-raster-de.tex
\chapter{Hhenlinien aus Punktraster erzeugen} \index{H"ohenlinien}
\nomenclature{\bf Hhenlinien}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-conturlines-de.tex
H"ohenlinien werden in Karten benutzt um in einer ebenen Darstellung 
eine Hheninformation darzustellen. Hierzu werden in regelm"a"sigen
Intervallen alle Punkte gleicher H"ohe durch eine Kurve verbunden.\\
 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-conturlines-de.tex
}	 \label{computing_contur_lines_de}

\subsubsection{Aufgabenstellung}
Das Erzeugen von H"ohenlinien ist eine h"aufig gestellte Anforderung
in vielen Bereichen der Vermessung und speziell der Karthographie.
Durch den geschickten Einsatz zum Beipiel in Topographischen
Karten kann in der 2-Dimensionalen Karte die visuelle Wahrnehmung 
von H"ohen unterst"utzt werden.

\subsubsection{Beispieldaten}
Es werden die in Kapitel \ref{import_usgs_dem_de} Seite
\pageref{import_usgs_dem_de:grass} ff importierten Daten des USGS  
verwendet.
\subsubsection{Weitere Verwendung der Beispieldaten}
 Die hier bearbeiteten Daten werden in den folgend aufgez"ahlten
 Kapiteln benutzt:

\begin{itemize}
\item Kapitel \ref{web_mapping_de} Seite
\pageref{web_mapping_de:mapserver} ff.
\end{itemize}

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

\subsection{Erzeugen der H"ohenlinien} 
  Zum Erzeugen von Hhenlinien verwendet man den Befehl {\tt r.contour}\index{r.contour}.
  Hiermit werden Konturlinien aus einer Rasterdatei erzeugt. Diese Konturlinien werden
  in einer Datei im GRASS-Vektorformat {\tt output=} gespeichert.
  Mit {\tt step=} wird die "Aquidistanz, also das Intervall zwischen
  den Konturlinien vorgegeben.\\
  Es knnen aber auch direkt die auszugebenden Konturlinien benannt werden
  {\tt levels= 1800,1900,2000}.
  Die Auswahl eines Bereiches f"ur den die H"ohenlinien erzeugt werden sollen,
  ist durch die Definition einer Untergrenze {\tt minlevel=}
  und einer Obergrenze {\tt maxlevel=} mglich.\\
    
\begin{kommando}
\begin{verbatim}

GRASS: > r.contour -n input=crater output=hlinien step=150
Reading data.
Percent complete:  100%
FPRange of data:    min =  0.000000 max = 2721.000000
Minimum level will be 0.000000
Maximum level will be 2700.000000
Continue?(y/n) [y] y
Displacing data.
Percent complete:  100%
Total levels:   19   Current level:

Building topology...

   V.SUPPORT:


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

    Reading Vector file.
 100%
    Building areas
    Building islands
    Attaching labels
 Number of lines:   261
 Number of nodes:   262
 Number of areas:   0
 Number of isles:   0
 Number of atts :   261
 Number of unattached atts :   0
 Snapped lines  :   0

Finished.

\end{verbatim}
\end{kommando}    
    
    \subsection{Anzeigen der Hhenlinien}
    Die als Vektordaten gespeicherten H"ohenlinien kann man  mit
    {\em d.vect} auf den aktiven Monitor ausgeben.\\
    Die anzuzeigende Datei wird mit {\em map=} ausgew"ahlt. Die Farbe der
    H"ohenlinien wird mit {\em color=} ausgew"ahlt. Mit den Optionen
    {\em -m} wird der Gebrauch von Hauptspeicher eingeschrnkt und mit
    {\em -v} werden Rckmeldungen des Programms am Bildschirm ausgegeben
    ({\em -v} = verbose = wortreich).\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > d.vect -m -v map=hlinien color=white 

\end{verbatim}

\end{kommando}

\paragraph{Tipps:}

\begin{itemize}
\item Mit dem Kommando {\tt d.vect.labels hlinien} knnen die H"ohenlinien 
mit ihrem Attributwert beschriftet werden, in diesem Fall natrlich die H"ohe
(Abb. \ref{contur_2}).
\end{itemize}

\begin{figure}[h]
   \centering
   \includegraphics[width=0.8\textwidth]{conturlines-from-raster/conturlines-1.eps}
   \caption[Screenshoot GRASS - H"ohenlinien]{\label{contur_1}
   H"ohenlinien von GRASS aus den Daten des Craterlakes ermittelt}
    \end{figure}

\begin{figure}[h]
   \centering
   \includegraphics[width=0.8\textwidth]{conturlines-from-raster/conturlines-labeled.eps}
   \caption[Screenshoot GRASS - H"ohenlinien]{\label{contur_2}
   H"ohenlinien von GRASS aus den Daten des Craterlakes ermittelt}
    \end{figure}

%%% TEXEXPAND: END FILE ./conturlines-from-raster/conturlines-from-raster-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./flood-model/flood-model-de.tex

\chapter{"Uberflutungssimulation im H"ohenmodell erzeugen}
\label{flood_model_de}

\subsubsection{Aufgabenstellung}
Dieser Teil des Tutorials beschftigt sich mit der Darstellung eines
Wasserspiegels beliebigen Pegels in einem H"ohenmodell ohne
Br"ucksichtigung von besonderen Abh"angigkeiten wie Verbindungen zur
Wasserquelle, Wasserscheiden und "Ahnlichem. Gerade GRASS stellt in
diesem Bereich ausgefeilte Simulationen zur Verfgung. 

\subsubsection{Beispieldaten}
Grundlage f"ur dieses Kapitel sind die Daten des USGS Crater Lake Data Clearinghouse,
die in Kapitel \ref{import_usgs_dem_de} Seite \pageref{import_usgs_dem_de:grass} 
importiert wurden.
%\subsubsection{Weitere Verwendung der Beispieldaten}


  \section{L"osung mit GRASS}
  \label{flood_model_de:grass}
Es wurde GRASS 5.0pre1 unter einer Debian GNU/Linux
 Installation (woody) verwendet.\\
  
  Eine pragmatische L"osung fr diese Aufgabe ist es, alle Punkte einer
  Rasterdatei, deren (H"ohen) - Wert unter einer
  bestimmten Vorgabe liegen auszublenden, also durch eine Maske
  verdecken. Hierzu bedient man sich des schon in
  Kapitel \ref{import_usgs_dem_de:grass} ab der Seite
  \pageref{import_usgs_dem_de:grass} vorgestellten
  Programmes {\tt r.mapcalc}, das direkte arithmetische und logische
  Operationen auf ein Raster zulsst. In diesem Fall gengt ein {\em
  r.mapcalc Ergebnissdatei="'if(Ausgangsdatei <= 1900, null(),
  Ausgangsdatei)"'}. Hierdurch wird eine neue Ergebnissdatei erzeugt,
  in der alle Werte der Ausgangsdatei, die kleiner oder gleich 1900
  sind, auf Null(), also "`nicht existent"' gesetzt werden. Alle anderen
  Werte (der"` Else-Fall"') werden beibehalten. Eine Anzeige mit {\em
  d.rast Ergebnissdatei} zeigt das Ergebniss im aktiven
  Monitor an (Abb. \ref{grassflood_1})\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > r.mapcalc craterflood="if(crater <= 1900,null(),crater)"

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


   \begin{figure}[h]
   \centering
   \includegraphics[width=0.8\textwidth]{flood-model/flood-1.eps}
   \caption[Screenshoot GRASS - "Uberflutung1]{\label{grassflood_1}
   "Uberflutungssimulation "`Crater Lake"'\ Pegelhhe bei 1900 Metern mit GRASS}
    \end{figure}
 Soll die Ergebnissdatei als Maske gebraucht werden so kann man mit
 dem Aufruf {\em  r.mapcalc Ergebnissdatei="'if(Ausgangsdatei
 \begin{math}<=\end{math} 1900, null(), 200)"'}
 dem nicht gefluteten Bereichen ein beliebiger Wert (hier 200) zugewiesen oder
 durch {\em  r.mapcalc 'Ergebnissdatei=if(Ausgangsdatei
 \begin{math}<=\end{math} 1900, 200, null())'}
 das inverse Ergebniss erzeugt werden
 (alle Bereiche ber 1900 werden ausgeblendet). Der Zahlenwert der Maske ist nicht entscheident, da durch GRASS alle Gebiete maskiert werden die nicht {\em null()} sind. \\ 

\begin{kommando}
\begin{verbatim}

GRASS:~ > r.mapcalc 'cratermask=if(crater <= 1900,200,null())' 

\end{verbatim}
\end{kommando}

\paragraph{Tipps}
\begin{itemize}
 \item Mit dem Befehl {\tt r.colors color=gyr map=craterflood} kann das
 Farbspektrum, dass zur Anzeige benutzt wird beeinflusst werden.
 Die Option {\tt color=gyr} sieht vor das eine Farbabstufung von Gr"un
 "uber Gelb nach Rot erzeugt wird. Weitere Optionen knnen der Manual-Page
 entnommen werden {\tt g.manual r.colors}.
\end{itemize}

  \section{L"osung mit dem3D}
  \label{flood_model_de:dem3d}
  Es wurde die Version 2.0a von dem3D auf einer Windows 2000
  Installation verwendet.\\
  Hat man das DEM in das Programm dem3D mit {\em File/Open} eingelesen und durch
  Bewegen der Maus im Anzeigefenster bei gedr"uckter linker Maustaste in die
  gew"unschte Lage gebracht, kann man den Wasserstand duch Klicken auf die
  {\em Pegeltaste} in der Menleiste und anschlieendes Auf- und Abbewegen
  der Maus mit gedrckter linker Maustaste einstellen. Die nummerische Eingabe
  erfolgt im Menue {\em Shader/Scene/Options/Water}, in dem auch die Transparenz
  des Wassers bestimmt wird (Abb. \ref{dem3d_flood}) .
 
   \begin{figure}[h]
   \centering
   \includegraphics[width=0.8\textwidth]{flood-model/dem3d-flood.eps}
   \caption[Screenshoot dem3D - "Uberflutung]{\label{dem3d_flood}"Uberflutungssimulation
   "`Crater Lake"\ Pegelhhe bei 1900 Metern mit dem3D}
   \end{figure}
  
  \section{L"osung mit dlgv32/ DLG Viewer}
  \label{flood_model_de:dlgv32}
    Es wurden die Version 3.7 des DLG Viewers auf einer Windows
    2000 Installation verwendet.\\

     Denkbar einfach gestaltet sich die L"osung in dem USGS-Programm dlgv32.
  Nach dem Importieren des DEMs mit {\em File/Open as New} kann der gew"unschte
  Wasserpegel unter {\em Tools/Control Center/Options} in der Karteikarte
  {\em Vertical Options} mit dem Schieberegler {\em Water Level} bestimmt
  werden. Die Einstellung {\em Water Transparency} kontrolliert den Grad
  der Transparenz des Wassers. In der Stellung {\em Opaque} wird das Wasser
  undurchsichtig, bei {\em Clear} ganz ausgeblendet.

   \begin{figure}[h]
   \centering
   \includegraphics[width=0.8\textwidth]{flood-model/dlgv32flood.eps}
   \caption[Screenshoot dlgv32 - "Uberflutung1]{\label{dlgv32flood}"Uberflutungssimulation
   "`Crater Lake"\ Pegelhhe bei 1900 Metern mit dlgv32}
   \end{figure}
 

%%% TEXEXPAND: END FILE ./flood-model/flood-model-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./georeferencing-raster/georeferencing-raster-de.tex

\chapter{Rasterdateien georeferenzieren}\label{georeferencing_de}
\label{sec:rasterdaten_geokodieren}
\subsubsection{Aufgabenstellung}
Durch eine Georeferenzierung werden Daten mit einer Information (wir
erinnern uns: ein Datum ber ein Datum = Metainformation) "uber ihre
Lage in einem bekannten Bezugssystem ausgestattet. Die kann sowohl
Raster-, Vektor und Sachdaten betreffen.
Hierunter fllt das Geokodieren von Karten, Luft- und
Satellitenbildern und allen anderen Raster-Geodaten mittels
Koordinaten. Um aussagekrftige Ergebnisse bei Luftbildern zu
erhalten, sollten ausschlielich entzerrte Luftbilder, sogenannte
Orthophotos verwendet werden. Die Erzeugung von Orthophotos wird in einem
weiteren Kapitel besprochen. \index{Georeferenzierung}
\nomenclature{\bf Georeferenzierung}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-georef-de.tex
Durch den Vorgang der Georeferenzierung wird eine Ortsinformation der Erde
(Geo-) mit einem Objekt (Karte, Rasterdatei, Information) in Verbindung
gebracht.


%%% TEXEXPAND: END FILE ./glossary-de/glossary-georef-de.tex
}\nomenclature{\bf Geokodierung}{siehe Georeferenzierung}

\subsubsection{Beispieldaten}
Zustzlich zu den schon im Kapitel \ref{import_usgs_dem_de} Seite
\pageref{import_usgs_dem_de:grass} importierten Daten werden weitere Datenstze
des USGS Crater Lake Data Clearinghouse\footnote{http://craterlake.wr.usgs.gov/}
benutzt. Hier wren das Orthophoto Digital Orthophoto Quadrangle (DOQ) 
oder genauer ein Mosaic aus 12 7,5-Bogenminuten DOQs und
die digitalisierte Topographische Karte als Digital Raster Graphic
(DRG) in der selben Ausdehnung zu nennen. Da die Ost-West Ausdehnung
einer Bogenminute ihr Maximum am quator und ihr Minimum am Pol hat, 
jedoch die Nord-Sd Ausdehnung immer gleich ist (bei der Vorstellung
der Erde als Kugel), sind die DOQs und DRGs hier rechteckig, nicht
quadratisch.     
\subsubsection{Weitere Verwendung der Beispieldaten}
\nomenclature{\bf Bogenminute}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-bogenminute-de.tex
Der 60. Teil eines Bogengrades oder auch der 21600. Teil eines Vollkreises.
Abhngig von der geographischen Breite ndert sich die Ausdehnung von 1 Grad
auf dem Breitenkreis von ca. 111 Km am "Aquator zu 0 Km an den Polen.
Da die Lngenkreise immer Grokreise sind bleibt ihr Umfang konstant bei ca.
40000 Km.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-bogenminute-de.tex
}\nomenclature{\bf Bogensekunde}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-bogensekunde-de.tex
Der 3600. Teil eines Bogengrades.
Siehe Bogenminute.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-bogensekunde-de.tex
}
Die ab Seite \pageref{georeferencing_de:grass} ff bearbeiteten Daten werden in dem
folgenden Kapitel weiter benutzt:

\begin{itemize}

\item Kapitel \ref{computing_volumina_de} Seite
\pageref{computing_volumina_de:grass} ff.


\end{itemize}

 \section{Lsung mit GRASS}
 \label{georeferencing_de:grass}

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


Man kann mehrere Flle unterscheiden, im einfachsten soll eine
Rasterdatei in eine GRASS LOCATION importiert werden. Hierbei kann
es sich um ein Orthophoto, eine Karte oder hnliches handeln.
Voraussetzung ist, da"s die Koordinatenbegrenzung der Datei bekannt
ist, da"s sie optimal auf das benutzte Koordinatensystem ausgerichtet
ist und da"s sie keine internen Verzerrungen aufweist. Diese
Voraussetzungen wird man in den seltensten Fllen haben, da z.B. eine
Karte auf einem Scanner nur beschrnkt richtig, d.h. dem 
scannereigenen Koordinatensystem folgend, ausgerichtet werden kann
\cite{neteler}.
    \subsection{Rasterdatei einlesen}
    GRASS stellt unter anderem Importfilter f"ur TIFF, PPM und PNG
    -Dateien zur Verfgung.
\paragraph{TIFF-Format}
 Der Befehl {\tt r.in.tiff} \index{r.in.tiff} liest eine 8
 bit oder 24 bit - codierte Bilddatei im TIFF (tagged image
 file format) ein.  Die Eingabedatei wird mit {\tt input=}
 ausgewhlt, die Rasterausgabedatei mit {\tt output=}
 benannt. Die Option {\tt -v} schaltet in den kommunikativen
 Modus, {\tt -b} importiert 24 bit codierte
 TrueColor-Dateien.  Die Anzahl der mglichen Farben kann
 mit {\tt nlev=} bestimmt werden.  M"oglich sind hier
 Angaben von 1-256 wodurch die Anzahl der Intensit"aten in
 den drei Farbkan"alen Rot, Gr"un und  Blau bestimmt wird.
 Grundeinstellung sind hier 20 Farbwerte also insgesammt
 \begin{math}20*20*20 = 8000 \end{math} verschiedene
 Farben. Sollen mehr Farben dargestellt werden kann  
 {\tt nlev=} erh2oht werden. Eine Eigenart von GRASS, 
 die mit der Version 5.1 abgestellt wird, ist aber, bei
 gr"o"serer Farbtiefe langsamer zu werden. 
  \index{RGB-Farbmodell}\\
\nomenclature{\bf TIFF}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-tiff-de.tex
Das TIFF- (tagged image file format) Datei Format speichert Rasterdateien ab.
Durch die Struktur des Formates knnen in einer Datei z.B. verschiedene
Versionen eines Bildes gespeichert werden. Die Informationen zu den Rasterdaten
werden mit Verweisen auf die eigentlichen Daten abgespeichert. Der 
Informationsbereich kann je nach Bedarf erweitert werden.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-tiff-de.tex
}\nomenclature{\bf PPM}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-ppm-de.tex
Akronym fr das Portable Pixmap File Format.
Ein weiteres Dateiformat um Rasterdateien abzuspeichern.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-ppm-de.tex
}\nomenclature{\bf PNG}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-png-de.tex
Akronym fr das Portable Network Graphic Format.
Ein Dateiformat um Rasterdateien komprimiert und
fr den Einsatz in Netzwerken optimiert abzuspeichern.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-png-de.tex
}\nomenclature{\bf RGB Farbmodell}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-rgb-de.tex
Das RGB (rot-grn-blau) Farbmodell beschreibt eine darzustellende Farbe 
anhand der in ihr vorkommenden Anteile der Grundfarben Rot, Grn und Blau.
Es ist ein additives Farbmodell.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-rgb-de.tex
}

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > r.in.tiff -v \
input=/tmp/test/luftbild.tif output=craterluftbild

\end{verbatim}
\end{kommando}

\paragraph{PPM-Format} 
 Um eine Portable Pixel Map (ppm) Datei einzulesen, benutzt
 man den Befehl {\tt r.in.ppm} \index{r.in.ppm}. Auch hier
 geben {\tt input=} und {\tt output=} die Namen der Ein- und
 Ausgabedatei an. Durch {\tt nlev=} wird die Anzahl der
 mglichen Farben begrenzt, die Voreinstellung ist 20, also
 wiederum 8000 Farben.\\ Der  Schalter {\tt -v} gibt
 Statusmeldungen ber den Programmverlauf aus, {\tt -b}
 erzeugt bei Import 3 Grauwertdateien der einzelnen
 Farbkan"ale. Diese werden durch ein an den {\tt output=}
 Dateinamen jeweils angeh"angtes .r, .g und .b
 unterschieden.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > r.in.ppm \
input=/tmp/test/luftbild.ppm \
output=craterluftbild

\end{verbatim}
\end{kommando}

	 
\paragraph{PNG-Format}
 Das Importieren einer Portable Network Graphic (png) geschieht
 mit dem Befehl {\tt r.in.png}. \index{r.in.png}
 Mit {\tt input=} und {\tt output=} wird die Ein- und Ausgabedatei
 gew"ahlt. Der Ausgabedatei kann ein Titel {\tt title=}
 gegeben werden und das schon bekannte {\tt -v} schaltet
 in den verbose - Modus.

   \subsection{Georeferenzierung einer unverzerrten ausgerichteten Rasterdatei}
   Im diesem Fall reicht es zur Georeferenzierung aus, die Nord-, S"ud-,
   West- und Ostwerte der Bildkanten an GRASS zu "ubergeben. Dies
   geschieht mit dem Befehl {\tt r.support}, \index{r.support} da  die
   importierten Bilddateien als Raster gespeichert sind. Nach dem
   Aufruf an der Kommandozeile fragt der Befehl nach der zu
   bearbeitenden Rasterdatei. Durch Eingabe von {\tt list} k"onnen
   vorhandene Dateien angezeigt werden. Hat man die gew"unschte
   Datei ausgew"ahlt, fragt das Programm, ob der Header
   der Datei bearbeitet werden soll; dieses bejaht man.
   Die Aufforderung {\tt hit RETURN to continue} ignoriert man
   und dr"uckt die {\tt ESC-Taste} gefolgt von einem {\tt ENTER}
   um die Aufl"osungsparameter bearbeiten zu k"onnen.
   Nun bekommt man Informationen ber die Auflsung der Rasterdatei
   {\em rows =} Reihen oder Spalten , {\em cols =} Zeilen und die
   Farbtiefe in Byte {\em bytes per cell}.  Durch Eingabe von {\tt
   ESC} und {\tt ENTER} kommt man zu der eigentlichen
   Georeferenzierung. Der CELL HEADER ist Trger der Geoinformation
   einer Rasterdatei in GRASS. \index{CELL HAEDER} Zur Orientierung
   wird die Ausdehnung der Region bzw.  des Mapset ausgegeben. Die
   Besttigung der Eintragungen erfolgt durch {\tt ESC} gefolgt von
   {\tt ENTER}. Die weiteren Abfragen k"onnen mit {\tt ENTER}
   besttigt werden.\\
\nomenclature{\bf Header}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-header-de.tex
Der Header (Kopf) eines Dateiformates enthlt grunds"atzliche Angaben "uber
die in dem Dateiformat gespeicherten Daten.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-header-de.tex
}
\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > r.support

Enter name of raster file for which you will create/modify support files
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
> craterluft
<craterluft>
Edit the header for [craterluft]? (y/n) [y]
Edit header for [craterluft]
cellhd compression: 1
3.0 compression indicated
pre 3.0 compression not indicated

hit RETURN to continue -->

\end{verbatim}
\end{kommando}

\begin{kommando}
\begin{verbatim}

Please enter the following information for [craterluft]

 4207   Number of rows
 4123_  Number of cols
 2____  Number of bytes per cell




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

\end{verbatim}
\end{kommando}

Importiert man die Rasterdaten mit dem schon in Kapitel \ref{import-usgs-dem-de}vorgestellten Befehl {\tt r.in.gdal} so wird gleich eine passende
{\em Default Region} erzeugt. So wrden auch die Warnungen
{\em warning - north falls outside the default region} und 
{\em warning - east falls outside the default region} wegfallen.\\
 

\begin{kommando}
\begin{verbatim}


                           IDENTIFY CELL HEADER

           ============================= DEFAULT REGION ========
           |          Default North:1                          |
           |                                                   |
           |           =======  CELL HEADER  =======           |
           |           | NORTH EDGE:4775100____    |           |
           |           |                           |           |
 Def. West |WEST EDGE  |                           |EAST EDGE  | Def. East
 0         |550840_____|                           |592070_____| 1
           |           | SOUTH EDGE:4733020____    |           |
           |           =============================           |
           |                                                   |
           |          Default South:0                          |
           =====================================================
           PROJECTION: 1 (UTM)                        ZONE: 10

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

\end{verbatim}
\end{kommando}



\begin{kommando}
\begin{verbatim}


  projection:   1 (UTM)
  zone:         10
  north:       4775100
  south:       4733020
  east:        592070
  west:        550840

  e-w res:     10
  n-s res:     10

  total rows:             4200
  total cols:             4100
  total cells:      17,000,000

warning - north falls outside the default region
warning - east falls outside the default region

Do you accept this header? (y/n) [n] >y
header for [craterluft] updated

hit RETURN to continue -->
Update the stats (histogram,range) for [craterluft]? (y/n) [n] y

Edit the category file for [craterluft]? (y/n) [n] n
Create/Update the color table for [craterluft]? (y/n) [n] n
Edit the history file for [craterluft]? (y/n) [n] n
The null file for [craterluft] might indicate that some cells contain
no data. If null file for [craterluft] doesn't exist all 
zero cells in [craterluft]
are treated by GRASS application programs as no data.

Do you want to create/reset null file for [craterluft] so that
all cell values are considered valid data? (y/n) [n] n

Do you want to delete null file for [craterluft]
(all zero cells will then be considered no data)? (y/n) [n] n

\end{verbatim}
\end{kommando}

\subsection{Georeferenzierung einer unverzerrten nicht ausgerichteten Datei}
   Solche Daten ergeben sich oft durch das Scannen. Hierbei ist
   wichtig, da"s die Scanvorlage z.B. eine Karte geometrisch
   so einwandfrei wie m"oglich ist und auch durch den Scanvorgang
   keine unn"otigen Verzerrungen auftreten.
   Sind diese Voraussetzungen gegeben, ist bei der
   Georeferenzierung nur zu beachten, da"s es quasi 
   unm"oglich ist, die Vorlage auf dem Scanner
   exakt auszurichten. Die so entstehende Rotation
   kann durch eine einfache Transformation berichtigt werden.
   \paragraph{Vorbereitung einer Transformation}
   Zum Ausfhren einer Transformation bentigt GRASS zwei {\em
   LOCATION} Umgebungen, eine fr das Ausgangskoordinatensystem {\em
   start} und
   die andere fr das Zielsystem {\em ziel}, dies ist im Normalfall das
   "`Arbeitssystem"'\, also die schon erstellte {\em LOCATION}. Fr das
   Ausgangssystem wird eine neue {\em LOCATION} mit einem  {\em
   MAPSET} in  einem X,Y- Koordinatensystem erstellt. Dies
   entspricht ja den durch den Scanvorgang erzeugten ebenen
   Koordinaten. In die Ausgangs - {\em MAPSET} wird die Rasterdatei
   je nach Dateiformat z.B. mit {\tt r.in.tiff} eingelesen. Die {\em
   REGION} - Parameter des {\em MAPSET} knnen mit dem Befehl {\em
   g.support rast=Rasterdateiname} angepasst werden.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > g.support rast=craterluft

\end{verbatim}
\end{kommando}

   Um das Transformieren und damit gleichzeitig das Geokodieren von
   mehreren Rasterdateien in einem Schritt zu erm"oglichen, wird {\em
   i.group} aufgerufen. Dies hat auch dann erfolgen, wenn nur
   eine Datei zu bearbeiten ist. Hier k"onnte eine Liste von 
   Rasterdateien erstellt werden die in eine Ziellocation 
   transformiert werden sollen. Im folgenden Dialog werden die zu
   transformierenden Dateien einer Gruppe zugeordnet. Zum definieren
   des Zielsystems dient der Befehl {\tt i.target}, hier werden ber
   einen Dialog zuerst die Dateien {\tt group} und dann die
   Ziel-{\tt LOCATION} benannt. Durch die Eingabe von {\tt list}
   werden alle m"oglichen Gruppen und Ziellocations/ -mapsets ausgegeben.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > i.group

LOCATION: start             i.group             MAPSET:start

This program edits imagery groups. You may add data layers to, or remove
data layers from an imagery group. You may also create new groups

Please enter the group to be created/modified


GROUP:    start__________   (list will show available groups)


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


start - does not exist, do you wish to create a new group?(y/n)[n] y


\end{verbatim}
\end{kommando}

\begin{kommando}
\begin{verbatim}

LOCATION: start       GROUP: start         MAPSET:start


Please mark an 'x' by the files to be added in group [start]

MAPSET: tutorial

x_ craterluft



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


Group [start] references the following raster file
-----------------------
        craterluft in start
-----------------------
Look ok? (y/n)y

\end{verbatim}
\end{kommando}


\label{sec:passpunkte}
\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > i.target

Please select the target LOCATION and MAPSET for group <start>


CURRENT LOCATION: start
CURRENT MAPSET:   start


TARGET LOCATION:  craterlake
TARGET MAPSET:    tutorial


(enter list for a list of locations or mapsets within a location)

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

\end{verbatim}
\end{kommando}


\paragraph{Passpunkte}
Um die Transformationsparameter, in diesem Fall f"ur eine
Rotation und ggf. eine Mastabsnderung, bestimmen zu k"onnen, sind
sogenannte Passpunkte zu bestimmen. Im Idealfall nimmt man hier die
Eckpunkte der Rasterdatei, z.B. einer Karte, fr die natrlich
Koordinaten in Start- und Ziellocation/ -mapset vorliegen m"ussen.
Es k"onnen aber auch Punkte innerhalb der Rasterdatei, wie etwa Gitterkreuze
oder andere bekannte Punkte benutzt werden. Diese sollten nach
Mglichkeit ein Rechteck aufspannen und gro"sflchig "uber
den zu transformierenden Bereich verteilt sein.
In diesen Fllen reichen 4 Punkte aus, um die Transformation
mit einer Kontrolle durchzufhren.  Sollten keine Punkte bekannt sein,
kann man die Transformationsparameter durch Bestimmung identischer
Punkte in der Startdatei und einer schon im Zielsystem vorhandenen
geokodierten Datei erfolgen. \index{Passpunkte}
Als Beispiel k"onnten in einem Luftbild anhand einer schon
vorhandenen georeferenzierten Karte so entsprechende Passpunkte
erzeugt werden.
Die Bestimmung der Passpunkte erfolgt mit Untersttzung eines
Monitores, der mit {\em d.mon} ge"offnet wird. Nach dem Starten des
Programmes {\em i.points} wird die Start - {\em GROUP} abgefragt. Im
Monitor kann jetzt per doppeltem Mausklick im Men {\em Mapset
import} die zu transformierende Datei ausgewhlt werden.  Links unten
im Monitor befindet sich eine Befehlszeile mit den durch Anklicken
ausw"ahlbaren Befehlen {\em Quit} zum Beenden, {\em ZOOM} fr eine
Auschnittsvergrerung, {\em PLOT RASTER} um weitere Rasterdateien
anzeigen zu lassen und schlielich kann mit {\em ANALYZE} eine
Aufstellung der Einzel- und Gesamtfehler der Passpunkte  ausgegeben
werden. In dieser Aufstellung knnen einzelne Passpunkte durch
Doppelklicken aus der Transformation entfernt oder hinzugefgt
werden. Als Minimum braucht GRASS 4 Punkte um eine Analyse zu
erstellen. Nach \cite{neteler} sollte der Gesamtfehler nicht
gr"o"ser sein als die halbe Aufl"osung ({\em GRID RESOLUTION}) des
Zielsystems.\\

\nomenclature{\bf Passpunkte}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-passpunkte-de.tex
Passpunkte werden Beispielsweise benutzt um Transformationsparameter
zu ermitteln. Fr die Passpunkte mssen Koordinaten in den verschiedenen
Koordinatensystemen vorliegen.

%%% TEXEXPAND: END FILE ./glossary-de/glossary-passpunkte-de.tex
}\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin >d.mon x0


GRASS:/spare/gisdata/grass/bin >i.points

\end{verbatim}
\end{kommando}

\paragraph{Nummerische Passpunkteingabe}
Als Passpunkt wird per Mauszeiger gegebenenfalls nach Vergrerung
mit {\em ZOOM} ein Punkt ausgew"ahlt. Im Terminalfenster erscheinen
nun die sogenannten "'Tisch- oder
Bildschirmkoordinaten".\nomenclature{\bf Tischkoordinaten}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-tischkoordinaten-de.tex
Als Tischkoordinaten werden z.B. die aus einer Karte mittels eines 
Digitalisiertisches abgegriffenen Koordinaten bezeichnet.

%%% TEXEXPAND: END FILE ./glossary-de/glossary-tischkoordinaten-de.tex
}\index{Tischkoordinaten}\index{Bildschirmkoordinaten} Die
Aufforderung {\em Enter coordinates as east north: } beantworten wir
mit der Eingabe der Koordinaten des Punktes im Zielsystem
(Rechtswert Hochwert getrennt durch ein Leerzeichen). Sind per {\em
ANALYZE} Passpunkte entfernt worden, so werden sie durch einen roten
Punkt symbolisiert. Die fr die Transformation benutzten Punkte
werden als grner Punkt angezeigt. Sind die ausgegebenen Differenzen
weiterhin zu gro"s sollten ggf. die Passpunkte in einem strker
vergr"o"sertem Ausschnitt ausgew"ahlt werden.
\nomenclature{\bf Bildschirmkoordinaten}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-bildschirmkoordinaten-de.tex
Werden Koordinaten in einer gescannten Vorlage am Bildschirm erzeugt
so spricht man von Bildschirmkoordinaten. 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-bildschirmkoordinaten-de.tex
}
\paragraph{Passpunktidentifikation}
Sollen anstatt vorhandener Passpunkte geokodierte Rasterdateien zur
Identifikation von Passpunkten benutzt werden, ruft man die fragliche
Datei mit {\em PLOT RASTER} auf (Abb. \ref{grass_georef_1}). Die
Aufforderung {\em Indicate which side should be plotted} wird mit
einem Mausklick in die rechte Monitorhlfte beantwortet. Im
folgenden Men werden alle im Zielmapset vorhandenen Dateien
angezeigt. Die Auswahl geschieht durch einen Doppelklick. Auch hier
k"onnen mit {\em ANALYZE} die Passpunkte "uberpr"uft werden (Abb. \ref{grass_georef_2}). 
   
        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{georeferencing-raster/georef-1.eps}
        \caption[Screenshot GRASS Georeferenzierung 1]{\label{grass_georef_1}GRASS-Monitor
	w"ahrend einer Georeferenzierung}
        \end{figure}


        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{georeferencing-raster/georef-2.eps}
        \caption[Screenshot GRASS Georeferenzierung 2]{\label{grass_georef_2}Analyse der Passpunkte}
        \end{figure}

\paragraph{Transformation}
Die eigentliche Transformation geschieht durch den Befehl {\em i.rectify}.
Nach der Angabe der zu transformierenden Dateigruppe
fragt GRASS nach dem Grad der Transformation.  M"ogliche Eingaben
sind hier 1, 2 oder 3 fr den Grad des von GRASS aufzustellenden
Transformationspolynomes. In unserem Fall einer Translation,
Rotation und Skalierung gleichen Faktors in x und y-Richtung ist
eine 1 einzugeben.  

  \subsection{Georeferenzierung einer verzerrten unausgerichteten Datei}
  Soll beispielsweise eine Rasterdatei, deren Scanvorlage von
  geringer geometrischer Qualitt ist, georeferenziert werden, so kann
  GRASS dies durch eine hhergradige Transformation ausf"uhren.
  Hierbei werden nicht nur Rotationen, Verschiebungen (Translationen)
  und gemeinsame Mastabsnderungen fr alle Koordinatenrichtungen
  bercksichtigt, sondern auch Ver"anderungen in den Winkelbeziehungen
  der Achsen, verschieden groe Mastabsnderungen, Verschiebungen der
  einzelnen Achsen, sowie verschiedene Bezugssysteme fr die H"ohe in
  verschiedenen Koordinatensystemen.
  In diesen Fllen m"ussen mindestens 6 (2. Grad) oder 10 (3. Grad) 
  Passpunkte eingegeben oder identifiziert werden und an {\em
  i.rectify} wird als Grad der Transformation {\em 3} bergeben.\\


\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > i.rectify

\end{verbatim}
\end{kommando}
 

        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{georeferencing-raster/craterkarte3d.eps}
        \caption[Screenshot GRASS Craterlake Topograhie 3D]{\label{grass_georef_3}Ergebniss einer
	Georeferenzierung: Karte und DEM im GRASS-Modul {\em Nviz}}
        \end{figure}


        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{georeferencing-raster/craterluft3d.eps}
        \caption[Screenshot GRASS Craterlake Luftbild 3D]{\label{grass_georef_4}Ergebniss einer
	Georeferenzierung: Luftbild und DEM im GRASS-Modul {\em Nviz}}
        \end{figure}


%%% TEXEXPAND: END FILE ./georeferencing-raster/georeferencing-raster-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./volumina-from-raster/volumina-from-raster-de.tex

\chapter{Volumenberechnung aus Rasterdaten}
\label{computing_volumina_de}
\subsubsection{Aufgabenstellung}
Ein schneller und fr den Anwender gut nachzuvollziehender Weg,
Volumeninformationen aus Rasterdaten zu ermitteln, er"offnet sich, wenn eine
Grundfl"ache des zu berechnenden Krpers eben ist. Sollte dies nicht
gegeben sein, teilt man den K"orper durch einen ebenen Schnitt und
fhrt zwei Berechnungen aus, die man zum Ergebniss 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 Wasseroberflche abschliet.
Da die Wasseroberflche mit dem Grund des Kraters einen Krper
bildet, kann das Volumen des Sees ermittelt werden. 

\subsubsection{Beispieldaten}
Fr 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 Verfgung 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 kann begrenzt durch die Ausgangsdaten
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 Sees erfolgen.

\subsection{Maskierung der Wasseroberfl"ache}
 Um die Volumenberechnung auf den Krater unterhalb der
 Wasseroberflche zu beschrnken, 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}

 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 gefllten Kraters mssen 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.

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


 \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 knnen hier den gleichen
Namen bekommen.\\
\newpage
\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.

 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
> maske
<maske>
You requested to create new file: 'maske'. Is this correct? (y/n) [n] y

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 knnen, 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 Frage {\em Shall we continue? [y]} wird besttigt.

\paragraph{Das Modul v.digit}
Das Modul {\tt v.digit} besteht aus mehreren Mens, die durch
die Eingabe vom ersten Buchstaben des Mennamens angew"ahlt werden.
Hierbei ist auf Gross- und Kleinschreibung zu achten.
Das Digitalisieren geschieht mit der
Maus am Bildschirm. Hierzu ist natrlich wieder ein Monitor ntig
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                           *  !  ^|
|                                                         |
|                                                         |
|GLOBAL MENU: Press first letter of desired               |
|             command.[Upper Case Only]                   |
m---------------------------------------------------------j


\end{verbatim}
\end{kommando}

 Um die Bildschirmdigitalisierung durchzufhren, bringen wir die
 schon erzeugte Rasterdatei {\em mask} auf den Monitor.
 Dies geschieht im {\em Customize Men}, das durch ein groes {\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
 Menpunkt {\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 Drcken der {\tt Leertaste} gestartet. In dem nun
 gestarteten Men whlt 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}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-attribut-de.tex
Durch Attribute (...) werden die Eigenschaften und die Struktur der Objekte
reprsentiert. (...). Die Werte der Attribute knnen (...) verschieden sein.\\
Appelrath,Boles,Claus,Wegener\cite{appelrath}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-attribut-de.tex
}\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
|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 Untersttzung der Maus.
 Um die Zoom-Funktion aufzurufen bettigt man die mittlere
 Maustaste, die linke Maustaste beginnt das Digitalisieren,
 mit der rechten verlsst man diesen Auswahlbildschirm.
 Nachdem man ein Polygon um den gewnschten Auschnitt gelegt
 hat und diese Auswahl mit der rechten Maustaste besttigt,
 sollte man eine "ahnlich Anzeige in seinem GRASS-Monitor 
 bekommen (Abb. \ref{grass_mask_digit_1}). Bei einem ungenauen
 Abschluss kann es vorkommen, dass die erzeugte Linie noch nicht
 geschlossen ist (Abb. \ref{grass_mask_digit_2}).
 Zum Schlieen des Polygons gibt es eine "`Fangfunktion"' (snapping).   
 Man erreicht sie im Men {\em Edit} unter {\em Snap line
 to node}.\\
 \nomenclature{\bf Polygon}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-polygon-de.tex
Aus dem Lateinischen Poly - viel, Gon - Winkel, mehrere aneinandergereihte
Strecken ergeben ein Polygon.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-polygon-de.tex
}
 \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-1.eps}
        \caption[Screenshot GRASS Craterlake Maskendigitalisierung 1]{\label{grass_mask_digit_1}Polygon zur Erstellung einer Maske}
        \end{figure}

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


\begin{kommando}
\begin{verbatim}

Line to snap  FROM:                                                         
                                                                             
    Buttons:                                                                
       Left:   Choose line                                                   
       Middle: Accept chosen line                                            
       Right:  Abort/Quit        

Node to snap  TO:                                                          
                                                                           
   Buttons:                                                                
       Left:   Choose node                                                 
       Middle: Accept chosen node                                          
       Right:  Abort/Quit                                                  
                              
node#: 2                                                                    
                                                                            
 EAST:   575524.65                                                          
 NORTH: 4750334.93   

Attempting to snap line to itself. Proceed? [y]  

\end{verbatim}
\end{kommando}

Ist die Linie ausgewhlt 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]} lst die
Fangfunktion aus. Als Ergebniss erh"alt man ein geschlossenes Polygon
(Abb. \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 Menpunkt
{\em Label} des {\em Main menu} findet sich die Option {\em Label
Areas} die durch {\tt a} angw"ahlt wird.

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-3.eps}
\caption[Screenshot GRASS Craterlake Maskendigitalisierung 3]{\label{grass_mask_digit_3}Geschlossenes Polygon f"ur die Maskenerstellung}
\end{figure}


\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 gewhlt 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 fr die {\em Areas}
 sein.\\

\begin{kommando}
\begin{verbatim}

l-------------------------------------------------k
|                                                 |
|                                                 |
|                                                 |
|   Enter Category Number (0 to quit):[0] 5       |
m-------------------------------------------------j

l-------------------------------------------------k
|                                                 |
|                                                 |
|                                                 |
|   Enter a label (<CR> to quit): maske           |
m-------------------------------------------------j

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{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{volumina-from-raster/mask-digit-4.eps}
\caption[Screenshot GRASS Craterlake Maskendigitalisierung 4]
{\label{grass_mask_digit_4}Erstellte {\em AREA} in {\tt v.digit}}
\end{figure}

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 fr 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>

OPTION:   raster output file
     key: output
required: YES

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

\end{verbatim}
\end{kommando}

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

Raster map <maske2> done.
Total processing time:     0 mins 01 sec 

\end{verbatim}
\end{kommando}

Jetzt kehren wir zum Anfang der Aufgabe zurck und erstellen eine
neue Maske, die nur die Wasseroberflche in 1883 m H"ohe "uber dem
Meeresspiegel bedeckt. Zuerst benutzen wir die gerade erzeugte {\em
maske2} um in\ {\tt mapcalc} nur die Wasseroberflche zu
bercksichtigen. 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 knnen 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____
  . . . . . . . . . . . . . . . . .   6     0____


Next category: end__  (0 thru 6)


\end{verbatim} 
\end{kommando}

 Jetzt wird nocheinmal der {\tt mapcalc} Befehl fr die
 Rasterdatei {\tt crater1} aufgerufen und man erhlt die
 gewnschte Wasseroberflche 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{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{volumina-from-raster/volumen-mask-2.eps}
\caption[Screenshot GRASS Craterlake Wasseroberflche]{\label{grass_volumen_mask_2}Maskierte Wasseroberflche des Kraters}
\end{figure}

 
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

MASK:  Program for managing current GIS mask

current mask:          none


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

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


IDENTIFY THOSE CATEGORIES TO BE INCLUDED IN THE MASK

OLD CATEGORY NAME                                  CAT
                                                   NUM

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

Next category: end__  (0 thru 1)

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


\end{verbatim}
\end{kommando}

Ein Aufruf der gesamten  so maskierten Rasterdatei {\em d.rast crater1}
erzeugt nur noch die Wasserflche im GRASS-Monitor (Abb. \ref{grass_volumen_mask_2}).
Um die in {\em crater1} gespeicherten Hheninformationen auf die
Wasseroberflche zurckzufhren, ziehen wir von der Hhe der
Wasseroberflche (1883 m) ber dem Meeresspiegel jede
Hhenangabe in jeder Rasterzelle der Datei {\em crater1} ab.
Sollten sich die Hhenangaben in Bereichen unter dem Meeresspiegel bewegen
oder benutzt man eine andere lokale Referenzhhe so zieht man
natrlich die Hhenangaben des Seegrundes von der des Wasserspiegels
ab. Das Ergebniss 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*{Ergebniss}
Das Ergebniss 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 gnzlich unbekannten Genauigkeit der Tiefenmessung ist dieser
Wert nur mit Einschrnkungen weiterzuverwenden.
    

%%% TEXEXPAND: END FILE ./volumina-from-raster/volumina-from-raster-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./mosaic-from-aerial-images/mosaic-from-aerial-images-de.tex
\chapter{Mosaik aus Luftbildern erstellen}
\label{mosaicking_aerial_images_de}

\subsubsection{Aufgabenstellung}

Da Luftbildflge streifenweise mit groer berlappung der einzelnen
Aufnahmen durchgefhrt werden ist die Erstellung eines Mosaiks aus
den einzelnen Aufnahmen eine interessante Aufgabe.
In diesem Fall haben wir 10 Luftbilder, die durch zu Identifizierende 
Passpunkte geokodiert werden. Obwohl durch
den Einsatz moderner Kamera- und
Navigationstechnik die mittleren Standardabweichungen der Fluglage
und Richtung unter 0,01 Gon liegen, lassen sich die unbearbeiteten
Aufnahmen nicht ohne Ungenauigkeiten zusammenfgen.
Dies liegt an der Zentralperspektive der Reihenmesskammern,
durch die sich auf den Aufnahmen mit zunehmenden Abstand zur
Bildmitte eine Verzerrung einstellt. Desweiteren ergibt sich durch 
Hhennderungen des Glndes im Luftbild eine Mastabsnderung.
Bei der sogenannte Orthophotoherstellung lassen sich Luftbilder so
berarbeiten, da"s sie wie eine Karte behandelt werden k"onnen.
Es kann in ihnen gemessen werden und durch die hohe
Informationsdichte des Orthophotos ergeben sich vielfltige
M"oglichkeiten der Datengewinnung. 
Grundstzlich ist fr eine solche Entzerrung ein Hhenmodell
erforderlich. berschreiten die Hhendifferenzen in einem
Luftbild einen Wert von Bildmastabszahl : 500 nicht kann das Orthophoto
auch ohne ein Hhenmodell erstellt werden (vergl. \cite{neteler}).
Da in dem verwendeten Beispielmaterial die maximale Hhendifferenz
von 12 Metern (Bildmastabszahl 6000 : 500 = 12) kaum berschritten
wird kann die Zentralprojektion der Luftbilder durch das Modul
{\em i.ortho.photo} in eine Parallelprojektion (Kartenprojektion)
transformiert werden. Anschlieend wird ein 
Luftbildmosaik aus den so berichtigten Bildern erstellt.
\nomenclature{\bf Gon}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-gon-de.tex
Gon fr"uher auch Neu-Grad, Winkeleinheit bei der sich ein Vollkreis aus
400 Teilen (Gon) zusammensetzt. Ein Gon wird weiter dezimal unterteilt.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-gon-de.tex
}\nomenclature{\bf Reihenmesskammer}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-reihenmesskammer-de.tex
Luftbildkamera
%%% TEXEXPAND: END FILE ./glossary-de/glossary-reihenmesskammer-de.tex
}\subsubsection{Beispieldaten}
Die verwendeten Luftbilder liegen als Tiff Dateien 174.tif - 183.tif vor.
Jede Datei hat eine Gre von 360 MB. 
Diese Daten wurden von der RWE Rheinbraun AG Abteilung
BT3 - Photogrammetrie zur Verfgung gestellt.
Diese Daten wurden den Vorgaben dieses Tutorials entsprechend unter die 
GPL (General Public License) gestellt.

%\subsubsection{Weitere Verwendung der Beispieldaten}


\section{L"osung mit Grass}
\label{mosaicking_aerial_images_de:grass}
Es wurde GRASS 5.0pre2 unter einer Debian GNU/Linux
Installation (woody) verwendet.\\

\subsection{Erzeugung eines Orthophotos ohne Hhenmodell}

Da fr die hier erfolgende Luftbildentzerrung keine Georeferenzierung
in ein anderes Koordinatensystem erforderlich ist,
diese erfolgt spter bei der Mosaikerstellung, 
reicht es aus, alle Luftbilder mit {\tt r.in.tiff} in ein {\em Mapset}
einer {\em Location} zu importieren.
Der Ablauf wird hier beispielhaft mit der Datei {\em 181.tif}
durchgefhrt.

\begin{kommando}
\begin{verbatim} 

GRASS:> r.in.tiff -v input=181.tif output=raw181
TIFF Directory at offset 0x16678646
  Image Width: 11194 Image Length: 11193 Image Depth: 1
  Bits/Sample: 8
  Compression Scheme: None
  Photometric Interpretation: RGB color
  Software: "TLD2TIFF, Z/I Imaging GmbH, Oberkochen, Germany"
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 3
  Rows/Strip: 5
  Planar Configuration: single image plane
  Looking for TIFF World file ...   Not Found!
11194x11193x24 image
 8 bits/sample, 3 samples/pixel   
Total colors = 948082
WARNING: Color levels quantization...
Total used colors = 8000
Creating SUPPORT Files for raw181
done.

\end{verbatim}
\end{kommando}

Obwohl kein Hhenmodell bentigt wird, mu man eine Rasterdatei
von der Gre des Ziel-{\em Mapsets} mit dem Befehl
{\em r.mapcalc h=0} erstellt. Hiermit wird eine Datei {\em h}
mit einem Rasterwert 0 fr jede Zelle erzeugt.
Diese Datei wird spter fr die Entzerrung bentigt.\\  


\begin{kommando}
\begin{verbatim}

GRASS:> r.mapalc h=0 

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

\end{verbatim}
\end{kommando}



Zur weiteren Bearbeitung kann direkt das Modul {\tt i.ortho.photo}
aufgerufen werden. Hier werden der Rheihe nach die Punkte {\em 1 - 8}
abgearbeitet.




\begin{kommando}
\begin{verbatim}

GRASS:> i.ortho.photo

i.ortho.photo --        Imagery Group = 181

Initialization Options:

   1.     Select/Modify imagery group
   2.     Select/Modify imagery group target
   3.     Select/Modify target elevation model
   4.     Select/Modify imagery group camera

Transformation Parameter Computations:

   5.     Compute image-to-photo transformation
   6.     Initialize exposure station parameters
   7.     Compute ortho-rectification parameters

Ortho-rectification Option:

   8.     Ortho-rectify imagery files

RETURN   exit

\end{verbatim}
\end{kommando}

\paragraph{Punkt 1}
Durch diesen Unterpunkt wird eine Gruppe gebildet, in der das zu bearbeitende
Luftbild benannt wird. Es knnen auch mehrere Dateien benannt werden.
Da diese {\em group} noch nicht existiert wird ihre Bildung mit einem
{\tt y} besttigt.\\  

\begin{kommando}
\begin{verbatim}

181 - does not exist, do you wish to create a new group? (y/n) [y]

\end{verbatim}
\end{kommando}


\begin{kommando}
\begin{verbatim}
   
LOCATION: tutorial            i.group            MAPSET: ortho
 
This program edits imagery groups. You may add data layers to,
or remove data layers from an imagery group.
You may also create new groups
 
Please enter the group to be created/modified
 
 
GROUP:    181_________________   (list will show available groups)
 
 
      AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                        (OR <Ctrl-C> TO EXIT)


181-does not exist, do you wish to create a new group?(y/n) [n] y


LOCATION: tutorial           GROUP: 181           MAPSET: ortho
 
Please mark an 'x' by the files to be added in group [181]
 
MAPSET: 181
 
x_ raw181
 
 
      AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                       (OR <Ctrl-C> TO CANCEL)	     



Group [181] references the following raster file
-----------------------
        raw181 in 181
-----------------------
Look ok? (y/n) y

Group 181 created!

\end{verbatim}
\end{kommando}

\paragraph{Punkt 2}
Der Aufruf {\em  Select/Modify imagery group target} benennt das Ziel
{\em Mapset} fr die Entzerrung, da"s in diesem Fall {\em ortho}
 bleibt, also Zielsystem ist gleich Startsystem.
Dieses geht natrlich nur problemlos wenn wie in diesem Fall beide Systeme
bereinstimmen, jeweils ein kartesisches {\em x-y} - System.\\

\begin{kommando}
\begin{verbatim}

GRASS:> i.target
This program targets an imagery group to a GRASS database
 
Enter group that needs a target
Enter 'list' for a list of existing imagery groups
Enter 'list -f' for a verbose listing
Hit RETURN to cancel request
>181


Please select the target LOCATION and MAPSET for group <181>
 
CURRENT LOCATION: tutorial
CURRENT MAPSET:   ortho
 
 
TARGET LOCATION:  tutorial
TARGET MAPSET:    ortho
 
(enter list for a list of locations or mapsets within a location)

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

group [181] targeted for location [tutorial], mapset [ortho]   

\end{verbatim}
\end{kommando}




\paragraph{Punkt 3}
Hier wird die zu Begin erzeugte Rasterdatei {\em h} an {\em i.ortho.photo}
bergeben. Wie schon Eingangs erwhnt, kann bei geringen Hhenunterschieden
das Orthophoto ohne H"ohenmodell berechnet werden, hierbei werden
die Verzerrungen beseitigt die sich aus der Zentralprojktion der
Kamera ergeben. Das Ergebnis ist eine Parallelprojektion.
So kann das Orthophoto genau wie eine Karte verwendet werden.

\begin{kommando}
\begin{verbatim}


Please select the elevation raster file for group <181>


Elevation raster file:      h___________________

(enter list for a list of existing raster files)



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

\end{verbatim}
\end{kommando}

Um die Luftbildentzerrung zu berechnen ben"otigt GRASS Angaben zu der
verwendeten Kamera oder besser Reihenme"skammer. Benutzt wurde eine 
ZEISS Luftbildkamera RMK TOP 15. Die dem Kalibrierschein entnommenen
Werte werden in das unter Punkt {\em 4   Select/Modify imagery group camera}
eingetragen.\\

\begin{kommando}
\begin{verbatim} 

Enter a camera reference file to be used with this imagery group
Enter 'list' for a list of existing camera files
Enter 'list -f' for a verbose listing
Hit RETURN to cancel request
> rmk15

                   Please provide the following information:
+------------------------------------------------------------------------+
   Camera Name                                    RMK________________
   Camera Identification                          ___________________
   Calibrated Focal Length mm.                    153.878____________
   Point of Symmetry: X-coordinate mm.            0.007______________
   Point of Symmetry: Y-coordinate mm.            -0.003_____________
   Maximum number of fiducial or reseau marks     8__________________

+------------------------------------------------------------------------+

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

\end{verbatim}
\end{kommando}

Im folgenden Eingabemen werden den im Luftbild vorhandene Rahmenmarken
die entsprechenden Werte der Kalibrierung zugeordnet.\\

\begin{kommando}
\begin{verbatim}


               Please provide the following information:
+--------------------------------------------------------------------------+

            Fid#     Fid Id          Xf              Yf

             1       1_____      113.005___      0.014_____
             2       2_____      -112.99___      0.004_____
             3       3_____      0.012_____      113.001___
             4       4_____      0.001_____      -112.985__
             5       5_____      113.005___      113.006___
             6       6_____      -112.992__      -112.993__
             7       7_____      -112.991__      113.002___
             8       8_____      113.004___      -112.994__


                            Next: end__

+--------------------------------------------------------------------------+



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

\end{verbatim}
\end{kommando}

\paragraph{Punkt 5}
Um das gescannte Luftbild nun mit den eingegebenen Werten fr die Rahmenmarken
zu verbinden werden, werden sie im nchsten Schritt,
Punkt {\em 5  Compute image-to-photo transformation}, einander zugewiesen
(Abb. \ref{marks1}). Durch geschicktes heranzoomen und anklicken der
Rahmenmarken, doppelklicken des entsprechenden Eintrages in der Liste,
mit einem besttigendem, abschlieendem Mausklick in dem GRASS - Monitor
werden alle Rahmenmarken identifiziert. Die im Luftbild ausgewiesenen Nummern
stimmen mit denen in der Liste berein. Ein abschlieendes berprfen mit
der {\em ANALYZE} - Funktion sollte erfolgen (Abb. \ref{marks2}).
Mit dem verlassen des Identifizierungmen"us werden die Parameter gespeichert.\\

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{mosaic-from-aerial-images/marks1.eps}
\caption[Screenshot GRASS Identifizierung Rahmenmarken]{\label{marks1}Identifizierung der Rahmenmarken in GRASS}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{mosaic-from-aerial-images/marks2.eps}
\caption[Screenshot GRASS Analyse Rahmenmarken]{\label{marks2}Analysierung der Genauigkeit der Rahmenmarkenidentifizierung in GRASS}
\end{figure}

\paragraph{Punkt 6}

Unter Punkt 6 werden Daten zu der Position und Lage der Kamera w"hrend der 
Aufnahme gemacht. Die gr"obsten Abweichungen von der Idealen Position
werden durch die Kamerabefestigung im Flugzeug ausgeglichen. 
Die "`Restwerte"' sind im Befliegungsprotokoll zu finden.
Eine Umrechnung mu"s bei den {\em Initial Camera degrees} erfolgen,
da diese im Protokoll in GON (Neugrad) angegeben sind, von GRASS
aber in GRAD verlangt werden. Die Umrechnung ist denkbar einfach, der GON-
Wert mit 360 multipliziert und dann durch 400 geteilt.
Die Nadirkoordinaten, also die Koordinaten bei denen die optische Achse
der Kamera auf den "`Boden"' trifft werden mit den Bildmittenkoordinaten
gen"ugend angenhert. Die Flughhe {\em Z-coordinate Meters} kann aus dem
ungefhren Luftbildma"sstab und der Brennweite (Kammerkonstante) der 
Kamera berechnet werden. Dazu wird die Ma"sstabszahl des Luftbildes,
wiederum im Befliegungsprotokoll zu finden, mit der Brennweite der Me"skammer
multipliziert, diese findet sich im Kalibrierungsprotokoll,
daraus ergibt sich: \begin{math}5978 * 153.878=919882.684\end{math}\ mm,
 also rund 920 Meter.

\begin{kommando}
\begin{verbatim}

                   Please provide the following information:
+-----------------------------------------------------------------------+
     Initial Camera Exposure X-coordinate Meters:           5597__________
     Initial Camera Exposure Y-coordinate Meters:           5597__________
     Initial Camera Exposure Z-coordinate Meters:           920___________
     Initial Camera Omega (roll) degrees:                   0.00485_______
     Initial Camera Phi  (pitch) degrees:                   0.00365_______
     Initial Camera Kappa  (yaw) degrees:                   0.00152_______

     Apriori standard deviation X-coordinate Meters:        10____________
     Apriori standard deviation Y-coordinate Meters:        10____________
     Apriori standard deviation Z-coordinate Meters:        10____________
     Apriori standard deviation Omega (roll) degrees:       0_____________
     Apriori standard deviation Phi  (pitch) degrees:       0_____________
     Apriori standard deviation Kappa  (yaw) degrees:       0_____________

     Use these values at run time? (1=yes, 0=no)            1_
+------------------------------------------------------------------------+

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

\end{verbatim}
\end{kommando}



\begin{kommando}
\begin{verbatim}

+----------------------------------------------------------------------+
|                                                                      |
|                                                                      |
| Point 20 marked at IMAGE COORDINATES:                                |
|                                                                      |
|  X:      1711.31                                                     |
|  Y:      7307.66                                                     |
|                                                                      |
+----------------------------------------------------------------------+
| Enter CONTROL COORDINATES as east north elevation: 1711.31 7307.66 0 |
|                                                                      |
+----------------------------------------------------------------------+

\end{verbatim}
\end{kommando}

\begin{kommando}
\begin{verbatim}


Please select the file(s) you wish to rectify by naming an output file

181 in tutorial  . . . . . . . . . . 181ortho_______


(enter list by any name to get a list of existing raster files)




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


\end{verbatim}
\end{kommando}


\begin{kommando}
\begin{verbatim}

Computing equations...


Please select one of the following options
 1. Use the current window in the target location
 2. Determine the smallest window which covers the image
>1


You will receive mail when photo.rectify is complete

\end{verbatim}
\end{kommando}

\subsection{Erzeugung des Mosaikes}

Um mit GRASS das gew"unschte Orthophotomosaik zu erstellen, k"onnen
mehrer Wege gew"ahlt werden. Es k"onnte jedes Bild fr sich erst
georeferenziert werden um zum Schlu alle zusammenzufgen.
Da sich bei dem vorliegenden Datenmaterial nicht in
jedem Orthophoto ausreichend markierte Passpunkte in der rtlichkeit
befinden, erstellt man alternativ eine {\em x-y Location}
 mit einem Mapset fr jedes Orthophoto.
Anschlieend werden die untereinander liegenden Bilder je in ein 
gemeinsames {\em Mapset} transformiert, so das sich die 5 Einzelteile
fr die erste Transformationsreihe ergeben. Von diesen 5
Einzelteilen wird das mittlere, Nummer 3 sozusagen,
als Zielsystem fr die zweite Transformationsreihe bestimmt.
Die 4 "ubrigen Mosaike werden von innen also 2,4 nach 3 und
1,5 nach 3 in das Zielsystem transformiert. Auch bei genauestem
Markieren der identischen Passpunkte in den Orthophotoern
werden sich wegen der fehlenden Entzerrung Spannungen, die sogenannte
"`Klaffen"\ bei der Ermittlung der Transformationsparameter nicht
vermeiden lassen. Als Grad der Transformation wird 1 gew"ahlt, also 
eine Translation, Rotation und Skalierung gleichen Faktors
in x und y-Richtung.


\section{Vorbereitungen fr das Mosaik}
Um alle 10 Orthophotos zu einem Mosaik zusammenzufgen, wird nach dem
Start von GRASS eine {\em Location} mit einem {\em x-y}
Koordinatensytem erstellt z.B. {\em import}. Die Ausdehnung sollte
so gro"sz"ugig gew"ahlt werden, da"s das gesamte endg"ultige
Mosaik Platz findet. Ein nachtrgliches "Andern der
Regionsparameter ist jedoch jederzeit
m"oglich. Die Bildgr"o"se eines Orthophotos betr"agt ca. 12000 * 12000
Pixel, ausgehend hiervon sollte eine Nord-S"ud Ausdehnung von +13000
bis -15000 mehr als ausreichend sein , da die Photos sich ja zu
einem guten Teil berdecken. In Ost-West Richtung ist man mit -25000
bis +25000 auf der sicheren Seite. Innerhalb dieser {\em Location} 
werden nun 10 {\em Mapsets} erzeugt. Der Einfachheit halber k"onnen
diese z.B. nach der Numerierung der Orthophotos (175-182) benannt werden.
Nach erfolgter Transformation sollten diese Grenzen
nat"urlich angepasst werden, um die
Dateigr"o"se zu begrenzen. Bei der
Benutzung der Bilder in voller Aufl"osung ergeben sich je nach
Rechner pro Transformation schon mal Rechenzeiten im Bereich von Stunden.
Es ist also eine "Uberlegung wert, die Transformationsparameter im
Voraus fr mehrere Bilder zu bestimmen und die eigentlichen
Transformationen {\em i.rectify} "uber Nacht ablaufen zu lassen. 
In jede der neu erstellten {\em Mapsets} wird nun die zugeh"orige 
Orthophotodatei importiert. Dazu wird Beispielsweise das {\em Mapset
176} ge"offnet und bei dem ersten Aufruf angelegt. 

\begin{kommando}
\begin{verbatim}

                            GRASS 5.0.0pre2
 
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:   import________   (enter list for a list of locations)
MAPSET:     176___________   (or mapsets within a location)
 
DATABASE:   /spare/gisdata/rheinbraun/________________________
 
 
 
   AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                    (OR <Ctrl-C> TO CANCEL)

Mapset <<176>> is not available
 
Mapsets in location <import>
----------------------
(+)PERMANENT
 
note: you only have access to mapsets marked with (+)
----------------------
 
Would you like to create < 176 > as a new mapset? (y/n) y

\end{verbatim}
\end{kommando}\

Ist so das {\em Mapset} angelegt, kann durch den Befehl 
{\em r.in.tiff -v input=/spare/gisdata/rheinbraun/176.tif output=176}
das Orthophoto importiert werden.\\

\begin{kommando}
\begin{verbatim}

Welcome to GRASS 5.0.0pre2 (September 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.0pre2 release is coordinated and produced by the
GRASS Development Team headquartered at ITC-irst (Trento, Italy)
with worldwide support and further development sites located at
Baylor University and the University of Illinois (U.S.A.).
 
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:> r.in.tiff -v input=176.tif output=176
TIFF Directory at offset 0x16678646
  Image Width: 11194 Image Length: 11193 Image Depth: 1
  Bits/Sample: 8
  Compression Scheme: None
  Photometric Interpretation: RGB color
  Software: "TLD2TIFF, Z/I Imaging GmbH, Oberkochen, Germany"
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 3
  Rows/Strip: 5
  Planar Configuration: single image plane
  Looking for TIFF World file ...   Not Found!
11194x11193x24 image
 8 bits/sample, 3 samples/pixel   
Total colors = 948082
WARNING: Color levels quantization...
Total used colors = 8000
Creating SUPPORT Files for 176
done.

\end{verbatim}
\end{kommando}\

Dieses Importieren wird in allen {\em Mapsets} f"ur die jeweiligen
Orthophotos ausgef"uhrt.
   
\section{Transformationsparameter bestimmen}
Beispielhaft wird jetzt die Bestimmung der Transformationsparameter
f"ur den ersten "`Block"\ bestimmt. Um die Spannungen zwischen den
einzelnen Bl"ocken so klein wie m"oglich zu halten, wird als Ursprung
und endgltiges Zielsystem aller folgenden Transformationen ein
Orthophoto gew"ahlt, das in der Mitte einer der beiden
Befliegungsstreifen (175, 176, 177, 178) und (179, 180, 181, 182)
liegt.
Ist das Zielsystem also das Photo 181.tif so wird GRASS fr die
{\em Location: import} mit dem {\em Mapset: 176} aufgerufen.
F"ur das zu transformierende Photo wird nun eine Gruppe mit
{\em i.group} gebildet. Bei der Benennung der Gruppe hat man freie
Wahl, doch bei umfangreichen Transformationen ist es hilfreich,
eindeutige Bezeichnungen zu w"ahlen, in unserem Fall wird die Gruppe
nach dem Bild 176 genannt. Die dieser {\em Group} beigef"ugte Datei
ist nat"urlich 176. Nach der abschlieenden Best"atigung ist die
{\em Group 176} erstellt.\\

\begin{kommando}
\begin{verbatim}

GRASS: > i.group
   
LOCATION: import            i.group            MAPSET: 176
 
This program edits imagery groups. You may add data layers to,
or remove data layers from an imagery group.
You may also create new groups
 
Please enter the group to be created/modified
 
 
GROUP:    176_________________   (list will show available groups)
 
 
      AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                        (OR <Ctrl-C> TO EXIT)


176-does not exist, do you wish to create a new group?(y/n) [n] y


LOCATION: import           GROUP: 176           MAPSET: 176
 
Please mark an 'x' by the files to be added in group [176]
 
MAPSET: 176
 
x_ 176
 
 
      AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                       (OR <Ctrl-C> TO CANCEL)	     

Group [176] references the following raster file
-----------------------
        176 in 176
-----------------------
Look ok? (y/n) y

Group 176 created!

\end{verbatim}
\end{kommando}\
  
    Dieser Gruppe mu"s jetzt ein Zielsystem fr die Transformation
    zugewiesen werden. Dazu dient der Befehl {\em i.target}. Als
    Ziel {\em Mapset} wird 181 ausgew"ahlt da dieses Orthophoto in der
    Reihe "uber 176 liegt. Das Bild 181 wird damit das Zielsystem
    dieser Transformation.\\



\begin{kommando}
\begin{verbatim}

GRASS:> i.target
This program targets an imagery group to a GRASS database
 
Enter group that needs a target
Enter 'list' for a list of existing imagery groups
Enter 'list -f' for a verbose listing
Hit RETURN to cancel request
>176


Please select the target LOCATION and MAPSET for group <176>
 
CURRENT LOCATION: import
CURRENT MAPSET:   176
 
 
TARGET LOCATION:  import______________
TARGET MAPSET:    181_________________
 
(enter list for a list of locations or mapsets within a location)

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

group [176] targeted for location [import], mapset [181]   

\end{verbatim}
\end{kommando}\

Zur Bestimmung der Transformationsparameter wird das schon in
Kapitel \ref{sec:passpunkte} Seite \pageref{sec:passpunkte}
besprochene Modul {\em i.points} aufgerufen, nachdem vorher mit {\em
d.mon} ein GRASS-Monitor gestartet wurde.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > i.points
 
Enter imagery group to be registered
Enter 'list' for a list of existing imagery groups
Enter 'list -f' for a verbose listing
Hit RETURN to cancel request
>176

\end{verbatim}
\end{kommando}\
    
Im Grass-Monitor kann jetzt die im {\em Mapset} vorhandene Datei 176
mit einem Doppelklick aufgerufen werden. Anschlieend wird mit einem
Mausklick auf {\em PLOT RASTER} die im Ziel-{\em Mapset} liegende
Datei 181 in dem vorher angew"ahlten Viertel des GRASS-Monitors
angezeigt. Durch Vergr"o"sern identischer Bildausschnitte
in beiden Bildern durch die ZOOM-Funktion k"onnen identische
Punkte bestimmt werden. Es ist darauf zu achten, da"s diese Punkte
direkt auf der Erdoberflche liegen, es bieten sich also
Straenmarkierungen Gullydeckel und "ahnliches an (Abb. \ref{mosaik_ipoints}).
Dachfirste, Strommasten, Kirchtrme u.s.w. k"onnen nicht benutzt werden.
Auch bei scheinbar parkenden Autos ist Vorsicht geboten, da man nur
in den seltensten F"allen einen identischen Punkt auf dem Boden, 
sprich Reifenunterkante in zwei Bildern genau identifizieren kann.
Bedingt durch die kurze Zeitspanne zwischen zwei Aufnahmen k"onnen
sich scheinbar stillstehende Objekte unbemerkt bewegt haben.
Nachdem identifizieren von mindestens 4 Punkten kann mit einem
Mausklick auf {\em ANALYZE} der momentane Fehler der
Transformationsparameter mit den aktuell identifizierten Punkte
berechnet werden. Bei einer fl"achenhaften Verteilung der
Passpunkte in der "Uberlappungsfl"ache der beiden Bilder und 
gewissenhafter Bestimmung der Passpunkte ist es m"oglich, den Fehler 
im Bereich unter 10 Einheiten, in diesem Falle Pixel 
zu halten. Bei einer ungef"ahren Kantenl"ange eines Pixels von 15 cm
h"atte man so eine Ungenauigkeit von 1,5 m. Dies erscheint bei 
einer Bildausdehnung von 1,8 * 1,8 km und der Tatsache, da"s die
Orthophotos nicht entzerrt sind, annehmbar. 

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{mosaic-from-aerial-images/mosaik-ipoints.eps}
\caption[Screenshot GRASS Passpunkte identifizieren]{\label{mosaik_ipoints}Nutzung von {\em i.points} zur Identifizierung von Passpunkten in Orthophotos}
\end{figure}


\section{Transformieren des Orthophotos}
Mit dem Befehl {\em i.rectify} wird die gew"unschte Transformation
mit den bestimmten Parametern ausgefhrt. Abschlie"send wird noch
der neue Name in dem Ziel-{\em mapset} angegeben {\em Please select the file(s) you wish to rectify by naming an output file}. \\

\begin{kommando}
\begin{verbatim}

GRASS:> i.rectify
 
Enter the group containing files to be rectified
Enter 'list' for a list of existing imagery groups
Enter 'list -f' for a verbose listing
Hit RETURN to cancel request
> 176
<176> 

Please enter the order of the transformation you want: 1

Please select the file(s) you wish to rectify
by naming an output file
 
176@176  . . . . . . . . . . . . . . 176____________
 
 
(enter list by any name to get a list of existing raster files)
 
    AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
                     (OR <Ctrl-C> TO CANCEL)


Please select one of the following options
 1. Use the current region in the target location
 2. Determine the smallest region which covers the image
 >2

\end{verbatim}
\end{kommando}\

Die angezeigte kleinste Ausdehnung der Startdatei in der Ziel-{\em Region}
kann nun im Regionsbildschirm mit {\em ESC ENTER} best"atigt
werden. Die Frage {\em Do you accept this region? (y/n) [n]  y}
wird bejaht und {\em Would you like this region saved as the region in the target location? (y/n)} verneint. \\ 

\begin{kommando}
\begin{verbatim}

Do you accept this region? (y/n) [n] y
Would you like this region saved as the region
in the target location?
(y/n) n

You will receive mail when i.rectify is complete
GRASS:/spare/gisdata/grass/bin >

\end{verbatim}
\end{kommando}\
     
 Wie schon geschrieben kann die aufgerufene Transformation einige
 Zeit dauern. Mit {\em exit} kann GRASS nun beendet werden. 
 Nach der Meldung per e-mail, da"s die Datei transformiert wurde,
 wechselt man in den Ziel - {\em Mapset 181} und f"uhrt hier 
 {\em r.support} aus, um die von GRASS ben"otigten Hilfsdateien
 auf den neuesten Stand zu bringen oder "uberhaupt erst erzeugt.
 In einem gestarteten GRASS-Monitor k"onnen nun nacheinander
 beide vorhandene Rasterdateien (176 und 181) aufgerufen und
 durch die Option {\em -o} f"ur Overlay berlagert werden (Abb.
 \ref{mosaik1}). Zur besseren Unterscheidung der einzelnen
 Orthophotos sind hier die Bildr"ander mit den Rahmenmarken nicht
 entfernt worden, bei der Arbeit mit Orthophotos w"urde
 nat"urlich vor der Transformation eine entsprechende Maske
 wie in \ref{sec:maskierung} auf Seite \pageref{sec:maskierung}
 beschrieben erstellt und angewendet werden. \\ 
  
\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > d.rast -o map=181  
GRASS:/spare/gisdata/grass/bin > d.rast -o map=176  

\end{verbatim}
\end{kommando}\

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{mosaic-from-aerial-images/mosaik-1.eps}
\caption[Screenshot GRASS Mosaik]{\label{mosaik1}berlagerte Ausgabe von 2 Orthophotos}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{mosaic-from-aerial-images/mosaik-2.eps}
\caption[Screenshot GRASS Mosaik komplett]{\label{mosaik2}berlagerte Ausgabe von 10 Orthophotos}
\end{figure}



Um die beiden Bilder zu einer Rasterdatei zusammenzufgen, gibt
es den interaktiven Befehl {\em r.patch}, der "ubergebene Rasterdateien so
"uberlagert das die zuerst angegebene Datei als oberste "`Folie"\ 
erscheint und die sp"ater aufgerufenen Dateien in den
"Uberlappungsgebieten verdeckt. Dem Programm  werden an der Kommandozeile
alle Rasterdateien "ubergeben, ist dies geschehen wird die folgende
Aufforderung ohne Eingabe mit {\em ENTER} best"atigt, daraufhin
fragt der Befehl den Namen der neuen Rasterdatei ab. Anschlieend
wird wieder {\em r.support} fr die neuerstellte Datei aufgerufen. 

\section{Abschlie"sendes Vorgehen}
Diese Art der Transformation wird fr alle verbliebenen "'Orthophotopaare"\
ausgefhrt. Anschlieend knnen die 4 "au"seren neugebildeten
"`Patch-Dateien" wiederum in das System der "'mittleren"\ Transformiert
und "`gepatcht" werden. Trotz der in Kauf genommenen Ungenauigkeiten
kann sich das Ergebniss sehen lassen und ist fr "Ubersichtszwecke
auf jeden Fall geeignet (Abb. \ref{mosaik2}).

\section{Alternative Vorgehensweisen}
Sollten auf diese Weise die Ungenauigkeiten zwischen den einzelnen
Bildbl"ocken zu gro"s werden, kann man versuchen, jedes Orthophoto einzeln an
das Ursprungsbild anzuh"angen. So k"onnten die Spannungen zwischen den
einzelnen Bildern unter Umst"anden besser verteilt werden.


%%% TEXEXPAND: END FILE ./mosaic-from-aerial-images/mosaic-from-aerial-images-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./gps-data/gps-data-de.tex
\chapter{Verarbeiten von GPS - Daten}
\label{handling_gps_data_de}
\subsubsection{Aufgabenstellung}
GPS steht fr Global Positioning System. GPS ist ein System zur 
drei-dimensionalen Positionsbestimmung mittels rumlicher Bogenschlge
 zu mindestens vier Satelliten mit bekannten Positionen.
Die bekanntesten sind die Satelliten-Systeme navstar-gps (USA) 
und glonass (GUS) sowie in Zukunft auch gallileo (EU).
Es gibt mehrere Anbieter fr sogenannte Handheld bzw. Handy - 
GPS-Empfnger am Markt, darunter Casio, Garmin,
Magellan, Rand Mc Nelly. Die folgenden Programme wurden in
Verbindung mit einem Garmin GPS II betrieben.
Dieser Empfnger wurde mir freundlicherweise von der Fachhochschule
Oldenburg/Ostfriesland/Wilhelmshaven zur Verfgung gestellt.

\subsubsection{Beispieldaten}
Die in diesem Kapitel benutzten Daten werden durch die GPS Empf"anger
w"ahrend des Gebrauches erzeugt.

%\subsubsection{Weitere Verwendung der Beispieldaten}

\section{Programm gpspoint}
\label{handling_gps_data_de:gpspoint}

Das Programm gpspoint wurde in der Version 1.010708 unter einer Debian GNU/Linux
Installation (woody) verwendet.\\
 

Das Programm gpspoint wird direkt von der Kommandozeile aus
betrieben. Es ermglicht das Ein- und Auslesen von Waypoints
(vorgegebene oder im Feld erzeugte koordinierte Punkte), Routes (aus
Waypoints zusammengesetzte Routen, deren einzelne Waypoints
nacheinander vor- oder rckwrts abgelaufen werden) oder Tracks
(automatische Wegprotokollierung durch Routen). Weiter knnen im
NEMA - Modus die aktuell empfangenen GPS-Daten im Roh-Zustand
laufend ausgegeben werden und so von anderen Anwendungen oder
Gerten verwendet werden.

\paragraph{Vorbereitungen}
Der GPS-Empfnger wird per seriellem Kabel
(RS232) mit dem Rechner verbunden. "Ublicherweise gibt es die
sogenannten COM-Schnittstellen oder COM-Ports 1 und 2. In einem
Linux-System k"onnen diese Schnittstellen direkt ber
 {\em /dev/ttyS0} f"ur COM 1 und {\em /dev/ttyS1} f"ur COM 2
angesprochen werden. 
Am Garmin wird als Interface die Option GRMIN/GRMIN (GPS II)
gew"ahlt.


\paragraph{Tipps}
\begin{itemize}
 \item Um die Kommunikation zwischen Garmin und Rechner auf
 grundlegenste Art und Weise zu "uberpr"ufen, kann man wie folgt
 vorgehen. Das Garmin Interface ist auf NMEA/NMEA zu
 stellen. Hierdurch werden die empfangenen Daten im NMEA Protokoll
 an die Schnittstelle weitergereicht, auch wenn der Garmin keine 
 Satelliten empfngt, werden weiterhin "`leere"'\ Protokollpakete an
 die Schnittstelle gesendet. Um sich diese Pakete am Bildschirm
 anzeigen zu lassen, gibt man an der Kommandozeile den Befehl {\tt 
 cat /dev/ttyS1} fr einen an dem COM2-Port angeschlossenen Garmin
 ein. Die auf dem Bildschirm ausgegebenen Datenstze sollten
 "ahnlich den folgenden sein. Hierdurch lsst sich sozusagen die
 elektrische Verbindung zwischen Garmin und Computer testen.
\item Sollte der Aufruf {\em cat /dev/ttyS1/} mit einem
 {\em bash: /dev/ttyS1: Keine Berechtigung} beschieden werden,
 so sind die Zugriffsrechte fr den 
 Benutzer nicht ausreichend, um auf die serielle Schnittstelle
 zuzugreifen. 
\end{itemize}

\nomenclature{NMEA}{leer}
\nomenclature{RTCM}{leer}

\begin{kommando}
\begin{verbatim}

bash-2.05$ cat /dev/ttyS1
0,334,00*7B
$PGRME,,M,,M,,M*00
$GPGLL,,,,,082435,*58
$PGRMZ,,,*7E
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
$GPRTE,1,1,c,0*07
$GPRMC,082436,V,,,,,,,051001,,*3F
$GPRMB,V,,,,,,,,,,,,V*66
$GPGGA,082436,,,,,0,00,,,M,,M,,*6D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,03,00,087,00,04,58,252,00,05,00,307,00,06,00,356,00*7F
$GPGSV,3,2,12,07,00,224,00,08,03,190,00,09,00,283,00,22,13,065,00*7A
$GPGSV,3,3,12,23,00,288,00,24,38,304,46,27,28,176,00,30,00,334,00*79
$PGRME,,M,,M,,M*00
$GPGLL,,,,,082437,*5A
$PGRMZ,,,*7E
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
$GPRTE,1,1,c,0*07
$GPRMC,082438,V,,,,,,,051001,,*31
$GPRMB,V,,,,,,,,,,,,V*66
$GPGGA,082438,,,,,0,00,,,M,,M,,*63
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,10,03,00,087,00,04,58,252,00,06,00,356,00,07,00,224,00*7F
$GPGSV,3,2,10,08,03,190,00,09,00,283,00,10,01,292,00,23,00,288,00*70
$GPGSV,3,3,10,24,38,304,46,30,00,334,00,,,,,,,,*77
$PGRME,,M,,M,,M*00
$GPGLL,,,,,082439,*54
$PGRMZ,,,*7E

\end{verbatim}
\end{kommando}\

 


\paragraph{Programmaufruf}
Der einfache Aufruf {\em ./gpspoint} an der Kommandozeile
gibt den Hilfe-Bildschirm aus, der auch "uber {\em ./gpspoint
-h} erzeugt werden kann.

\begin{kommando}
\begin{verbatim}

bash$ ./gpspoint   

*****************************************************************
usage : 

-g               Garmin mode 
-n               NMEA mode 
-d device        Device eg: -d /dev/ttyS0
-s bauds         line Speed; it is save not to use this option,
                 there are defaults

-dw filename     Download Waypoints from gps and
                 write them to filename
-dr filename     Download Routes 
-dt filename     Download Tracks 
-da filename     Download All, Waypoints/Routes/Tracks 
-uw filename     Upload Waypoint to gps
-ur filename     Upload Routes 
-ut filename     Upload Tracks 
-ua filename     Upload All, Waypoints/Routes/Tracks 

-p       display current position 
-o       Turn Off Device 
-h       Help 
-a       about 

 please have a look at the man page, available in german and
                         english !
*****************************************************************


\end{verbatim}
\end{kommando}\
\subsection{Verwalten von GPS-Daten}
Das Auslesen von Waypoints geschieht durch den Kommandozeilenaufruf
{\em ./gpspoint -g -d /dev/ttyS1 -dw /tmp/gpspoint/heiko}.
Dabei bezeichnen die Flaggen (Optionen) {\em -g}, wie aus dem Startbildschirm
ersichtlich, den Programmablauf im sogenannten Garmin - Modus, {\em
-d} gibt die COM Schnittstelle an, {\em -dw} liest die waypoints
aus dem Speicher des Garmin aus und sichert sie in der Datei {\em /tmp/gpspoint/heiko}.


\begin{kommando}
\begin{verbatim}

bash$ ./gpspoint -g -d /dev/ttyS1 -dw /tmp/gpspoint/heiko

********************* Garmin Device Info *********
           Garmin Product ID: 73
     Garmin software version: 207
  Garmin Product description: GPS II+ SOFTWARE  2.07 
     Link Protocol: 1
  Command Protocol: 10
 Waypoint Protocol: 100
     Waypoint Data: 103
    Route Protocol: 200
      Route Header: 201
        Route Data: 103
    Track Protocol: 300
      Track Header: 0
        Track Data: 300
      Prx Protocol: 0
          Prx Data: 0
      Alm Protocol: 500
         Alm Data : 501
******************************************
    date: 2001-10-04
    time: 14:56:39
******************************************
serial port: /dev/ttyS1
serial port speed: default
mode : garmin
Getting Waypoints, 10 packets 100% done 
Writing Waypoints to /tmp/gpspoint/heiko, done 
****************************************
 good bye 


\end{verbatim}
\end{kommando}\
 
Die so ausgelesenen 10 Punkte werden in einer Datei mit folgender
Form gespeichert. Der "`Lattenzaun \#"'\ zu Beginn der Headerzeilen
kommentiert diese aus, so das sie nicht beachtet werden. 
Zum "`Hochladen"\ von Waypoints in den Garmin muss die Koordinatenliste
in der gleichen Form vorliegen.\\

\begin{kommando}
\begin{verbatim}

 
#NOTE: the gpd-filestructure has slightly changed 
#if you have gpspoint version < 1.010622 upgrade 
#
#GPSPOINT DATA FILE
#gpspoint version: 1.010708
#http://scampi.physik.uni-konstanz.de/~tschank/gpspoint
#GPS Device : GPS II+ SOFTWARE  2.07 
#download time (local) : Thursday 04 October 2001 15:12 
#waypoints 

type="waypointlist"
type="waypoint" latitude="52.2749"  longitude="8.04706"  name="001   "
comment="02-OCT-01 10:54" symbol="dot" display_option="symbol+name"

type="waypoint" latitude="52.27457"  longitude="8.04646"  name="002   "
comment="02-OCT-01 10:55" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.2749"  longitude="8.04555"  name="003   "
comment="02-OCT-01 10:56" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.27522"  longitude="8.04531"  name="004   "
comment="02-OCT-01 10:56" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.2759"  longitude="8.04475"  name="005   "
comment="02-OCT-01 10:57" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.27597"  longitude="8.0441"  name="006   "
comment="02-OCT-01 10:58" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.27621"  longitude="8.03812"  name="007   "
comment="02-OCT-01 11:12" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.27575"  longitude="8.03741"  name="008   "
comment="02-OCT-01 11:13" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.27517"  longitude="8.0361"  name="009   "
comment="02-OCT-01 11:14" symbol="dot" display_option="symbol+name"  

type="waypoint" latitude="52.27501"  longitude="8.03234"  name="010   "
comment="02-OCT-01 11:17" symbol="dot" display_option="symbol+name" 

\end{verbatim}
\end{kommando}\


Auf die gleiche Weise verf"ahrt man beim Verwalten der Tracks und
Routes.

\subsection{Ausgabe der aktuellen Position}
Fr diese Option mu"s der Garmin in das Interface NMEA/NMEA
geschaltet werden, da sie momentan nur hier fr dieses Protokoll
implementiert ist. Der Aufruf an der Kommandozeile ist
{\em ./gpspoint -n -d /dev/ttyS1 -p}.
Die Ausgabe erfolgt in geographischen Koordinaten.\\

\begin{kommando}
\begin{verbatim}

bash-2.05$ ./gpspoint -n -d /dev/ttyS1 -p
 
***************** NMEA Interface *******
serial port: /dev/ttyS1
serial port speed: default
mode : nmea
latitude 52.2747   longitude 8.0475
****************************************
 good bye

\end{verbatim}
\end{kommando}\


\section{Programm GPSMan}\label{handling_gps_data_de:gpsman}

Dieses Programm zum Verwaltung und Bearbeitung von GPS-Daten
verfgt ber eine GUI und unterst"utzt laut
Homepage \footnote{http://www.ncc.up.pt/~mig/gpsman.html}
Empf"anger von Garmin und Lowrance. Das Tutorial sttzt sich auf
Erfahrungen, die mit den Garmin-Empfnger GPS II+ gemacht wurden.\\

Es wurde GPSMan Version 5.4 unter
einer Debian GNU/Linux Installation (woody) verwendet.\\


Ist eine Verbindung mit dem Programm gpspoint zustande gekommen, so
sollte GPSMan (GPSManager) relativ problemlos zum Laufen zu bringen
sein. Nachdem man GPSMan an einen Platz seiner Wahl entpackt hat,
mu"s das Startskript {\em gpsman.tcl} angepasst werden. Dies erfolgt mit
einem Editor nach Wahl. Die folgenden Zeilen sind auf die eigene
Installation abzustimmen:\\

\begin{kommando}
\begin{verbatim}

set LANG deutsch

# otherwise the default is
set DEFSPORT /dev/ttyS1

# path to directory containing user data
set USERDIR /spare/gisdata/gps/gpsman/gpsman-5.4/.gpsman-dir

# path to directory containing program files
set SRCDIR /spare/gisdata/gps/gpsman/gpsman-5.4/gmsrc


\end{verbatim}
\end{kommando}\

Eine deutschsprachige Nutzerumgebung w"ahlt man mit {\em set LANG deutsch}.
Die Zeile {\em set DEFSPORT /dev/ttyS1} bezeichnet die vorgew"ahlte
serielle Schnittstelle, in diesem Fall COM2. Diese Einstellung kann
im Programm ge"andert werden.
Durch {\em set USERDIR /spare/gisdata/gps/gpsman/gpsman-5.4/.gpsman-dir}
wird der Pfad deklariert, in dem GPSMan ein Verzeichniss mit Nutzerdaten
anlegen kann. In
{\em set SRCDIR /spare/gisdata/gps/gpsman/gpsman-5.4/gmsrc}
schlie"slich wird der Pfad angegeben, in dem sich das 
Verzeichniss {\em gmsrc} befindet.
Dies ist "ublicherweise das Verzeichniss, in das GPSMan
entpackt wurde. Sind diese Einstellungen gemacht, so kann das
Startskript {\em gpsman.tcl} im GPSMan Installationsverzeichniss
durch Eingabe von {\em ./gpsman.tcl} an der Kommandozeile
aufgerufen werden. Jetzt sollten drei Fenster erzeugt werden, mit denen
GPSMan im folgenden bedient wird.

\paragraph{Prfen der Verbindung}
Im Fenster {\em GPS Empf"anger} (Abb. \ref{gpsman_empfaenger}) kann
die Verbindug zwischen Rechner und Garmin "uberpr"uft werden, indem
man zuerst das Protokoll {\em Garmin} im Protokollmen"u ausw"ahlt.
Ein weiterer Mausklick auf die Schaltfl"ache {\em offline}
"uberpr"uft nun die Verbindung und sollte als Ergebniss ein kleines
Fenster mit der Meldung {\em Verbindung ok} erzeugen.
Die gerade benutzte Schaltflche ist nun mit einem gr"unen
Schriftzug {\em online} belegt.\\

    
\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{gps-data/gpsman-empfaenger.eps}
\caption[Screenshot GPSMan Empf"anger]{\label{gpsman_empfaenger}GPSMan GPS Empf"anger mit "uberpr"ufter Verbindung zum Garmin GPS II+}
\end{figure}

\subsection{Verwalten von Daten}
Sind im Garmin Wegpunkte, Routen, Tracks oder Gruppen gespeichert, so
knnen sie im Bildschirm {\em GPS Empf"anger} unter der "Uberschrift
{\em Empfangen} aus dem Garmin abgerufen werden. Hat man den
Checkbutton {\em Zeige Elemente in der Karte} gesetzt, so werden die
importierten Elemente in dem Hauptfenster angezeigt (Abb. \ref{gpsman_hauptfenster}). Eine Listenansicht wird in {\em GPSManager: Listen}
ausgegeben (Abb. \ref{gpsman_listen}). 
 
\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{gps-data/gpsman-listen.eps}
\caption[Screenshot GPSMan Listen]{\label{gpsman_listen}GPSMan GPS Listen mit importierten Wegpunkten} 
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{gps-data/gpsman-hauptfenster.eps}
\caption[Screenshot GPSMan Hauptfenster]{\label{gpsman_hauptfenster}GPSMan GPS Hauptfenster mit importierten Wegpunkten}
\end{figure} 

\subsection{Anzeigen und Speichern von Echtzeitdaten}

Mit GPSMan hat man die M"oglichkeit in Echtzeit die ermittelten
Koordinaten in einem propriet"aren Garmin-Format
(Abb. \ref{gpsman_echtzeit}) oder im NMEA-GPS-Datenformat
(Abb. \ref{gpsman_echtzeitnmea}) direkt in den Computer zu "ubernehmen.
Nachdem am Garmin und im GPS Manager ein "ubereinstimmendes Protokoll
ausgew"ahlt wurde, wird unter der "Uberschrift {\em Echtzeitdaten} die
Aufzeichnung begonnen. Mit {\em Aufzeichnung laden} wird die
Visualisierung gestartet. In dem Fenster {\em Echtzeitdaten} kann
per Schieberegler das Aufzeichnungsintervall ver"andert werden. Ist
der Empf"anger in Bewegung, k"onnen mit einem Mausklick auf Animation
die bisher aufgezeichneten Datens"atze der Reihe nach im
Hauptfenster angezeigt werden.

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{gps-data/gpsman-echtzeitdaten.eps}
\caption[Screenshot GPSMan Echtzeitdatenerfassung Garmin]{\label{gpsman_echtzeit}GPSMan Echtzeitdatenerfassung im Garmin Format}
\end{figure}


\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{gps-data/gpsman-echtzeitdatennmea.eps}
\caption[Screenshot GPSMan Echtzeitdatenerfassung NMEA]
{\label{gpsman_echtzeitnmea}GPSMan Echtzeitdatenerfassung im NMEA
Format}
\end{figure}

\subsection{Erstellen von Routen}
Im Fenster {\em GPS Manager: Listen} k"onnen Wegpunkte, Routen,
Tracks und Gruppen geladen und gesichert werden. Weiter k"onnen aus
Wegpunkten Routen zusammengestellt werden oder aus Tracks Routen
ausgeschnitten werden.
Wird im Hauptfenster eine georeferenzierte Karte angezeigt, so knnen
in ihr Wegpunkte markiert und diese im {\em GPS Manager: Listen} zu einer
Route zusammengestellt werden die dann in den Garmin importiert
werden kann.


%%% TEXEXPAND: END FILE ./gps-data/gps-data-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./differential-gps/differential-gps-de.tex
\chapter{Differentielle GPS - Messung}
\label{differential_gps_de}
 \subsubsection{Aufgabenstellung}
 Um die mittlerweile abgeschaltete knstliche Verschlechterung 
 der GPS-Daten (SA selectiv availabolity) zu kompensieren und die
 Genauigkeit bei der Positionsbestimmung mittels GPS in den
 Submeterbereich zu bringen, wurde die differentielle
 GPS-Messung entwickelt. Hierbei wird auf
 einer sogenannten Referenzstation, deren Position genau bekannt
 ist, von einem GPS-Empf"anger kontinuierlich seine Position bestimmt
 und mit der bekannten verglichen. In der Anfangszeit wurde diese so 
 ermittelte Differenz einfach an die zu referenzierenden Empf"anger also
 ,beispielsweise dem im Tutorial benutzten
 Garmin, bermittelt und damit die seinerseits
 bestimmte Position verbessert. Diese Methode funktioniert aber nur
 zufriedenstellend, wenn von Referenzstation und Garmin dieselben
 Satelliten benutzt werden. Aufgrund der oftmals unterschiedlichen
 Satellitenkonstellationen bei Referenzstation und Empfnger ist diese 
 Methodik nur eingeschr"ankt anwendbar. Viel flexibler wird man duch die
 bermittlung von Korrekturdaten f"ur jeden einzelnen Satelliten, den die
 Referenzstation empf"angt. Diese Korrekturdaten werden vom Empf"anger
 w"ahrend der Messung auf jeden einzelnen Satelliten angewendet.
 In der Schriftenreihe der TU Mnchen findet sich ein Tutorial 
 "`Einfhrung in GPS"'\cite{rothacher/zebhauser}.
 \subsubsection{Beispieldaten}
 Die ben"otigten Korrekturdaten werden in Echtzeit "uber das Internet "ubertragen
 und dem Programm zur Verf"ugung gestellt.
% \subsubsection{Weitere Verwendung der Beispieldaten}

 
 \section{L"osung mit DGPSIP}
 \label{differential_gps_de:dgpsip}

Es wurde DGPSIP 1.32 unter einer Debian GNU/Linux Installation
(woody) verwendet.\\

\nomenclature{\bf RTCM}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-rtcm-de.tex
Eigentlich RTCM SC104. Das Radio Technical Comission for Maritime Services 
Special Comittee No. 104 hat 1985 Empfehlungen fr einen Standard zur 
bertragung von DGPS-Korrekturen vorgestellt. Er enth"alt Definitionen der
Datenelemente, der Zeitintervalle zwischen bertragungen, der 
Datensegmentgr"o"sen, sowie Eineiten und Aufl"osung der zu "ubertragenden
Parameter, deren Format in verschiedenen Datentypen...festgelegt ist.\\
Einf"uhrung in GPS\cite{rothacher/zebhauser}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-rtcm-de.tex
}Ein Problem bei der "Ubermittlung der Korrekturdaten ist, die Verbindung
 zur Referenzstation auch "uber weitere Entfernungen aufbauen zu k"onnen. 
 Ist ein Rechner mit Internetzugang und serieller Schnittstelle vorhanden,
 k"onnen solche Korrekturdaten im RTCM-Format \index{RTCM}
 direkt an den Garmin "ubermittelt werden. Laut Homepage des Initiators
 dieses Services Wolfgang 
 Rupprecht\footnote{http://www.wsrcc.com/wolfgang/gps/dgps-ip.html},
 gibt es zur Zeit 3 Referenzstationen in den USA,
 die solche Korrekturdaten im Internet zur Verf"ugung stellen.
 Trotz dieser Entfernung ist es bereits gelungen in den USA und
 Deutschland gleichzeitig dieselben Satelliten zu empfangen und so eine
 differentielle GPS-Messung durchzufhren, die zu einer Verbesserung der 
 im Garmindisplay angezeigten Punktgenauigkeit fhrte. W"ahrend der Erstellung
  des Tutorials ist die 
 Verbindung mit einer Referenzstation in Kalifornien und New York gelungen,
 aber durch die denkbar schlechte Satellitenkonstellation (Empfang von 4 
 Satelliten durch ein Brofenster) hat sich die angezeigte Genauigkeit eher
 veschlechtert. Dessen ungeachtet wurde vom Garmin eine differentielle
 Messung angezeigt, was nach R"ucksprache mit dem Entwickler best"atigt
 das wenigstens 1 identischer Satellit von Garmin und Referenzstation empfangen wurde.

\subsection{Durchf"uhrung der Messung}

\paragraph{Einstellungen am Garmin}
Am Garmin wird unter dem Menu Interface die Verbindungsart "`RTCM/NONE"\ 
mit der Baudrate 4800 eingestellt. Die Meldung "`BEACON RCVR: RECEVING"\
im Garmin Display zeigt an, dass tats"achlich Daten empfangen werden.
Die "'FREQ"\ Frequenz wird zusammen mit der aktuellen D"ampfung des
Signales an der Empfangsantenne automatisch "ubermittelt. Eine Berechnung der
Entfernung Empf"anger-Referenzstation wird bei "'DIST"\ ausgegeben. 
Die bertragungsrate der Korrekturdaten ist im Moment bei 200 bps (bits per
second), diese Einstellung kann beim Garmin II + in dem Verbindungsprotokoll
"`RTCM/NMEA"\ ver"andert werden.

\paragraph{Einstellungen am Rechner}
Grundlegende Voraussetzung ist eine Verbindung
 zum Internet. Ist die Daten"ubertragung
Rechner-Computer etabliert, wird nur das Programm
{\em DGPSIP} gestartet werden.
Im Betrieb unter GNU/LINUX arbeitet man an der Kommandozeile
fr Windows gbt es ein GUI. Die bei jedem Aufruf angezeigte Warnung 
 kann durch setzen des Schalters {\em -w} im Programmaufruf 
verhindert werden.\\

\begin{kommando}
\begin{verbatim}

bash-2.05$ ./dgpsip --help
dgpsip receives DGPS over IP and sends to serial port
Usage: dgpsip [OPTIONS]
  Options are:
    -c capture_file  saves GPS NMEA data to file
    -d    decode RTCM and print to stdout
       this turns off tty output, use -o to turn it on again
    -h DGPS_host  sets name of server to connect to
       default is dgps.wsrcc.com
    -p DGPS_port  sets IP port #/name to connect to
       default is IANA assigned port rtcm-sc104 (2101)
    -o serial_port  sets name of serial output device
       default is /dev/gps - a link to /dev/tty??
    -s serial_speed  sets serial output baud rate
       default is 4800 baud
    -v verblevel  turns on extra output
       see README for details
    -w turns off startup warranty message

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

Mit der Option {\em -o} wird der serielle Anschluss angegeben an dem
der Garmin-Empf"anger angeschlossen ist. Die Internet-Adresse kann mit {\em 
h} angepasst werden, die Portnummer mit {\em -p}. Als Grundeinstellung
sind hier jeweils die passenden Angaben fr die Referenzstation in
Point Blunt, Kalifornien angegeben.
Um den Empfang der Korrekturdaten aus dem Internet zu "uberpr"ufen, kann
beim Aufruf von {\em dgpsip} der Schalter {\em -d} gesetzt werden, der die
empfangenen Korrekturdaten dekodiert und an die Kommandozeile "ubergibt.
Nach ein paar Zeilen ohne Daten die zur Synchronisation des Empfangs 
mit der Ausgabe dienen, werden die Korrekturdaten an der Kommandozeile
ausgegeben. (s.u.)\\


\begin{kommando}
\begin{verbatim}

bash-2.05$ ./dgpsip -o /dev/ttyS1 -w -d

H       9       268     2983.2  1       4       2
S       26      0       30      2983.2  -1.760  0.002
S       21      0       151     2983.2  -0.880  0.004
H       9       268     2984.4  2       5       3
S       17      0       76      2984.4  2.940   0.000
S       6       0       84      2984.4  -0.100  0.002
S       15      0       190     2984.4  2.740   0.000
H       9       268     2985.0  3       5       2
S       23      0       77      2985.0  2.740   0.000
S       18      0       22      2985.0  2.660   0.002
S       22      0       223     2985.0  0.600   -0.002
f       3100    200
s       321     36
H       9       268     2986.2  4       4       2
S       26      0       30      2986.2  -1.780  -0.004
S       21      0       151     2986.2  -0.900  0.004
H       9       268     2987.4  5       5       3
S       17      0       76      2987.4  2.940   0.000
S       6       0       84      2987.4  -0.120  0.002
S       15      0       190     2987.4  2.780   0.000
H       9       268     2988.0  6       5       2
S       23      0       77      2988.0  2.740   0.000
S       18      0       22      2988.0  2.700   0.004
S       22      0       223     2988.0  0.600   0.002
H       9       268     2989.2  7       4       2
S       26      0       30      2989.2  -1.700  0.000
S       21      0       151     2989.2  -0.900  0.002
H       9       268     2990.4  0       5       3
S       17      0       76      2990.4  2.980   0.002
S       6       0       84      2990.4  -0.060  0.002
S       15      0       190     2990.4  2.840   0.002
f       3100    200
s       321     36

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

Bekommt man eine Ausgabe "ahnlich der angegebenen, kann man diese Daten nun 
an den Garmin umleiten, oder besser gesagt die Umleitung an die Kommandozeile
, die sogenannte Standardausgabe (stdout) aufheben.
Hierzu entfernt man einfach den im vorigen Aufruf gesetzten Schalter {\tt -d}.
Nach ein paar Sekunden sollten nun im Garmin-Display Angaben "uber Frequenz, 
D"ampfung und, falls eine Positionsbestimmung m"oglich war, auch die Entfernung 
zur Referenzstation abzulesen sein.\\

\begin{kommando}
\begin{verbatim}

bash-2.05$ ./dgpsip -o /dev/ttyS1 -w 

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


%%% TEXEXPAND: END FILE ./differential-gps/differential-gps-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./flight-through-dem/flight-through-dem-de.tex
\chapter{Flug "uber das H"ohenmodell }
\label{fly_over_dem_de}
\subsubsection{Aufgabenstellung}
Im folgenden werden zwei verschiedene Arten von Flgen ber ein
H"ohen bzw. Landschaftsmodell besprochen. Wir zeigen einmal die direkte
interaktive Bewegung ber das Modell in "`Echtzeit"\ und das
Berechnen einer im voraus festgelegten Route ber ein Modell,
um z.B. eine Animation daraus zu erzeugen.

\subsubsection{Beispieldaten}
VTP Enviro kann die DEM Daten des USGS Crater Lake Data 
Clearinghouse\footnote{http://craterlake.wr.usgs.gov/dem.html} direkt importieren. 
Fr die Bearbeitung mit GRASS werden die in Kapitel \ref{georeferencing_de} Seite
\pageref{georeferencing_de:grass} importierten Daten verwendet.\newline


%\subsubsection{Weitere Verwendung der Beispieldaten}

\section{L"osung mit VTP Enviro} 
\label{fly_over_dem_de:vtpenviro}
Es wurde VTP Enviro auf einer Windows 2000 Installation verwendet.\\

 Das Programm VTP Enviro geh"ort
 wie VTBuilder und BExtractor  zu dem Virtual Terrain Projekt (VTP).
 VTP Enviro bietet die M"oglichkeit, die mit VTBuilder und BExtractor
 bearbeiteten Projekte anzuzeigen und sich virtuell in ihnen zu
 bewegen. Wie schon in Abschnitt \ref{import_usgs_dem_de} Seite
 \pageref{import_usgs_dem_de:vtbuilder} ff beschrieben wird ein DEM in VTBuilder mit
 {\em Layer/Import Data} und der Auswahl {\em Elevation} eingelesen.
 Um diese Daten nun in VTP Enviro zu bernehmen, werden sie als .bt
 (Binary Terrain)\footnote{http://www.vterrain.org/Implementation/BT.html}
 Datei durch {\em Elevation/Merge and Export Elevation} in dem
 Ordner "`Elevation"'\ im Installationspfad von VTP Enviro gepeichert.
 Um den "`Bildausschnitt"\ und die Aufl"osung zu justieren, kann mit
 {\em Export Area/Set to Extents} das gesamte DEM ausgew"ahlt
 werden, mit {\em Numeric Values} gibt man die Ausdehnung
 durch entsprechende Koordinatenwerte ein. Die Schaltflche {\em Set
 Export Area} erm"oglicht das Aufziehen eines
 Ausgaberechteckes direkt in der Bildschirmanzeige des DEMs.
 In dem nchsten Auswahlmen"u  k"onnen die Aufl"osung und Ausdehnung
 der BT-Datei gewhlt werden. Um sie aufeinander anzupassen, sollten
 die Schaltflchen \begin{math}\ll \end{math} und
 \begin{math}\gg \end{math} genutzt werden.
\nomenclature{BT Datei}{leer} 
 
        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{flight-through-dem/enviro-1.eps}
        \caption[Screenshot VTP Enviro Auswahl Anzeigeparameter]{\label{enviro_1}Auswahl der Anzeigeparameter in VTP Enviro}
        \end{figure}


 
 \paragraph{Aufruf von VTP Enviro}Nach dem Aufruf von VTP Enviro
  wird das {\em Enviro Startup Men"u} gestartet. Mit {\em
  Select/Generic Terrain} erhlt man die M"oglichkeit, nicht
  vordefinierte DEMs anzuzeigen. Die Auswahl des DEM 
  geschieht durch {\em Edit Properties/Terrain Filename}.
  weiter sollten als Anzeigeparameter gesetzt sein: {\em Dynamic LOD
  Terrain} und {\em Texture/Derive texture from elevation}.
  Nach der Best"atigung {\em OK} dieser Einstellungen startet VTP
  Enviro. Grunds"atzlich gibt es zwei Anzeigemodi: {\em Earth}
   (Abb. \ref{enviro_3}) und
  {\em Terrain} (Abb. \ref{enviro_2}). {\em Earth} "offnet eine Globusansicht der Erde mit
  Markierungen fr vorhandenen anw"ahlbare {\em Terrain}-Ansichten
  wie z.B. das importierte DEM. Mit gedr"uckter mittlerer Maustaste
  l"asst sich der Globus rotieren und ein Linksklick auf eine
  Markierung "offnet die entsprechende {\em Terrain}-Ansicht. 
  \paragraph{Steuerung des Fluges}Die Navigation erfolgt mittels der
  Maus. Bei gedrckter linker Maustaste k"onnen Bewegungen nach
  vorne und rckwrts sowie seitliche Drehungen ausgefhrt werden.
  Die linke Maustaste kontrolliert die Flugh"ohe und Bewegungen nach
  Rechts und Links. Werden beide Maustasten gedr"uckt kann eine
  loopingartige Bewegung ausgefhrt werden. Das farbige Achsenkreuz
  dient zur Orientierung und als Cursor um Bildinformationen
  abzufragen. Die "`Zickzacklinie"\ im linken unteren Bildrand ist
  eine Visualisierung der momentan ausgegebenen frames per second
  (fps), also die Bildwiederholfrequenz von VTP Enviro.
  Die M"oglichkeit einer Aufzeichnung des Fluges besteht momentan
  noch nicht (Abb. \ref{enviro_3}).
 
      
        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{flight-through-dem/enviro-2.eps}
        \caption[Screenshot VTP Enviro Erdansicht]{\label{enviro_2}VTP Enviro im 
	Earth-Modus}
        \end{figure}


        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{flight-through-dem/enviro-3.eps}
        \caption[Screenshot VTP Enviro Flugansicht]{\label{enviro_3}VTP Enviro im Terrain-Modus beim Flug
	"uber das USGS-DEM Craterlake}
        \end{figure}

 


\section{Lsung mit GRASS}
\label{fly_over_dem_de:grass}
   Es wurde GRASS 5.0pre1 unter einer Red Hat GNU/Linux
    Installation verwendet.\\

    
    Der Befehl {\tt nviz} \index{nviz} mit den Parametern {\tt
    el=} fr die Rasterdatei mit H"oheninformationen, {\tt ve=} fr
    Vektordateien, z.B. H"ohenlinien und {\tt si=} f"ur Punktdateien
    "offnet eine GUI "`Graphische Benutzer Oberfl"ache" \  mit der
    das Programm bedient wird.\\ Diese GUI erm"oglicht es dem
    Benutzer, den Beobachtungspunkt "`Projektionszentrum", den
    "Uberh"ohungsfaktor {\em zexag} und das Blickfeld {\em
    perspective} dynamisch zu ver"andern. Mit dem Men"upunkt {\em
    Panel/Surface} wird das "`Oberfl"achen Schaltpult"\ aufgerufen,
    in welchem mit der Schaltfl"ache {\em color} georeferenzierte
    Rasterdateien als Texturen auf die 3D-Oberfl"ache gelegt werden
    k"onnen. Nach dem Ausw"ahlen und Akzeptieren einer Rasterdatei
    wird das 3D-Modell durch Anklicken der {\em Surface}
    Schaltfl"ache aktualisiert.\\
    Vektordaten, zum Beispiel H"ohenlinien
    k"onnen mittels {\em Panel/Vectors} in {\em
    nviz} "ubernommen werden. Mit der Schaltfl"ache {\em New}
    wird eine Vektordatei ausgew"ahlt und mit {\em Accept}
    eingelesen. Ein Klicken auf die Schaltfl"ache {\em Vectors}
    zeichnet die Monitorausgabe neu.\\ Einen "Uberflug definiert man
    mit dem Men"upunkt {\em Panel/Animation}. Hier sollten unter
    {\em total frames} f"ur eine rund 10 Sekunden lange Animation ca. 300
    frames "`Bilder, Rahmen"\ eingestellt werden. Man w"ahlt nun
    Projektionszentrum, Blickfeld u.s.w. f"ur den Anfangspunkt des
    Fluges aus. Mit dem Schieberegler {\em Key Frames} legt man den
    Zeitpunkt f"ur weitere Stationen des Fluges fest.  Die Anzahl
    der Frames zwischen den Key Frames ergibt die Dauer der
    einzelnen "`Einstellungen".  Die "`Kamerafahrten"\ von einem Key
    Frame zum n"achsten k"onnen {\em linear}, d.h. auf einer Geraden
    liegen, oder als {\em spline}, also als Aneinanderreihung von
    Kurvensegmenten, die die  Projektionszentren bestm"oglichst
    verbinden, definiert werden. \index{spline}
    \nomenclature{\bf Spline}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-spline-de.tex
Der Name "`Spline"' kommt ursprnglich aus dem Schiffsbau und wurde angewendet
auf solche dnne, elastische Holz- oder Metalllatten (Straklatten),
die zur Festlegung einer Kontur unter Spannung durch mehrere bestimmte
Punkt gelegt wurden. Ein Spline ist eine Kurve, die durch eine gegebene
Anzahl von Punkten verluft und diese mglichst glatt verbindet.
Die Punkte werden durch Polynome meist dritter Ordnung mit stetiger
erster Ableitung verbunden.\\
CAD-Lexikon\cite{cadglossar}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-spline-de.tex
} Mit dem {\em tension-Schieber} kann der Grad    der "`Anschmiegung"\ an die definierten Projektionszentren des
    Fluges beeinflusst werden.\\ Die Schaltfl"ache
    {\em run and save Images} "offnet
    ein Fenster in dem Pfad und Dateiname der Flugsequenz {\em Enter
    a base name} angegeben werden, weiter wird die Art der Datei
    {\em IrisRGB, PPM} oder {\em TIFF} definiert und es besteht die
    M"oglichkeit, sich den Flug als Drahtgittermodell {\em
    Wireframe} oder mit berechneter Oberflche {\em Full Rendering}
    \nomenclature{\bf Rendering}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-rendering-de.tex
Rendering ist die Wiedergabe einer dreidimensionalen Darstellung unter
Bercksichtigung aller Lichtquellen unter Verwendung von verschiedenen
Schattierungsverfahren.\\
Commando GmbH: Glossar\cite{commando}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-rendering-de.tex
} erstellen zu lassen. Die gespeicherten    Bilder m"ussen jetzt noch mit einem geeigneten Programm z.B.
    ppmtompeg oder sampeg zu einer MPEG-Datei zusammengefasst
    werden.\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > nviz el=rasterdata ve=hlinien si=data

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


    \paragraph{Tipps:}
    \begin{itemize}
    \item W"ahrend der Berechnung der einzelnen Frames sollte der
    Rechner nicht f"ur andere Arbeiten benutzt werden, da ansonsten
    "uber den nviz -Monitor gelegte Fenster in den Flug
    "ubernommen werden oder beim Arbeiten an anderen Konsolen nur
    noch ein schwarzes Bild produziert wird.
    \item Mit {\em File/Image Dump} k"onnen Einzelbilder gespeichert werden.
    \end{itemize}

\subsection{Zusammenfassen der Flugeinzelbilder zu einem Film}


   \subsubsection{Lsung mit Programm ppmtompeg} \index{ppmtompeg}
         \paragraph{Programmaufruf}
 Dem Programmaufruf {\em ppmtompeg} wird eine Parameterdatei bergeben die folgende
 Informationen enthlt:\\

\begin{kommando}
\begin{verbatim}

bash-2.05$ cat parameterdatei
  

   PATTERN  IBBPBBPBBPBB
   OUTPUT /home/heiko/flug/flympeg1 
   INPUT_DIR /tmp/flug/ 
   INPUT  
   fly*.ppm [00001-00349]  
   END_INPUT  
   BASE_FILE_FORMAT PPM  
   INPUT_CONVERT *  
   GOP_SIZE 16  
   SLICES_PER_FRAME 1  
   PIXEL HALF  
   RANGE 10  
   PSEARCH_ALG EXHAUSTIVE  
   BSEARCH_ALG CROSS2  
   IQSCALE 8  
   PQSCALE 10  
   BQSCALE 25  
   REFERENCE_FRAME DECODED 

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


   Wichtig sind hierbei die korrekten Pfadangaben fr Eingabe- {\em INPUT\_DIR /tmp/flug/}
   und Ausgabedateien {\em OUTPUT /home/heiko/flug/flympeg1}.\\
   Die in eckigen Klammern stehenden Zahlen geben die an {\em fly} anzuhgenden
   Dateibezeichnungen an.\\ 

\begin{kommando}
\begin{verbatim}

bash-2.05$ ppmtompeg parameterdatei

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

   
   \subsubsection{Lsung mit Programm sampeg} \index{sampeg}
         \paragraph{Programmaufruf}
    Ein beispielhafter Programmaufruf zur Erzeugung einer MPEG-1 Datei w"are:\\
  
\begin{kommando}
\begin{verbatim}

bash-2.05$ sampeg-2 -1 -Y /tmp/flug/newfly%05d.ppm
/home/test/flug/fly-2.1.mpg 

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


   Dabei bestimmt {\em -1} das Format MPEG-1, {\em -Y} setzt als Eingabeformat PPM-Dateien.
   {\em /tmp/flug/newfly\%05d.ppm} bezeichnet den Eingangspfad, wobei {\em \%05d} ein
   Platzhalter fr eine 5-stellige Dezimalzahl ist von der aus aufsteigend alle
   vorliegenden Frames abgearbeitet werden. Der Ausgabepfad ist in diesem Beispiel
   {\em ~/flug/fly-2.1.mpg} also im Heimatverzeichniss der Ordner {\em flug} und die
   Dateibezeichnung {\em fly-2.1.mpg}. 

\subsubsection{L"osung mit mpeg\_encoder}
Eine weitere M"oglichkeit zum Zusammenfassen der Einzelbilder ist unter \footnote{http://grass.itc.it/nviz/index.html} beschrieben.
%%% TEXEXPAND: END FILE ./flight-through-dem/flight-through-dem-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./web-mapping/web-mapping-de.tex

\chapter{Dynamische Karten im WWW (Web Mapping)}
\label{web_mapping_de}
\subsubsection{Aufgabenstellung}
Web Mapping bietet die Mglichkeit, Rasterkarten und/oder Vektorkarten
interaktiv in einem Datennetz, meist dem Internet, zu prsentieren.
Typische Grundfunktionen sind zoomen und verschieben der Karte
(Navigation auf der Karte), und das Verbinden von Hyperlinks (URLs)
mit Orten die in der Karte dargestellt sind.

\subsubsection{Beispieldaten}
Bei der Anwendung MapIt! werden die im Programmpaket enthaltenen 
Beispieldaten verwendet.\newline
Fr Mapserver werden Daten des Craterlakes aus den Kapiteln \ref{computing_contur_lines_de}
Seite \pageref{computing_contur_lines_de:grass} und \ref{georeferencing_de}
Seite \pageref{georeferencing_de:grass} sowie weitere Datenstze (Shapefiles "uber Stra"sen und
H"ohenlinien) des USGS Crater Lake Data 
Clearinghouse\footnote{http://craterlake.wr.usgs.gov/dlg.html} verwendet.


%\subsubsection{Weitere Verwendung der Beispieldaten}

\section{L"osung mit MapIt!}
\label{web_mapping_de:mapit!}
Es wurde MapIt! 1.0.1-1 unter einer Debian GNU/Linux
Installation (woody) und unter Windows 2000 verwendet.\\

Das Programm MapIt! bietet die Mglichkeit via Web-Browser auf
Rasterkarten zu navigieren, hinein- und herauszuzoomen sowie
darzustellende Objekte/Objektklassen auszuwhlen und auf der
Karte zu identifizieren. Es knnen vorhandenen Webserver durch
cgi, fastcgi oder Python-Modul benutzt werden oder um schnell
Ergebnisse zu erzielen, d.h. eine Karte im Netz, kann der gleich
mitgelieferte in Python programmierte Webserver benutzt werden.
Da Mapit durch die systemunabhngige Programmierung in Python
sowohl unter GNU/Linux als auch unter Windows luft knnen
die aufbereiteten Daten problemlos auf diesen Systemen benutzt werden. 

\subsection{Vorbereitung}
Um auf schnellem Wege zu Ergebnissen zu kommen bietet es sich sowohl
unter Windows wie auch unter GNU/Linux an die unter
\footnote{http://www.mapit.de/download.de.html} vorhandene
Schnellinstallation auszuf"uhren die gleichzeitig einen
Beispieldatensatz enthlt. Diese Beispieldaten ersetzt man Schritt fr
Schritt mit den eigenen und hat so sehr schnell und einfach
beispielsweise eine Karte oder ein Luftbild/Orthophoto ber
ein Netzwerk prsentiert.
\paragraph{GNU/Linux}
Nachdem sowohl die Mapit- und python-imaging rpms\index{rpm}
 mit {\tt rpm -i Dateiname} installiert wurden kann das 
Skript {\tt mapitdemo} unter {\em /opt/mapit} ausgefhrt werden.\\

        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{web-mapping/mapit-1.eps}
        \caption[Screenshot MapIt!]{\label{mapit_1}Vom MapIt! Webserver generierte Seite mit
	prsentierter Karte "`Herne"'}
        \end{figure}
	
\nomenclature{rpm}{leer}
\nomenclature{\bf IP-Adresse}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-ipadresse-de.tex
Jeder Rechner im Internet wird durch seine weltweit eindeutige,
32 Bit grosse IP-Adresse identifiziert. Der besseren Lesbarkeit halber
wird die IP-Adresse als vier durch Punkte abgetrennte einzelne Byte,
d.h. Zahlen zwischen 0 und 255, dargestellt.\\
Thomas Herrmann, Klaus Hohmann\cite{herrmann}
%%% TEXEXPAND: END FILE ./glossary-de/glossary-ipadresse-de.tex
}\nomenclature{\bf HTTP}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-http-de.tex
HTTP (Hyper Text Transfer Protocoll), Protokoll fr die "Ubermittlung
von HTML-Seiten. 
%%% TEXEXPAND: END FILE ./glossary-de/glossary-http-de.tex
}\nomenclature{\bf URL}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-url-de.tex
Abkrzung fr Unified Resoure Locator (etwa "`einheitliche
Quellen-Ortsbeschreibung'"). Mit Hilfe des URL knnen smtliche
Informationen im Internet weltweit eindeutig adressiert werden.\\
Thomas Herrmann, Klaus Hohmann\cite{herrmann}

%%% TEXEXPAND: END FILE ./glossary-de/glossary-url-de.tex
}

\begin{kommando}
\begin{verbatim}

grassuser@xml-2:/opt/mapit > mapitdemo

Open http://127.0.0.1:31415/index.html in your WebBrowser to start.
Hit Ctrl-C twice in this Window to stop.

You will see detailed log information in this window.
If you get an error message, check whether there is an
old mapitdemo still running.
Serving HTTP on port 31415 ...
intevation.de - - [18/Oct/2001 13:57:42] "GET / HTTP/1.1" 200 -
intevation.de - - [18/Oct/2001 13:57:43] code 404, message
File not found
intevation.de - - [18/Oct/2001 13:57:43] "GET /favicon.ico
HTTP/1.1" 404 -
intevation.de - - [18/Oct/2001 13:57:44] "GET /simple/Icons/
top.fancy.png HTTP/1.1" 200 -
intevation.de - - [18/Oct/2001 13:57:44] "GET /simple/Icons/
left_top.fancy.png HTTP/1.1" 200 -
intevation.de - - [18/Oct/2001 13:57:44] "GET /simple/Icons/
right_top.fancy.png HTTP/1.1" 200 -

\end{verbatim}
\end{kommando}\

Jetzt kann ausgehend von dem lokalen als auch von jedem Rechner zu dem
eine http - Verbindung besteht, die vom Webserver generierte Seite mit der
prsentierten Karte aufgerufen werden (Abb. \ref{mapit_1}).
Dies geschieht indem man in einem Webbrowser den MapIt! - Webserver
auf dem Port 31415 anwhlt. Laufen Webserver und Webbrowser auf einem
Rechner, so ist der Aufruf {\tt http//:localhost:31415} 
oder {\tt http//:127.0.0.1:31415} 
oder auch {\tt http//:IP-Adresse des Rechners:31415}. 
Fr einen Rechner im Netzwerk wird die IP-Adresse des Rechners
mit angehngtem Port aufgerufen {\tt http//:IP-Adresse des Rechners:31415}.  
Die an der Kommandozeile des Webservers ausgegebenen folgenden
Zeilen , zum Beispiel 
{\em intevation.de - - [18/Oct/2001 11:29:53] "GET / HTTP/1.0" 200 -}
geben Auskunft darber das von einem Rechner der intevation.de Domain aus 
der MapIt! - Webserver angesprochen wird.
\paragraph{Windows}
Ist die Installationsroutine unter Windows erfolgreich abgeschlossen
worden, kann aus dem {\em Startmenu} heraus ber den Menpunkt
{\em MapIt!} der Webserver aufgerufen werden.
Gleichzeitig wird der als Grundeinstellung in Windows
konfigurierte Webbrowser gestartet. Auch hier gibt der Webserver Informationen
"uber die ankommenden Anfragen an die Kommandozeile aus (Abb. \ref{mapit_2}).

        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{web-mapping/mapit-2.eps}
        \caption[Screenshot MapIt! Staus unter Windows]{\label{mapit_2}Vom MapIt! Webserver
	ausgegebene Statusinformationen unter Windows}
        \end{figure}

\subsection{Struktur des Beispieldatensatzes}
Ein erstellter Datensatz fr MapIt! kann sowohl unter Windows als auch
unter GNU/Linux verwendet werden. Die Steuerung von MapIt!
geschieht durch Konfigurationsdateien.
\paragraph{Die Konfigurationsdatei {\em mapconfig.py}}
In der Datei {\em mapconfig.py} wird die grundlegende
Konfiguration von MapIt! festgelegt. In der Sektion
{\em The Tile Data} definiert man unter
{\em \_base\_dir = '../../examples/herne/'} den Ort des 
Verzeichnises in dem die {\em Tiles} gespeichert werden.
{\em scale = 250000} gibt die Aufl"osungsstufe an die als 
Gundeinstellung bei jedem Auffruf der Webseite geladen wird.
Soll das Zentrum der Darstellung nicht in der Mitte der
Bilddatei liegen kann "uber {\em default\_x = , default\_y = }
ein abweichendes Darstellungszentrum definiert werden.
Die Art der Bilddateien wird in der Zeile {\em tile\_ext = '.png'}
in diesem Fall auf .png - Dateien festgelegt.\\

\begin{kommando}
\begin{verbatim}

#
# The Tile Data
#
# _base_dir is only used within this file
# this path points to the directory containing the data
# (tiles, markers, etc.)
_base_dir = '../../examples/herne/'

# The default scale to use
scale = 250000

# The default location to use. None means the center of the map
default_x = None
default_y = None

# data_dir is the name of the directory where the map tiles can be
# found.
tile_dir = _base_dir + '/tiles'

# The file extension of the tile files
tile_ext = '.png'

\end{verbatim}
\end{kommando}\

Die Sektion {\em \# Output format and size} steuert die Ausgabe des
Webservers, unter anderem wird mit {\em output\_pil\_format = 'JPEG'}
die Python Imaging Libary(pil) angewiesen als Ausgabeformat ein .jpeg
zu erzeugen. {\em \# Default image size in pixels} legt
die Gr"o"se des Kartenfensters fest das vom Webserver an den Browser
geliefert wird.\\
\nomenclature{\bf jpeg}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-jpeg-de.tex
JPEG (Joint Photographic Expert Group) ist ein Standard fr die Darstellung und Komprimierung von Bildern.

%%% TEXEXPAND: END FILE ./glossary-de/glossary-jpeg-de.tex
}\begin{kommando}
\begin{verbatim}

# Output format and size

# The MIME type of the format
output_mime = 'image/jpg'

# The PIL name of the format. This is passed to a PIL Image's save
# method. Obviously the values of output_pil_format and 
# output_mime have to match
output_pil_format = 'JPEG'

# The values needed for PNG output
#output_mime = 'image/png'
#output_pil_format = 'PNG'

# Default image size in pixels
image_width = 400
image_height = 400


\end{verbatim}
\end{kommando}\
\paragraph{Das Verzeichnis {\em tiles}}
Die darzustellenden Bilddaten
befinden sich in dem Beispieldatensatz in dem Verzeichnis
{\em examples/herne/tiles}. Hier gibt es nun 4 Unterverzeichnise
in denen sich die Bilddaten fr jeweils eine
Vergrerungsstufe befinden. Diese Vergrerungsstufen
werden von MapIt! dem numerischen Wert nach geordnet.
Die Benennung ist mu nicht dem tatschlichen
Mastab der Daten folgen, dies h"atte wenig Sinn, da sich je nach eingestellter 
Bildschirmaufl"osung die gr"o"se der am Browser ausgegebenen Bilddaten "andert.
In diesen "`Tiles"\ (engl. fr Kacheln) - Verzeichnissen befinden sich die 
Bilddaten in Form von einer oder mehreren Kacheln gleicher Gr"o"se.
Das Auseinanderschneiden in Kacheln ist hilfreich, um den Bildaufbau 
durch den Webserver zu beschleunigen. Es mu nicht mehr das ganze Bild
einer Zoomstufe geladen werden, um den angeforderten Teilbereich an den
Webbrowser zu liefern, sondern nur die betroffenene Kacheln.
Dieses wird im Ordner {\em /opt/mapit/examples/herne/tiles/10000} deutlich.
Die Kacheln werden ausgehend von der linken unteren Ecke aufsteigend 
in der Form {\em horizontale Nummerierung x vertikale Nummerierung . Dateierweiterung}
benannt.{\em 1x1.png} ist also die linke untere Kachel in der das Bildmaterial
im PNG - Format gespeichert ist. {\em 5x3.png} wre somit die Kachel in der 
dritten Zeile von unten an gezhlt die fnfte Kachel vom linken 
Rand aus gesehen. 
\paragraph{Informationsdatei zu den Kacheln}
In jedem Ordener Unterhalb des {\em tiles} - Verzeichnises in dem
Bilddaten einer Aufl"osungsstufe gespeichert sind ist eine 
Informationsdatei vorhanden in der Daten zu den Kacheln 
gespeichert sind. Der Aufbau dieser {\em info} - Dateien kann mit jedem
Editor betrachtet werden oder auch mit dem Befehl {\tt cat Dateiname}.\\

  
\begin{kommando}
\begin{verbatim}

bash-2.05$ cat info


2000
2000
# [1,1]
416341578.400
571862863.000
416510911.733
572032196.333
# [1,2]
416341578.400
572032196.333
416510911.733
572201529.667
# [1,3]
416341578.400
572201529.667
416510911.733
572370863.000

\end{verbatim}
\end{kommando}\

Die ersten beiden Zahlen bezeichnen die Ausdehnung der einzelnen
Kacheln angegeben in Pixel, in diesem Fall also 2000 * 2000 Pixel.
Beginnend mit jedem {\em \#} wird in den eckigen Klammern eine 
Kachel benannt fr die im folgenden die linke untere und rechte obere
Bildecke mit Koordinatenwerten bezeichnet wird. Hierdurch knnen
im weiteren Verlauf Symbole direkt ber Koordinatenangaben
(in diesem Fall Gau"s-Kr"uger) in der Karte in allen
Aufl"osungsstufen plaziert werden. Da die Auflsungsstufe
100000 Beispielsweise nur durch eine Kachel
reprsentiert wird hat die info - Datei die folgende Form. Die
Gr"o"se der Kachel Nummer {\em 1x1} ist 1000 * 1000 Pixel,
in den nchsten 4 Zeilen sind jeweils wieder die Koordinatenpaare
der linken unteren und rechten oberen Ecke aufgefhrt.\\


\begin{kommando}
\begin{verbatim}

1000
1000
# [1,1]
416341578.400
571862863.000
417188245.067
572709529.667

\end{verbatim}
\end{kommando}\

\paragraph{Das Verzeichnis {\em markers}}
In diesem Verzeichnis werden die Symbole im .png - Format gespeichert,
die in der dargestellten Bilddatei einen Ort kennzeichnen. 
\paragraph{Das Verzeichnis {\em icons}}
Das Verzeichnis Icons beeinhaltet alle zur Webseitengenerierung
notwendigen Elemente wie Schalter, Rahmen, Pfeile u.s.w. wiederum
im .png - Format.
\paragraph{Die Konfigurationsdatei {\em markerdefs}}
In dem Beispieldatensatz ist diese Datei einmal in deutsch 
(matkerdefs.de) und in englisch (markerdefs.en) vorhanden.
In ihnen werden die auszugebenen Objekte definiert und es wird
bestimmt wo und wie sie dargestellt werden. Die Datei ist nach Gruppen 
gegliedert aufgebaut. Leere Zeilen und Zeilen, die mit einem Doppelkreuz
(\#) anfangen, werden ignoriert. Eine Gruppe wird durch eine Zeile
definiert, die mit dem Schlsselwort "group:"\ anfngt, gefolgt von
vier durch Komma getrennten Werten. Der erste Wert {\em db} ist der Name
des zu verwendenden Symbols aus dem Verzeichnis {\em markers}.
Der zweite Wert bezeichnet die Gruppe mit einem eindeutigen Namen {\em bahnhof}.
in dem Leerraum zwischen den beiden folgenden Kommatas kann eine URL
in der Form {\em http://www.mapit.de} eingegeben
werden die beim anklicken eines Objektes der Gruppe aufgerufen
wird f"u das keine spezifische URL angegeben ist. Der vierte Eintrag
schlielich ist der Name unter dem die Gruppe auf der generierten 
Webseite erscheint. 
\\
%\nomenclature{URL}{leer} 

\begin{kommando}
\begin{verbatim}

group: db,bahnhof,,Bahnhfe
416837551.50,572293916.00,db,bahnhof,,Herne
416702461.80,572512765.30,db,bahnhof,,Recklinghausen Sd
416738098.40,572018523.00,db,bahnhof,,Bochum-Nokia
416479774.90,572187957.70,db,bahnhof,,WANNE-EICKEL HBF
group: ubahn,ubahn,,U-Bahn Stationen
416851273.00,572306182.00,ubahn,ubahn,,U Herne
416869341.00,572269123.00,ubahn,ubahn,,U Herne Mitte
416823616.00,572396147.00,ubahn,ubahn,,U Schlo Strnkede
416853251.00,572139861.00,ubahn,ubahn,,U Hlkeskampring
416812730.00,572074791.00,ubahn,ubahn,,U Herne-Berninghausstrasse
416895683.00,572206515.00,ubahn,ubahn,,U An der Kreuzkirche
416775106.00,571969359.00,ubahn,ubahn,,U Bochum-Rensingstrasse
416771838.00,571920835.00,ubahn,ubahn,,U Riemke Markt

\end{verbatim}
\end{kommando}\

Unterhalb des Gruppendefinition werden Zeilenweise die Objekte jeder 
Gruppe aufgefhrt. Begonnen wird dabei mit dem jeweiligen
Koordinatenpaar das die Position des Objektes angibt. Weiter wird wieder
das Symbol aus dem Verzeichnis {\em markers} angegeben, hier kann
durchaus fr jedes Objekt einer Gruppe ein unterschiedliches
Symbol definiert werden, der Gruppenname{\em bahnhof},
Platz fr einen URL - Aufruf, und als letzte Angabe ein Name
fr das Objekt der in der Webseite eingeblendet wird wenn
der Cursor ber dem Objekt steht. 
\paragraph{Die Datei {\em simple.de.template}}
Auch diese Datei gibt es im Beispieldatensatz in einer deutschen 
{\em simple.de.template} und englischen {\em simple.en.template} Version.
In ihr wird der Aufbau der HTML - Seite\nomenclature{HTML}{leer} festgelegt die von
dem Webserver an den Browser "ubermittelt wird.

\subsection{Bildkacheln selbst erzeugen}
Um aus einer vorhandenen Bilddatei ein {\em tiles} - Verzeichnis
mit beliebig vielen Vergr"o"serungsstufen zu erzeugen kann man das
Bildbearbeitungsprogramm seines Vertrauens bem"uhen oder man benutzt
das Python - Skript {\em epscut} das sich unter {\em /opt/mapit/src/tools}
befindet. Dieses Skript erzeugt aus einer Postskript (.ps) - Bilddatei
in eine angegebene Anzahl von Auflsungsstufen mit vorher zu definierender
Kachelanzahl. Gleichzeitig wird eine passende Info - Datei erzeugt, so
das anstatt des urspr"unglichen {\em tiles} - Verzeichnisbaumes
einfach der neu erzeugte verwendet werden kann.
\paragraph{Anpassen des {\em epscut} Skriptes}
In Zeile 275 des Skriptes wird die Anzahl der Auflsungsstufen und die 
jeweilig zu erzeugende Anzahl von Kacheln bestimmt. Bei der Angabe
 von {\em factors = (1, 2, 4, 8)} wrden also 4 Aufl"osungsstufen mit 
jeweils 1, 4, 16 und 64 Kacheln erzeugt. Die Anzahl der Kacheln ergibt
sich aus dem Quadrat der angegebenen Faktoren. Im folgenden Beispiel sind
als Faktoren {\em factors = (1, 2)} angegeben, m"oglich w"aren aber
auch {\em factors = (1, 2, 3, 5)} was natrlich 1, 4, 9 und 25 Kacheln 
erzeugen wrde.
Zum Aufruf wird die zu bearbeitende {\em 179.ps} - Datei einfach mit in das 
Verzeichnis kopiert indem sich {\em epscut} befindet.
Mit dem Aufruf {\tt ./epscut 179.ps} wird das Skript gestarted und liefert 
eine Folge von Textausgaben an der Kommandozeile die mit der Ausgabe 
der benutzten Transformationsparameter abschliet. Die erzeugten
Kacheln liegen in dem {\em /opt/mapit/src/tools} - Verzeichnis 
in einem Ordner {\em 179}.\\

\begin{kommando}
\begin{verbatim}

bash-2.05$ ./epscut 179.ps
gs -sDEVICE=ppmraw -r72 -dNOPAUSE -dSAFER -q  -sOutputFile=/tmp/@821.1
-g400x400 -c "0.035730 0.035733 scale -14.000000 -14.000000 
translate /oldshowpage /showpage load def /showpage {} 
def"  -f179.ps -c oldshowpage quit
writing 179/2/1x1.png
gs -sDEVICE=ppmraw -r72 -dNOPAUSE -dSAFER -q  -sOutputFile=/tmp/@821.2
-g400x400 -c "0.071460 0.071467 scale -14.000000 -14.000000
translate /oldshowpage /showpage load def /showpage {}
def"  -f179.ps -c oldshowpage quit
writing 179/1/1x1.png
gs -sDEVICE=ppmraw -r72 -dNOPAUSE -dSAFER -q  -sOutputFile=/tmp/@821.3
-g400x400 -c "0.071460 0.071467 scale -5611.500000 -14.000000
translate /oldshowpage /showpage load def /showpage {}
def"  -f179.ps -c oldshowpage quit
writing 179/1/2x1.png
gs -sDEVICE=ppmraw -r72 -dNOPAUSE -dSAFER -q  -sOutputFile=/tmp/@821.4
-g400x400 -c "0.071460 0.071467 scale -14.000000 -5611.000000
translate /oldshowpage /showpage load def /showpage {}
def"  -f179.ps -c oldshowpage quit
writing 179/1/1x2.png
gs -sDEVICE=ppmraw -r72 -dNOPAUSE -dSAFER -q  -sOutputFile=/tmp/@821.5
-g400x400 -c "0.071460 0.071467 scale -5611.500000 -5611.000000
translate /oldshowpage /showpage load def /showpage {} 
def"  -f179.ps -c oldshowpage quit
writing 179/1/2x2.png
Transformation from EPS-coordinates (px, py)
to MapIt! coordinates (mx, my):
mx = 0.071460473425636439 * (px - 14)
my = 0.07146685724495265 * (py - 14)
bash-2.05$

\end{verbatim}
\end{kommando}\

\subsection{Navigation im Browser}
Wird eine von {\em MapIt!} erzeugte Seite in in einem Webbrowser
aufgerufen, ist die weitere Navigation und Benutzung denkbar einfach.
Das Zoomen geschieht "uber die "`Lupen-Icons"\, in einer vergr"o"serten
Ansicht kann der Bildausschnitt mit den "`Pfeil-Icons"\ oder durch
anklicken des zu zentrierenden Punktes in der Karte gew"ahlt werden.
Die in der "`Markierungsliste"\ angew"ahlten Objektklassen 
({\em groups}) werden durch den Button "`Anzeigen"\ in aufgerufen 
(Abb. \ref{mapit_3}).

        \begin{figure}[h]
        \centering
        \includegraphics[width=0.8\textwidth]{web-mapping/mapit-3.eps}
        \caption[Screenshot MapIt!]{\label{mapit_3}Vom MapIt! Webserver
	generierte Seite mit prsentierter Karte "`Herne"\ und 
	aufgerufenen Markierungen fr "`Bahnhfe"\ , "`Krankenh"auser"\
	und "`Post"amter"'}
        \end{figure}


\section{L"osung mit MapServer}
\label{web_mapping_de:mapserver}
Es wurde MapServer 3.5 (nightly build vom 30.Oktober 2001) unter einer SuSE GNU/Linux Installation (7.0) und GRASS 5.0pre2 unter einer Debian GNU/Linux
 Installation (woody) verwendet.\\


Sollen nicht nur reine Bilddateien in einem Netzwerk zug"anglich
gemacht werden sondern auch Vektor- oder Sachdaten, so kann man 
MapServer benutzen. Einen kleinen Einblick in die Vielzahl der 
mit MapServer m"oglichen Anwendungen gewinnt man unter
\footnote{http://mapserver.gis.umn.edu/gallery.html}.
F"ur das FreeGIS Tutorial greifen wir auf die bekannten Daten
des "`Craterlake"'\ zurck \footnote{http://craterlake.wr.usgs.gov/}.
Hier knnen neben den Bilddateien auch Vektordaten Beispielsweise
in Form von H"ohenlinien "`Hypsography"'\, Verwaltungsgrenzen 
"`Boundary"\ oder Stra"sen "`Road"'\ als Shapefiles\index{Shapefiles}
\nomenclature{Shapefiles}{leer} heruntergeladen werden.
\subsection{Vorbereitung}
Zur Instalation auf einem GNU/Linux System entpackt man
die MapServer Distribution mit dem Kommando {\tt tar -zxf ms\_3.5.tar.gz},
wechselt mit {\tt cd mapserver} in das erzeugte Verzeichnis,
erstellt mittels {\tt ./configure} ein Makefile\nomenclature{makefile}{leer}.
Die dem {\tt configure} angeh"angten Optionen
ergnzen das eigentlich erzeugte Programm um weitere Funktionen
wie zum Beispiel das Erkennen und Erzeugen von {\tt .tiff} oder{\tt .png}
- Dateien. Eine Liste mit den m"oglichen Optionen erh"alt man durch
den Befehl {\tt configure --help}.\\

\begin{kommando}
\begin{verbatim}

freegis@xml-2:~/tmp/mapserver > configure --with-png --with-jpeg
--with-tiff
loading cache ./config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for c++... (cached) c++
checking whether the C++ compiler (c++  ) works... yes
checking whether the C++ compiler (c++  ) is a cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking for ranlib... (cached) ranlib
checking for flex... (cached) lex
checking for yywrap in -ll... (cached) no
checking for bison... no
checking for byacc... no
checking if compiler supports -R... (cached) no
checking if compiler supports -Wl,-rpath,... (cached) yes
checking for exp in -lm... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking for strcasecmp... (cached) yes
checking for strncasecmp... (cached) yes
checking for strdup... (cached) yes
checking whether we should include JPEG support...
checking for jpeg_read_header in -ljpeg... yes
        using libjpeg from system libs.
.
.
.
checking for PHP/MapScript module options...
        PHP/MapScript module not configured.
creating ./config.status
creating Makefile

\end{verbatim}
\end{kommando}\

Nachdem erfolgreichen Erzeugen eines Makefiles wird die
bersetzung des Quelltextes in ausfhrbaren Code mit {\tt make}
gestartet.\\

\begin{kommando}
\begin{verbatim}

freegis@xml-2:~/tmp/mapserver > make
gcc -c -O2  -Wall -DIGNORE_MISSING_DATA  -DUSE_EPPL -DUSE_TIFF
-DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT
-I/usr/local/include mapbits.c -o mapbits.o
gcc -c -O2  -Wall -DIGNORE_MISSING_DATA  -DUSE_EPPL
-DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP
-DUSE_GD_FT-I/usr/local/include
.
.
.
USE_GD_WBMP -DUSE_GD_FT       -I/usr/local/include
tile4ms.c -o tile4ms.o
gcc -O2  -Wall -DIGNORE_MISSING_DATA  -DUSE_EPPL -DUSE_TIFF
-DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP
-DUSE_GD_FT -I/usr/local/include tile4ms.o  -L.
-lmap -lgd -L/usr/local/lib -lgd -ljpeg
-lfreetype -lpng -lz  -ltiff -ljpeg -lfreetype
-lpng -lz  -ljpeg         -lm   -o tile4ms
freegis@xml-2:~/tmp/mapserver > cp mapserv /usr/local/httpd/cgi-bin/ 

\end{verbatim}
\end{kommando}\
 
Die so erzeugte binre "'cgi-Datei"\ {\em mapserv} wird in
das entsprechende Verzeichnis des Web-Servers fr "`cgi-skripte"  
kopiert, der hier angegebene Verzeichnispfad
{\em /usr/local/httpd/cgi-bin/} ist ein m"oglicher Ort.
Es ist darauf zu achten, da"s dieses "'cgi-Skript"\
von jedermann ausgefhrt werden kann. Ntigenfalls
k"onnen mit {\tt chmod 755 mapserv} die ntige
Berechtigung erteilt werden, diese muss natrlich auch fr das
Verzeichnis {\em /usr/local/httpd/cgi-bin/} gelten.

\paragraph{Test des cgi-Skriptes}
Um das erstellte cgi-Skript und dessen Installation zu testen,
kann man mit einem beliebigen Browser das Skript direkt aufrufen
und sollte die Ausgabe {\em No query information to decode.
QUERY\_STRING is set, but empty.} bekommen (Abb. \ref{mapserver_1}).

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{web-mapping/cgi-test.eps}
\caption[Screenshot der Testausgabe]{\label{mapserver_1}Test des
Mapserver cgi-Skriptes}
\end{figure}

\paragraph{Bildmaterial}Als grundlegende Bilddateien k"onnen die
im Kapitel \ref{sec:rasterdaten_geokodieren} georeferenzierten
Orthophotos und Karten des Gebietes "`Craterlake"\ genutzt werden.
Alternativ liegen die entsprechenden Dateien dem Tutorial bei 
oder k"onnen von der Webseite heruntergeladen werden.
MapServer untersttzt hierbei zum Beispiel {\em .tiff} - Dateien
mit dazugehrigen {\em .tfw} - Dateien (Tiff World File) deren 
Dateiendung allerdings in {\em .wld} ge"andert werden mu"s.
Beispielhaft wird nun der Export einer Rasterdatei "`karte"\ mit
zugeh"origer {\em .tfw} - Datei aus dem GIS - Programm GRASS 
beschrieben. Nachdem wie im Kapitel \ref{sec:rasterdaten_geokodieren}
 Seiten \pageref{sec:rasterdaten_geokodieren} ff beschrieben die
Bilddateien in GRASS importiert und georeferenziert wurden, 
geschieht der Export als {\em .tiff} - Datei mit dem Kommando
{\tt r.out.tiff -t input=karte output=karte} wobei die Option
{\em -t} das gew"unschte {\em .tfw} Worldfile erzeugt.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > r.out.tiff -t input=karte output=karte 

\end{verbatim}
\end{kommando}\

Der Aufbau des Worldfile wird deutlich, wenn man es betrachtet.
Dazu wechselt man mittels {\tt cd } in das entsprechende 
Verzeichnis und ruft das Worldfile in einem Editor oder einem Dateibetrachter auf.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > r.out.tiff -t input=karte output=karte 
GRASS:~ > cd /spare/gisdata/craterlake
GRASS:/spare/gisdata/craterlake > cat karte.tfw 

                  30.007278020378457
                   0.000000000000000
                   0.000000000000000
                 -30.004992867332383
              550855.003639010246843
             4775079.997503566555679

GRASS:/spare/gisdata/craterlake >


\end{verbatim}
\end{kommando}\

Die erste Zeile {\em 30.0072} gibt die horizontale Pixelgr"o"se
in Metern an, die n"achste 2 Zeilen sind Rotations - Koeffizienten
die im Normalfall gleich Null sind. In der vierten Zeile ist die 
vertikale Ausdehnung eines Pixels angegeben, da bei Bilddateien
im allgemeinen der Ursprung in der oberen linken Ecke ist hat 
diese Angabe ein negatives Vorzeichen. Die beiden letzten Zeilen
enthalten die Koordinaten des Zentums des obersten linken Pixels,
in diesem Fall UTM Koordinaten der Zone 10.

\subsection{Erstellung der MapServer - Anwendung}
In einem fr den Webserver zug"anglichen Verzeichnis,
Beispielsweise {\em /usr/local/httpd/htdocs/mapserver/ms\_demo} wird eine
Verzeichnisstruktur mit den Verzeichnisen {\em data}, {\em
graphics} und {\em symbols} erzeugt. Dies geschieht durch den Befehl
{\em mkdir}. In das Verzeichnis {\em data} werden die Shapefiles
abgelegt, in {\em graphics} die {\em .tiff} - Files und {\em .wld} -
Files. Das Umbenennen der {\em .twf} in {\em .wld} - Dateien
geschieht mittels des Move Kommandos {\tt mv karte.twf karte.wld}.
Das Verzeichnis {\em symbols} enth"alt die n"otige Symboldateien.
Weiter werden 3 {\em .html} Dateien vom cgi - Skript bentigt um mit
ihrer Hilfe die Webseiten zu generieren und sie vom Webserver an den 
Browser zu liefern. Eine mit dem Kommando {\tt dir} erzeugte
Datei"ubersicht sollte "ahnlich der folgenden sein.\\

\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > dir
insgesamt 40
drwxr-xr-x    4 freegis  users        4096 Okt 30 12:35 data
-rwxr-xr-x    1 freegis  users        1875 Okt 30 15:13 demo.html
-rwxr-xr-x    1 freegis  users        4021 Okt 30 16:44 demo.map
-rwxr-xr-x    1 freegis  users          83 Okt 30 09:46 demo_header.html
-rwxr-xr-x    1 freegis  users        1276 Okt 30 10:49 demo_init.html
drwxr-xr-x    3 freegis  users        4096 Okt 30 15:29 graphics
drwxr-xr-x    2 freegis  users        4096 Okt 30 09:46 symbols

\end{verbatim}
\end{kommando}\

\paragraph{demo\_init.html}Das fhrende {\em d} in einigen 
Zeilen sagt aus, dass es sich um
Verzeichnise (directories) und nicht um Dateien handelt.
Beginnen wir mit der Datei {\em demo\_init.html}, um sie zu
erstellen, "offnet man den Editor der Wahl und erzeugt folgenden
Text, oder man kopiert die Datei von der dem Buch beiliegenden CD
oder von der Webseite des Free GIS Tutorials.\\

\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat demo_init.html

<html>
<head><title>MapServer Demo Interface</title></head>
<body bgcolor="#FFFFFF">
 
<center><h2>MapServer Demo Interface</h2></center>
<p><hr><p>
Click on the initialize button to fire up the demo. 
 
<p>
 
<form method=GET action="/cgi-bin/mapserv">
 
<input type="hidden" name="map" value="/usr/local/httpd
/htdocs/mapserver/demo.map">
<input type="hidden" name="zoomsize" value=2>
 
<center><input type="submit" value="Initialize"></center>
 
</form>
 
<p><hr><p>
 
</body></html>

\end{verbatim}
\end{kommando}\

Wird diese in einem Webbrowser mit
{\em http://localhost/msdemo/mapserver/demo\_init.html} aufgerufen
sollte sich ein Bild "ahnlich (Abb \ref{mapserver_2}) ergeben.

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{web-mapping/demo-init.eps}
\caption[Screenshot Mapserver Aufruf]{\label{mapserver_2}Vom
Webserver generierte startseite demo\_init.html}
\end{figure}

\paragraph{demo\_header.html}Weiter wird eine Datei
{\em demo\_header.html} ben"otigt, die aber
nur den Text der Kopfzeile und die Grundfarbe zu generierenden
Webseite enth"alt. Entsprechend kurz ist der eigentliche Text
der Datei.

\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat demo_header.html

<html>
<head><title>MapServer Demo Interface</title></head>
<body bgcolor=#FFFFFF>

\end{verbatim}
\end{kommando}

Die wichtigeren Dateien sind die {\em demo.html} in der das
eigentliche Aussehen der Webseite beschrieben wird und die {\em
demo.map} die die Verbindungen zu den darzustellenden Daten
definiert. Zuerst die {\em demo.html} die ein Template also 
ein Muster oder eine Schablone der Webseite beinhaltet. 

\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat demo.html

<html>
<head><title>MapServer Demo Interface</title></head>
<body bgcolor=#FFFFFF>

<center><h1>MapServer Demo Interface</h1></center>
<hr>
<form method=GET action="/cgi-bin/mapserver/mapserv">

<center>
<table border=2 cellpadding=10 width=100%>
<tr>
<td align=center>
<INPUT NAME="img" TYPE="image" SRC="[img]" width=600 height=600></A><p>
<img src="[scalebar]">
</td>
<td>

<input type="submit" value="Refresh/Query"><p>

<input type="radio" name="mode" value="browse" checked>
<b>Browse map</b><br>
<input type="radio" name="mode" value="query"> <b>Query feature</b><br>
<input type="radio" name="mode" value="nquery"> 
<b>Query multiple features</b>

<hr>
<center><a href="/scripts/mapserv?map=[map]&mapext=
[minx]+[miny]+[maxx]+[maxy]
&mode=nquery&[get_layers]">summarize</a></center>
<hr>

<p>
<b>Select Layers to Display: </b><br>
<select multiple name="layer" size=3>
<option value="crater" [crater_select]> Craterlake
<option value="craterluft" [craterluft_select]> Craterluft
<option value="contour" [contour_select]> Cratercontour
<option value="road" [road_select]> Road
<option value="boundaryline" [boundaryline_select]> Boundaryline 
<option value="boundarypolyline" [boundarypolyline_select]>
Boundarypolyline 
</select>

\end{verbatim}
\end{kommando}

\begin{kommando}
\begin{verbatim}

<p>
Zoom In <input type=radio name=zoomdir value=1 [zoomdir_1_check]> 
Pan <input type=radio name=zoomdir value=0 [zoomdir_0_check]>
Zoom Out <input type=radio name=zoomdir value=-1 [zoomdir_-1_check]>
<p>
Zoom Size <input type=text name=zoomsize size=4 value=[zoomsize]>
<p>

<font size=+1><b>Legend</b></font><br><hr>
<img src="[legend]"><hr>

<p>
<INPUT NAME="ref" TYPE="image" SRC="[ref]" border="0"></A><p>

</td>
</tr>
</table>
</center>

<input type="hidden" name="imgxy" value="299.5 299.5">
<input type="hidden" name="imgext" value="[mapext]">
<input type="hidden" name="map" value="[map]">

</form>

<p><hr><p>

</body></html>

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo >

\end{verbatim}
\end{kommando}

Jede einzelne Zeile erkl"aren zu wollen, wrde den Rahmen diese
Kapitels sicherlich sprengen, deshalb gehe ich nur auf die Zeilen
ein, deren Editierung mir fr diese MapServer Anwendung wichtig
erscheinen. Zu nennen wren hier:\\

\begin{kommando}
\begin{verbatim}

<option value="crater" [crater_select]> Craterlake

\end{verbatim}
\end{kommando}\

Mit dieser Zeile wird ein "'Layer"\ aus der {\em demo.map} Datei
angegeben dessen Darstellung in Mapserver angew"ahlt werden kann.
Das "`crater"\ ist hierbei der Name des "`Layers"\ w"ahrend
"`Craterlake"\ der in MapServer erscheinende Name im Auswahlmen
ist. Betrachtet man die Datei {\em demo.html} im Browser ohne Bearbeitung
durch das cgi - Skript, s"ahe sie so aus (Abb. \ref{mapserver_3}).
Um diese leere Schablone nun mit Daten zu fllen, wird vom Webserver,
oder besser vom cgi - Skript, das der Webserver ausf"uhrt, die Datei
{\em demo.map} gelesen und die dort angegebenen Daten in die {\em
demo.html} eingetragen. Die {\em demo.html} fr dieses Beispiel
sieht folgenderma"sen aus:\\

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{web-mapping/demo-html.eps}
\caption[Screenshot der demo.html Datei]{\label{mapserver_3}Ausgabe der demo.html Datei im Webserver}
\end{figure}


\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat demo.map

# Start of map file
NAME DEMO
STATUS ON
SIZE 600 600
IMAGETYPE PNG 
EXTENT 550840.000000 4733028.000000 592070.000000 4775095.000000
UNITS METERS
SHAPEPATH "/usr/local/httpd/htdocs/mapserver/ms_demo/data/"
IMAGECOLOR 255 255 255

#LABELOVERLAP FALSE

# Start of web interface definition
WEB
  HEADER demo_header.html
  TEMPLATE demo.html
  MINSCALE 100
  MAXSCALE 1550000
  IMAGEPATH "/usr/local/httpd/htdocs/mapserver/tmp/"
  IMAGEURL "/mapserver/tmp/"
  LOG "/tmp/mapserver.log"
END

\end{verbatim}
\end{kommando}

\begin{kommando}
\begin{verbatim}


# Start of reference map
REFERENCE
  IMAGE graphics/karte.png
EXTENT 550840.000000 4733028.000000 592070.000000 4775095.000000
  SIZE 169 172
  STATUS ON
  COLOR -1 -1 -1
  OUTLINECOLOR 255 0 0
END

# Start of legend
LEGEND
  KEYSIZE 18 12
  LABEL
    TYPE BITMAP
    SIZE MEDIUM
    COLOR 0 0 89
  END
  STATUS ON
END


# Start of scalebar
SCALEBAR
  IMAGECOLOR 255 255 255
  LABEL
    COLOR 0 0 0 
    SIZE SMALL
  END
  SIZE 350 5
  COLOR 255 255 255
  BACKGROUNDCOLOR 0 0 0
  OUTLINECOLOR 0 0 0
  UNITS KILOMETERS 
  INTERVALS 5
  STATUS ON
END

\end{verbatim}
\end{kommando}

\begin{kommando}
\begin{verbatim}




# Start of layer definitions

LAYER
  NAME karte
  TYPE RASTER
  STATUS ON
  DATA karte.tif
  OFFSITE 0
END#LAYER


LAYER
  NAME road
  TYPE LINE
  STATUS ON
  DATA roadsl
 
  CLASS
    NAME "Road"
    COLOR 255 0 0
  END
END # Layer



END # Map File

freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo >

\end{verbatim}
\end{kommando}

\paragraph{"`Layer"\ fr Rasterdaten}
Ein "`Layer"\ fr eine Rasterdatei also zum Beispiel die
ins {\em .tiff} - Format exportierte Karte des USGS wird
durch die {\em LAYER} - Zeile begonnen und mit einem
{\em END} abgeschlossen. {\em NAME karte} bezeichnet den Namen des
"`Layers"\, {\em TYPE RASTER} gibt an das es sich in diesem Fall um
eine Rasterdatei handelt. Mit der Zeile {\em STATUS ON} bzw. {\em
STATUS OFF} kann die Darstellung des Layers ein oder auch
abgeschaltet werden. {\em DATA karte.tiff} gibt den Dateinamen der
darzustellenden Bilddatei an.

\paragraph{"`Layer"\ fr Shapefiles}
Um die Shapefiles des Craterlake zusammen mit der georeferenzierten
Rasterdatei verarbeiten zu k"onnen, werden fr sie ebenfalls Layer
angelegt. Als Beispiel sei hier der "`Layer"\ {\em road} angef"uhrt.
Im Unterschied zu einem Rasterlayer hier {\em TYPE LINE} angegeben,
da es sich um eine Vektordatei handelt. Die Zeile  {\em DATA roadsl}
gibt den entsprechenden Dateinamen des Shapefiles an. Um in der
Legende einen entsprechenden Eintrag fr die dargestellten
Vektoren zu erzeugen, die in diesem Fall Straen darstellen ist dem
"`Layer"\ noch mindestens eine {\em CLASS} zuzuordnen. Das Schl"usselwort 
{\em CLASS} er"offnet einen entsprechenden Eintrag in der {\em demo.map},
anschlie"send wird der Bezeichner des Legendeneintrages
mit der Zeile {\em NAME "`Road"\ } bestimmt. Die Farbe der Eintr"age
wird durch die Zeile {\em COLOR 255 0 0} bestimmt. 

\paragraph{Anzeige im Browser}Als Ergebnis kann im Browser nun
eine Karte optional mit den Straen, die im Shapefile gespeichert
sind "uberlagert werden. Dazu werden im Menu {\em Select Layers to
Display:} die Layer "`Karte"\ und "`Road"\ ausgew"ahlt.
Mit einem Klick auf {\em Refresh/Query} wird die neu Auswahl an den
Webserver "ubermittelt und die entsprechende Antwort wird 
im Browser angezeigt (Abb. \ref{mapserver_3}).

\subsection{Einbinden der erzeugten Hhenlinien aus Kapitel \ref{computing_contur_lines_de} Seite \pageref{computing_contur_lines_de:grass}}
\label{web_mapping_de:mapserver:include_contur_lines}
Um die mit GRASS erzeugten H"ohenlinien in Mapserver einzubinden
werden die im GRASS-Vektorformat vorliegenden H"ohenlinien in
Shapefiles konvertiert. Nachdem GRASS wie in Kapitel
\ref{import_usgs_dem_de:grass} beschrieben ge"offnet wurde
wird das Kommando {\em v.out.shape} zum Datenexport benutzt.
bergeben werdem dem Kommando dabei der Name der GRASS-Vektordatei
{\em map=} und der Name des auszugebenden Shapefiles mit dem
Verzeichnis in das geschrieben werden soll {\em prefix=}.\\

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/grass/bin > v.out.shape map=hlinien\
prefix=/spare/gisdata/test/craterlake/tutorial/hoehenlinien

\end{verbatim}
\end{kommando}

Die erzeugten Dateien {\em hoehenlinien.shp, hoehenlinien.shx,
hoehenlinien.dbf} werden in das {\em data}-Verzeichnis von
MapServer kopiert  

\begin{kommando}
\begin{verbatim}

GRASS:/spare/gisdata/test/craterlake/tutorial/ > cp hoehenlinien.shp/\
/usr/local/httpd/htdocs/mapserver/ms_demo/

\end{verbatim}
\end{kommando}

In die {\em demo.map} datei wird folgende Zeile eingefgt um die
Hhenlinen fr MapServer zug"anglich zu machen.

\begin{kommando}
\begin{verbatim}

LAYER
  NAME hlinien
  TYPE LINE
  STATUS ON
  DATA hoehenlinien
 
  CLASS
    NAME "Hhenlinien"
    COLOR 255 0 0
  END
END # Layer

\end{verbatim}
\end{kommando}

Damit in dem Auswahlmen"u der MapServer-Webseite der Eintrag fr
diese H"ohenlinien auftaucht wird die {\em demo.html} durch die
Zeile {\em <option value="hlinien" [hlinien\_select]> Hhenlinien} folgt
erg"anzt.

\begin{kommando}
\begin{verbatim}

<b>Select Layers to Display: </b><br>
<select multiple name="layer" size=3>
<option value="crater" [crater_select]> Craterlake
<option value="craterluft" [craterluft_select]> Craterluft
<option value="contour" [contour_select]> Cratercontour
<option value="road" [road_select]> Road
<option value="boundaryline" [boundaryline_select]> Boundaryline 
<option value="boundarypolyline"
[boundarypolyline_select]> Boundarypolyline 
<option value="hlinien" [hlinien_select]> Hhenlinien
</select>

\end{verbatim}
\end{kommando}

Anschlie"send k"onnen die "`GRASS-H"ohenlinien"' zusammen mit der
Karte, Luftbild u.s.w. in MapServer angezeigt werden.
Interessant ist auch ein Vergleich der "`GRASS-H"ohenlinien"' mit
den vom USGS gelieferten "`Cratercontour"'-Linien.

\begin{figure}[h]
\centering
\includegraphics[width=14cm]{web-mapping/mapserver-contur.eps}
\caption[Screenshot Mapserver
H"ohenlinien]{\label{mapserver_5}Vergleich der GRASS-H"ohenlinien
(rot) mit den USGS-Contourlines (gr"un) in MapServer}
\end{figure}

\subsection{Erweiterung der Anwendung}
Zu dem eigentlichen Shapefile geh"ort grundstzlich auch eine
Datei im {\em .dbf} Datenbankformat, die beliebig viele attributdaten zu
dem Shapefile beinhalten kann. Diese Daten k"onnen von Mapserver
direkt ausgelesen und verarbeitet d.h. auf Anfrage im Netz
dargestellt werden. Gesteuert wird diese Funktionalit"at durch
Eintr"age in der {\em demo.map} und drei weitere Templatedateien,
in unserem Beispiel die {\em streetspy.html}, die {\em
streetspyheader.html} und die {\em streetspyfooter.html}.
Um aus den {\em .dbf} - Dateien Daten verwenden zu k"onnen ist es
nat"urlich notwendig zu wissen, was fr Daten in ihnen gespeichert
werden und vor allem wie sie gespeichert sind. Da heutzutage
Tabellenkalkulationsprogramme (gnumeric, Excel) solche
DBASE ({\em .dbf}) - Dateien
auslesen k"onnen kann man sie sich auf diese Weise anzeigen lassen.
Die als Beispiel verwendete Datei {\em roadsl.dbf} enth"alt den
Datensatz Nr. 44 mit folgenden Feldern.\\

\begin{kommando}
\begin{verbatim}

Record: 44
FNODE_:          80
TNODE_:          72
LPOLY_:          20
RPOLY_:          22
LENGTH:            964.58496
ROADS_:          45
ROADS_ID:          44
ENTITY_LAB: 1700209
ENTITY_DEF: CLASS 3
PHOTOREVIS:
RELATION_T:
VERTICAL_R:
BANK:
OPERATIONA:
SALT:
UNSURVEYED:
INTERMITTE:
SUBMERGED:
DRY:
MINERAL_OR:
NAVIGABLE:
EARTHEN:
INTERPOLAT:
ELEVATION:                0.000
ROTATION_A:   0
RIVER_MILE:                0.000
BEST_ESTIM:
COMPOSITIO:
TIDE:
UNDREDGED:

\end{verbatim}
\end{kommando}\




\paragraph{streetspyheader.html}In dieser Datei werden die
darzustellenden "Uberschriften der Tabellenspalten definiert.\\

\begin{kommando}
\begin{verbatim}

<font size+1><b>Layer: Road</b></font><p>
<table cellpadding=5 cellspacing=2 border=0>
<tr bgcolor=#CCCCCC><th>Straen Identifizierer</th>
<th>Zustandsstufe/Klassifizierung der Strae</th>
<th>Straenlnge</th></tr>

\end{verbatim}
\end{kommando}\

\paragraph{streetspy.html}Hier werden den Tabellenspalten die
jeweiligen Inhalte aus der {\em .dbf} - Datei zugewiesen indem das
entsprechende Feld aufgerufen wird. Zus"atzlich k"onnen hier wie in
jeder anderen HTML - Seite z.B. Hyperlinks gesetzt werden. \\

\begin{kommando}
\begin{verbatim}

<tr><td>[ROADS_ID]</td><td>[ENTITY_DEF]</td><td>[LENGTH]</td></tr>

\end{verbatim}
\end{kommando}\

\paragraph{streetspyfooter.html}Mit dieser Datei wird die Tabelle
beendet und zur besseren bersicht werden noch zwei Kartenfenster
generiert.\\

\begin{kommando}
\begin{verbatim}

</table><p>
 <font size=+1 face=arial,helvetica><b>Query Map Examples</b></font>
  <p>
 
  <table cellpadding="3" cellspacing="0" border="0">
    <tr><td><img border="2" src="[img]"></td>
    <td><img border="2" src="/cgi-bin/mapserver/mapserv?
    map=[map]&queryfile=/usr/local/httpd/htdocs/mapserver/tmp/DEMO
    [id].qy[get_layers]&mode=map&size=200+200"></td></tr>
    <tr><th align="center">standard querymap</th>
    <th align="center">cached query</th></tr>
  </table>
 
  </body>
</html>

\end{verbatim}
\end{kommando}\

Abschlie"send mu"s nun noch die {\em demo.map} modifiziert werden.
So werden dem "`Layer"\ {\em Road} die Namen der neu erzeugten
Templatedateien hinzugefgt, die Zeile {\em TOLERANCE 3} gibt an, da"s
der User bis zu drei Pixel daneben klicken kann, und trotzdem die
gew"unschte Information angezeigt bekommt.\\

\begin{kommando}
\begin{verbatim}

LAYER
  NAME road
  TYPE LINE
  STATUS ON
  DATA roadsl
 
  CLASS
    NAME "Road"
    TEMPLATE "streetspy.html"
    COLOR 255 0 0
  END
  
  HEADER "streetspyheader.html"
  FOOTER "streetspyfooter.html"
  TOLERANCE 3
END # Layer



\end{verbatim}
\end{kommando}\

Um die "Ubersichtskarten in der Abfrageseite generieren zu k"onnen,
werden ihre Ausma"se durch folgende Zeilen festgelegt, die
beispielsweise in dem Abschnitt "'\# Start of web interface definition"\
gespeichert werden kann. Die Zeile {\em COLOR 255 255 0} beschreibt 
die Farbe des ausgew"ahlten Objektes in der "Ubersichtskarte, diese sollte sich von der eigentlichen Darstellungsfarbe des "'Layers"\ {\em roads} 
unterscheiden. Die Gr"o"se der Fenster kann durch die Zeile
{\em SIZE 200 200} gesteuert werden.\\ 

\begin{kommando}
\begin{verbatim}

QUERYMAP
  SIZE 200 200
  STATUS ON
  STYLE HILITE
  COLOR 0 0 255
END

\end{verbatim}
\end{kommando}\

Nachdem MapServer neu in einem Webbrowser gestartet wurde, kann eine
Abfrage durch Ausw"ahlen des Knopfes {\em Query feature} und
anschlieendem Mausklick auf ein entsprechendes Objekt im
Kartenfenster von MapServer ausgel"ost werden. Im besprochenen Fall
k"onnen also die drei ausgew"ahlten Eintrge angezeigt werden,
wenn man die gewnschte Stra"se in einem Abstand von h"ochstens drei
Pixeln anklickt. Die erzeugte Webseite sollte "ahnlich der folgenden
sein (Abb. \ref{mapserver_4}). 

\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{web-mapping/mapserver-query.eps}
\caption[Screenshot der MapServer Query "`Road"']{\label{mapserver_4}Ausgabeseite der Abfrage in MapServer}
\end{figure}

Die so erstellten Seiten k"onnen natrlich mit allen M"oglichkeiten,
die HTML, Java(-skript) und PHP bieten, weiter ausgebaut werden. Auch sind die
M"oglichkeiten von MapServer hier nur ansatzweise benutzt worden,
wie man an den am Anfang angegebenen Beispielen sieht. Ausgehend von
dem hier besprochenen Beispiel knnen die vielfltigsten Anwendungen
erstellt werden. Auf der MapServer - Homepage
\footnote{http://mapserver.gis.umn.edu/} finden sich eine Vielzahl
von Dokumentationen. 

\paragraph{Tipps}
Durch die Definition von
{\em  IMAGEPATH "/usr/local/httpd/htdocs/mapserver/tmp/"\ }
als Verzeichnis in das Mapserver die erzeugten Bilddateien 
fr den Webserver schreibt, wird sich dieses Verzeichnis im Laufe
der Zeit mit Bilddaten f"ullen, die nicht mehr ben"otigt werden.
Um die zu verhindern, kann auf Rechnern mit dem Betriebssystem
GNU/Linux ein einfaches Shell-Skript\index{Shell-Skript}
\nomenclature{Shell-Skript}{leer} geschrieben werden, das in diesem
Verzeichnis alle Dateien l"oscht die "alter als Beispielsweise
60 min sind. Erstellt wird ein solches Skript mit einem beliebigen Editor.\\

\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver > vim ex.sh

\end{verbatim}
\end{kommando}\

Dieses Kommando ruft den Editor {\tt vim} an der Kommandozeile auf.
Das eigentliche Skript besteht hier in aus einem Kommando, dem
verschiedene Parameter mitgegeben werden und die es veranlassen
, alle Dateien, deren Name mit Demo beginnt und die "alter als
60 min sind, zu l"oschen.
Um {\em vim} zu verlassen wird mit {\tt Esc} in den Kommandomodus gewechselt
und mit {\tt :wq} das Programm mit vorherigem speichern beendet.\\


\begin{kommando}
\begin{verbatim}

#!/bin/sh
# lscht die von mapserver erzeugten dateien in
# /usr/local/httpd/htdocs/mapserver/tmp/ die lter als 60 min sind
 
find /usr/local/httpd/htdocs/mapserver/tmp/ -name 'DEMO*.*' -type f/
-cmin +60 -exec rm -f -- '{}' ';'

\end{verbatim}
\end{kommando}\

Die erste Zeile gibt an, da"s als Kommadointerpreter die sh - Shell benutzt
wird. Die n"achsten zwei Zeilen sind Kommentare die die Funktion dieses
Skriptes beschreiben. Der eigentliche Befehl dieses Skriptes ist in
der Zeile {\tt find /usr/local/httpd/htdocs/mapserver/tmp/
-name 'DEMO*.*' -type f -cmin +60 -exec rm -f -- '{}' ';'\ } zu finden.
Hier wird das Kommando {\tt find} veranlasst auf alle Dateien (Files)
{\tt -type f} deren Name mit "`DEMO"\ beginnt {\tt -name 'DEMO*.*'}
und die "alter als 60 Minuten sind {\tt -cmin +60} den
L"oschbefehl {\tt rm } anzuwenden.\\
Dieses Skript kann jetzt von der sogenannten Crontab des jeweiligen Users
stndlich aufgerufen werden. Dazu wird die Crontab mit dem Befehl
{\tt crontab -e} editierbar aufgerufen.\\

\begin{kommando}
\begin{verbatim}

freegis@xml-2:/usr/local/httpd/htdocs/mapserver > crontab -e  

\end{verbatim}
\end{kommando}\

Nun wird eine Zeile wie die Folgende erstellt. Die erste Null fhrt
das Kommando zu jeder vollen Stunde aus. Anzahl der Minuten = 0.
Weiter wird das erzeugte Skript {\em ex.sh} von dem entsprechenden
Pfad aus aufgerufen an dem es liegt.\\

\begin{kommando}
\begin{verbatim}

0 * * * * /usr/local/httpd/htdocs/mapserver/ex.sh
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.24701" 1L, 50C                                                         1,1           All

\end{verbatim}
\end{kommando}\



%%% TEXEXPAND: END FILE ./web-mapping/web-mapping-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./handling-edbs-data/handling-edbs-data-de.tex
\chapter{EDBS Daten verarbeiten}
\label{computing_edbs_data_de}

\label{computing_edbs_data_de:grass}
\underline{von Otto Dassau}
\\
\\

\subsubsection{Aufgabenstellung}
An dieser Stelle soll der Import von ATKIS/EDBS Daten vorgestellt werden.
 Aufbauend auf\index{ATKIS}\index{EDBS}\nomenclature{\bf ATKIS}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-atkis-de.tex
Das Amtliche Topographisch Katographische Informationssystem.
Von der Arbeitsgemeinschaft der Vermessungsverwaltungen der Lnder 
ins Leben gerufenes Basisinformationssystem fr Geodaten.
%%% TEXEXPAND: END FILE ./glossary-de/glossary-atkis-de.tex
}\nomenclature{\bf EDBS}{\input{glossary-de/glossary-edbs-de}}den schon seit l"angeren existierenden EDBS\_extra Reader von Claus Rinner gibt 
ein Import Modul, dass einzelne oder auch Gruppen von EDBS-Dateien direkt in
 eine Location im GRASS Vektor- bzw.\ Sites-Format importieren kann.

%\subsubsection{Beispieldaten}

%\subsubsection{Weitere Verwendung der Beispieldaten}


\section{L"osung mit GRASS}
Es wurde GRASS 5.0pre2 mit dem Paket {\em grass\_v.in.edbs.tar.gz} unter einer SuSE GNU/Linux
 Installation (7.1) verwendet.


\subsection{Das EDBS-Format}
Das Datenformat EDBS ist entwickelt worden, um eine einheitliche
Datenbankschnittstelle fr Daten des ALK\index{ALK}\nomenclature{\bf ALK}{%
%%% TEXEXPAND: INCLUDED FILE MARKER ./glossary-de/glossary-alk-de.tex
Als ALK wird die Automatisiert gefhrte Liegenschaftskarte bezeichnet.
Sie bildet als bildlicher Teil zusammen mit dem Automatisiert gefhrten 
Liegenschaftsbuch (ALB) das Liegenschaftskataster.\\ 

%%% TEXEXPAND: END FILE ./glossary-de/glossary-alk-de.tex
} ``Automatisierte Liegenschaftskarte''und des ATKIS ``Amtliches Topographisch-Kartographisches Informationssystem'' bereitzustellen. Vergleichbar sind diese Bem"uhungen mit dem SDTS Format des 
U.S. Geological Survey fr den nordamerikanischen Raum.\\ 
Da sich im GIS-Bereich bis heute keine fr Deutschland allgemein gltigen 
Schnittstellenstandards durchsetzen konnten, sind die Standards hierzulande 
allerdings oft l"anderspezifisch.\\ Im Bereich \underline{ALK} wird das
EDBS-Format in Nordrhein-Westfalen, Hessen, Niedersachsen, Schleswig-Holstein, 
Berlin, Brandenburg, Bremen, Rheinland-Pfalz, Sachsen-Anhalt und 
Schleswig-Holstein verwendet\\
\underline{ATKIS}-Daten werden von allen Bundesl"andern (bis auf das Saarland) 
in EDBS-Form angeboten. In Baden-Wrttemberg werden Daten des 
Landesvermessungsamtes bislang im SICAD-SQD-Format oder BGRUND-Format [Baden 
1990] bereitgestellt. In Bayern steht neben dem SQD-Format das DFK- Schnittstellenformat 
zur Verfgung [Bayern 1993]; mittlerweile wird auch dort das EDBS-Format 
untersttzt. \\
Die Definition der EDBS erfolgte im Rahmen des Gesamtsystems ``Automatisierung 
der Liegenschaftskarte'' (ALK-System). Die Struktur ist textbasiert, 
vektororientiert und beinhaltet die vollstndige Topologie.
\vspace{0.5cm}\\
\underline{Inhalte sind u.a.\ :}
\vspace{0.3cm}\\
- Objektnummer A999525\\
- Objektteilnummer 1\\
- Objektart 3102 (= Weg)\\
- Folie 104 \\
- Objekttyp L(inie)\\
- Labelpunkt (3418315.94,5765981.04)\\
- Entstehungsdatum 11.11.1992 sowie Anfangspunkt (3418583.34,5765292.92)\\
- Zwischenpunkt (3418644.90,5765115.08) \\
- Endpunkt (3418761.27,5765110.19)

\subsection{Der EDBS\_extra Reader}

Das Programm EDBS\_extra wurde am Institut f"ur Umweltsystemforschung der 
Universitt Osnabr"uck von Claus Rinner entwickelt. \\  
Dabei handelt es sich um ein ANSI-C-Programm, das EDBS-Auftr"age mit ALK- oder 
ATKIS-Daten abarbeitet, und die darin enthaltenen Geometrie-, Topologie- und 
Sachinformationen 'lesbar' abspeichert, wobei die Geometriedaten fr den 
Import mit der Funktion GENERATE von ARC/Info vorbereitet sind. Weitere 
Erl"auterungen hierzu und Informationen zum EDBS-Format sind unter
\footnote{http://www.rinners.de/edbs/} nachzulesen.

\subsection{Import von EDBS Daten nach GRASS}

Im folgenden soll der Import von EDBS-Daten nach GRASS n"aher beschrieben
werden. Aufbauend auf den EDBS\_extra Reader gibt es ein Import Modul 
\textbf{v.in.edbs}, das diesen mit einbezieht und die im ARC/Info
(Ungenerate) Format vorliegende Datei(en) ins GRASS Vektor- bzw.\ Punktformat
importiert.\\
Dieses Import Modul ist momentan nicht in GRASS integriert, sondern liegt als
Zusatzpaket im ``Add-ons'' Bereich der GRASS-Homepage. Es befindet sich noch in der 
Testphase, und wurde bislang nur an wenigen Daten getestet. Auf der Internetseite
\footnote{http://grass.itc.it/grass\_addons.html} ist ein Link auf das Programm 
mit einer kurzen Beschreibung vorhanden.\\
Das Modul v.in.edbs mit seinen Unterprogrammen kann auf der oben genannten Internetseite 
heruntergeladen werden. 
\vspace{0.3cm}\\
In dem Paket \textbf{grass\_v.in.edbs.tar.gz} sind die EDBS\_extra Programme \textit{edx, dom, extra\_run} 
mit den Verzeichnissen \textit{edx\_files} und \textit{dom\_files}. In diesen werden die von EDBS\_extra 
ausgelesenen Daten im ARC/Info Format abgelegt. Desweiteren enthalten sind ein Perl-Skript \textit{edbs\_split}, 
das den direkten Import der einzelnen Objektarten erm"oglicht, und das eigentliche import Modul \textit{v.in.edbs}.   
 
\paragraph{Installation von v.in.edbs}
Nach dem Download sind folgende Schritte als admin durchzuf"uhren:\\

\begin{kommando}
\begin{verbatim}

cp grass_v.in.edbs.tar.gz $GISBASE
cd $GISBASE 
gunzip grass_v.in.edbs.tar.gz
tar xfv grass_v.in.edbs.tar.gz

\end{verbatim}
\end{kommando}

Das Verzeichnis \$GISBASE entspricht dem GRASS Programmverzeichnis
(meistens ist dies {\em /usr/local/grass5/}). 
Danach steht das Programm unter GRASS zu Verf"ugung. Getestet wurde es bislang nur auf einem Linux Rechner, 
zur Lauff"ahigkeit auf anderen Systemen ist noch nichts bekannt.\\
\vspace{0.3cm}\\
W"ahrend des Imports der EDBS Datei wird zwischen linien-, fl"achen- und punkthaften 
Daten unterschieden. Der Import ist daher in 3 Bereiche unterteilt: 
\vspace{0.3cm}\\
1. Import von linienhaften Strukturen \\
2. Import von flchenhaften Strukturen \\
3. Import von punkthaften Strukturen 
\vspace{0.3cm}\\
Diese werden w"ahrend des Imports nacheinander durchlaufen.
\paragraph{Import von linienhaften Daten}
Gestartet wird das Modul nach der Installation mit dem Befehl:
\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > v.in.edbs atkis.bsp

\end{verbatim}
\end{kommando}

Die hier verwendete Beispieldatei `atkis.bsp' ist eine frei im Internet verfgbare Musterdatei, und kann 
u.a.\ "uber die EDBS\_extra Seite von Claus Rinner erreicht werden. \\
Zu Beginn des Imports wird gefragt, ob eine einzelne oder mehrere EDBS-Dateien in die GRASS Location importiert werden sollen.
\\

\begin{kommando}
\begin{verbatim}

Does the importfile contain more than one EDBS-file? (y/n)

\end{verbatim}
\end{kommando}

Wenn mehrere EDBS-Dateien gleichzeitig in eine Location importiert werden sollen, muss vor dem Import eine Datei erstellt werden, in der die
kompletten Pfade der einzelnen zu importierenden Dateien aufgelistet sind.
\vspace{0.5cm}\\
Der Inhalt einer solchen Datei kann z.B.\ folgendermaen aussehen:
\\

\begin{kommando}
\begin{verbatim}

/home/user/edbsdaten/beispiel.ebs
/home/user/edbs/edbs_import/atkis.bsp
.......

\end{verbatim}
\end{kommando}

Je nach Angabe wird nun die einzelne EDBS-Datei oder die aus einer Gruppe von EDBS-Dateien bestehende Importdatei eingelesen. \\ 
Danach werden die in den EDBS-Daten vorhandenen linienhaften Objekte aufgelistet. \\
Diese sind unterteilt in Objektbereiche (Siedlung, Verkehr, Vegetation, ...) und die
dazugeh"origen Objektarten (Strasse, Grenze,...).
\\

\begin{kommando}
\begin{verbatim}

EXISTING LINE OBJECT GROUPS:

SIEDLUNGEN:
VERKEHR:
3101 Strasse
3102 Weg
3105 Strassenkoerper
3106 Fahrbahn
3201 Schienenbahn
3514 Bruecke_Unterfuehrung_Ueberfuehrung
3531 Kabelleitung
VEGETATION:
4203 Hecke_Knick
GEWAESSER:
5101 Strom_Fluss_Bach
5103 Graben_Kanal
RELIEF:
GEBIETE:
7299 Grenze

import OBJEKTART or OBJEKTBEREICH? [OBJART]
[BEREICH or OBJART]

\end{verbatim}
\end{kommando}

Dabei erfolgt eine Abfrage, ob die zu importierenden Daten als
``Objektbereichs-'' oder ``Objektartkarten'' ins GRASS Vektorformat "uberf"uhrt
werden sollen.
\vspace{0.5cm}\\
\underline{Objektbereich}
\vspace{0.3cm}\\
Entscheidet man sich fr den Import als Objektbereichskarten, so erhalten die
importierten Vektorkarten den Namen des jeweiligen Bereichs mit der Endung ``\_l''.
\vspace{0.5cm}\\
- siedlung\_l \\
- verkehr\_l \\
- vegetation\_l \\
- gewaesser\_l \\
- relief\_l \\
- gebiete\_l 
\vspace{0.3cm}\\
In der Karte `gewaesser\_l' sind dann z.B.\ die Objektarten Strom\_Fluss\_Bach und Graben\_Kanal enthalten.
\vspace{0.5cm}\\
\underline{Objektart}
\vspace{0.3cm}\\
Entscheidet man sich fr den Import der Linienz"uge als Objektartkarten, so werden die einzelnen Objektarten (Strasse, Weg,...) 
jeweils als einzelne Vektorkarten importiert. Da hier keine "Uberschneidung der linien- und fl"achenhaften Kartennamen entsteht, 
erfolgt keine weitere Kennzeichnung, ob es sich um Karten mit Linien oder Polygonen handelt.
\paragraph{Import von flchenhaften Daten}
Bei den fl"achenhaften Daten l"auft der Import entsprechend ab. Nach einer Best"atigung werden die in der 
EDBS-Datei vorhandenen Polygone aufgelistet.\\
Auch hier wird wieder nach Objektbereiche und den darin enthaltenen Objektarten unterschieden.
\\

\begin{kommando}
\begin{verbatim}

existing POLYGON GROUPS:

SIEDLUNGEN:
2101 Ortslage
2111 Wohnbauflaeche
2113 Flaeche_gemischter_Nutzung
2114 Flaeche_besonderer_funktionaler_Praegung
2201 Sportanlage
2222 Sportplatz
2228 Campingplatz
VERKEHR:
3514 Bruecke_Unterfuehrung_Ueberfuehrung
VEGETATION:
4101 Ackerland
4102 Gruenland
4107 Wald_Forst
4108 Gehoelz
GEWAESSER:
5112 Binnensee_Stausee_Teich
RELIEF:
GEBIETE:
7101 Verwaltungseinheit

import OBJEKTART or OBJEKTBEREICH? [OBJART]
[BEREICH or OBJART]

\end{verbatim}
\end{kommando}

Es erfolgt wieder eine Abfrage, ob die zu importierenden Daten als ``Objektbereichs-'' 
oder ``Objektartkarten'' ins GRASS Vektorformat "uberf"uhrt werden sollen. 
\vspace{0.3cm}\\
\underline{Objektbereich}
\vspace{0.3cm}\\
Entscheidet man sich fr den Import der Polygone als Objektbereichskarten, so erhalten die
importierten Vektorkarten den Namen des jeweiligen Bereichs mit der Endung ``\_f''.
\vspace{0.2cm}\\
- siedlung\_f \\
- verkehr\_f \\
- vegetation\_f \\
- gewaesser\_f \\
- relief\_f \\
- gebiete\_f 
\vspace{0.2cm}\\
In der Karte `vegetation\_f' sind die Objektarten Ackerland, Gruenland, Wald\_Forst und Gehoelz enthalten.
\vspace{0.5cm}\\
\underline{Objektart}
\vspace{0.3cm}\\
Entscheidet man sich fr den Import als Objektartkarten, so werden diese (Ortslage, Gehoelz,...) 
jeweils als einzelne Vektorkarten importiert. Da hier keine "Uberschneidung der linien- und fl"achenhaften Kartennamen entsteht, 
erfolgt keine weitere Kennzeichnung, ob es sich um Linien oder Polygone handelt.
\paragraph{Import von punkthaften Daten}
Der Import der Punktdaten findet am Ende des Imports statt. Hierbei werden wie im vorigen Verlauf die in der EDBS
-Datei vorkommenden Punktdaten angezeigt.
\\

\begin{kommando}
\begin{verbatim}

existing POINT DATA:

3541 Mast

import point data? [Return]

Mast imported to ~/grassdata/sh_edbs/sh_edbs/site_lists/...

\end{verbatim}
\end{kommando}

Hier gibt es keine Unterscheidung zwischen Objektbereich und dazugeh"origen Objektarten. Der Import findet 
automatisch als Objektart statt.\\
Wie oben zu sehen, werden die Punktdaten, die unter GRASS als `Sites'
 bezeichnet werden in das Verzeichnis 
{\em \$LOCATION/site\_lists} importiert. Dieses wird, wenn es nicht schon
vorhanden ist, erzeugt.

\subsection{Ergebnis}
Wenn der Import der Daten abgeschlossen ist, kann man sich die Liste der nun in GRASS
befindlichen Vektorkarten mit dem Befehl {\tt g.list.vect} anschauen.  
\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > g.list vect
----------------------------------------------
vector files available in mapset sh_edbs:
Ackerland                                 Graben_Kanal  
Binnensee_Stausee_Teich                   Grenze        
Bruecke_Unterfuehrung_Ueberfuehrung       Gruenland     
Campingplatz                              Hecke_Knick   
Fahrbahn                                  Kabelleitung  
Flaeche_besonderer_funktionaler_Praegung  Ortslage      
Flaeche_gemischter_Nutzung                relief_f      
gebiete_f                                 relief_l      
gebiete_l                                 Schienenbahn  
Gehoelz                                   siedlung_f    
gewaesser_f                               siedlung_l    
gewaesser_l                               Sportanlage   
Sportplatz                                vegetation_l
Strasse                                   verkehr_f
Strassenkoerper                           verkehr_l
Strom_Fluss_Bach                          Verwaltungseinheit
vegetation_f                              Wald_Forst
Weg                                       Wohnbauflaeche
----------------------------------------------

\end{verbatim}
\end{kommando}

Die Punktdaten liegen im Verzeichnis {\em \$LOCATION/site\_lists}. Eine Liste der 
vorhandenen Sites-Daten kann mit dem Befehl {\tt g.list.sites} ausgegeben werden.
\\

\begin{kommando}
\begin{verbatim}

GRASS:~ > g.list sites
----------------------------------------------
site list files available in mapset sh_edbs:
Mast  Verkehrsknoten  Verwaltungseinheit
----------------------------------------------

\end{verbatim}
\end{kommando}

Zur Veranschaulichung sind hier 2 Karten dargestellt, in denen alle 3 Bereiche
der importierten EDBS-Daten 
(Linien, Polygone und Punkte) als Vektor- und als Rasterkarte dargestellt sind.
Durch den Befehl {\tt d.what.vect} bzw.\ {\tt d.what.rast} k"onnen die Attribute der
Punkte, Linien und Fl"achen abgefragt werden.
\vspace{0.5cm}\\
\begin{figure}[h]
\centering
\includegraphics[width=8cm]{handling-edbs-data/vect-edbs.eps}
\caption[Screenshoot GRASS EDBS Vektorkarte]{\label{vectmap}
GRASS Monitor mit EDBS Vektorkarte}
\end{figure}
\vspace{0.5cm}\\
In der Vektorkarte ist der Objektbereich `gewaesser\_f', die Objektart `Strasse' und die Objektart `Mast' dargestellt. 
Der X-term enth"alt die Abfrageergebnisse.
\vspace{0.5cm}\\
\begin{figure}[h]
\centering
\includegraphics[width=8cm]{handling-edbs-data/rast-edbs.eps}
\caption[Screenshoot GRASS EDBS Rasterkarte]{\label{rastmap}
GRASS Monitor mit EDBS Rasterkarte}
\end{figure}
\vspace{0.5cm}\\
In der Rasterkarte ist der Objektbereich `gewaesser\_f', die Objektart `Weg' und die Objektart `Mast' dargestellt. 
Der X-Term enth"alt die Abfrageergebnisse. Die Umwandlung der
Vektordaten ins Rasterformat ist mit dem Befehl {\tt v.to.rast} 
geschehen, und bietet durch die automatische Farbzuweisung eine bessere Visualisierung.
%%% TEXEXPAND: END FILE ./handling-edbs-data/handling-edbs-data-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./data-conversion/data-conversion-de.tex
\chapter{Daten konvertieren}
\label{converting_data_de}
Um die erzeugten Daten, seien es Koordinaten, H"ohenmodelle,
Triangulauionen, Orthophotos oder auch Bilddateien in mglichst
vielen Programmen weiterverwenden zu k"onnen, oder z.B.
die Arbeitsergebnisse einem Auftraggeber in dem von ihm
gew"unschten Format "ubergeben zu k"onnen, ist die Konvertierung
von Daten in jedwede Form von zentraler Bedeutung in der
Datenverarbeitung und besonders in den Geowissenschaften,
in denen es fr die verschiedensten Anwendungen oftmals eigene
Datenformate und Koordinatensysteme gibt. 

   \section{H"ohenmodelle}
   Obwohl sich Hhenmodelle grundstzlich aus einem 2-dimensionalen Raster
   zusammensetzen, dessen Rasterzellen als Information eine
   H"ohenangabe tragen, gibt es doch eine Vielzahl von Formaten.
   Oft Unterscheiden sich die Formate nur in dem Informationen und
   ihrer Anordnung in dem Header - Teil der Dateien. Einige Formate
   haben auch eine zustzliche Informationsdatei die zusamme mit den
   Rasterdaten das H"ohenmodell ergibt, als Beispiel sei hier das
   TIFF - Dateiformat(.tif , .tiff) genannt, dem man ein TFW (Tiff World File)
   anfgen kann. Dar"uber hinaus gibt es sogenante "`Container" -
   Dateien, die viele Arten von Geodaten in sich tragen knnen
   und gleichzeitig Informationen ber Orientierung,
   zugrundeliegende Koordinatensysteme, Alter u.s.w. speichern.
   Ein Beispiel hierfr ist das SDTS - Format des United States
   Geological Surveys (USGS).


%%% TEXEXPAND: END FILE ./data-conversion/data-conversion-de.tex

%-------------------------Appendix-Anhang--------------------------------------

\begin{appendix}

%%% TEXEXPAND: INCLUDED FILE MARKER ./outlook/outlook-de.tex
\chapter{Ausblicke}\label{future_de}
Das Free GIS Tutorial soll genau wie die freie Software die, es behandelt
kontinuierlich erweitert und "uberarbeitet werden und so quasi der 
Software folgen, die es beschreibt. Dazu ist es essentiell, da"s genau wie bei 
freier Software jeder seinen Teil dazu beitagen kann. 
Beitr"age, Themenvorschl"age, Kommentare, Fehlermeldungen und Kritiken in jeder
Form sind jederzeit willkommen und werden ihren Weg in folgende Versionen
des Free GIS Tutorials finden. Einige Themen- und Aufgabenvorschl"age,
die bei der bisherigen Arbeit entstanden, aber noch nicht umgesetzt wurden
sind zum Beispiel:

\begin{itemize}
 \item Analytische Auswertung von Luftbildern. In den vorhandenen Luftbilder 
       k"onnen die "` "Uberlappungsstreifen"\ dazu genutzt werden 
       H"oheninformationen aus ihnen abzuleiten und so das H"ohenmodell zu 
       erzeugen, das fr eine Orthophotoherstellung n"otig ist.
 \item Orthophotos aus Luftbildern erstellen. Diese Aufgabe ist zum Beispiel
       mit GRASS l"osbar, erfordert aber ein detailliertes H"ohenmodell des
       beflogenen Gebietes.
 \item In Orthophotos digitalisieren. Durch das Projezieren der Luftbilder in 
       eine Ebene kann in ihnen wie in einer Karte gemesssen werden. So k"onnen
       auf vielf"altige Weise die verschiedensten Daten erzeugt werden.
 \item Verschneidungen der verschiedenen Datenarten (Vektordaten, Rasterdaten,
       Sachdaten) miteinander und anschlieende Auswertung.

 \item Erweiterung des Glossars. Hier sind vor allem kurze, pr"azise
       Erkl"arungen der verwendeten Fachbegriffe gefragt.  
      
       
 
\end{itemize}

%%% TEXEXPAND: END FILE ./outlook/outlook-de.tex

%%% TEXEXPAND: INCLUDED FILE MARKER ./gnufdl.tex
% fdl.tex
% This file is a chapter.  It must be included in a larger document to work
% properly.

\chapter{GNU Free Documentation License}
\label{gnufdl_en}
Version 1.1, March 2000\\

 Copyright \copyright\ 2000  Free Software Foundation, Inc.\\
     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\\
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

\section*{Preamble}

The purpose of this License is to make a manual, textbook, or other
written document ``free'' in the sense of freedom: to assure everyone
the effective freedom to copy and redistribute it, with or without
modifying it, either commercially or noncommercially.  Secondarily,
this License preserves for the author and publisher a way to get
credit for their work, while not being considered responsible for
modifications made by others.

This License is a kind of ``copyleft'', which means that derivative
works of the document must themselves be free in the same sense.  It
complements the GNU General Public License, which is a copyleft
license designed for free software.

We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does.  But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book.  We recommend this License
principally for works whose purpose is instruction or reference.

\section{Applicability and Definitions}

This License applies to any manual or other work that contains a
notice placed by the copyright holder saying it can be distributed
under the terms of this License.  The ``Document'', below, refers to any
such manual or work.  Any member of the public is a licensee, and is
addressed as ``you''.

A ``Modified Version'' of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.

A ``Secondary Section'' is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject.  (For example, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.)  The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.

The ``Invariant Sections'' are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.

The ``Cover Texts'' are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.

A ``Transparent'' copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, whose contents can be viewed and edited directly and
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters.  A copy made in an otherwise Transparent file
format whose markup has been designed to thwart or discourage
subsequent modification by readers is not Transparent.  A copy that is
not ``Transparent'' is called ``Opaque''.

Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, \LaTeX~input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML designed for human modification.  Opaque formats include
PostScript, PDF, proprietary formats that can be read and edited only
by proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML produced by some word processors for output
purposes only.

The ``Title Page'' means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page.  For works in
formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.


\section{Verbatim Copying}

You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License.  You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute.  However, you may accept
compensation in exchange for copies.  If you distribute a large enough
number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and
you may publicly display copies.


\section{Copying in Quantity}

If you publish printed copies of the Document numbering more than 100,
and the Document's license notice requires Cover Texts, you must enclose
the copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover.  Both covers must also clearly and legibly identify
you as the publisher of these copies.  The front cover must present
the full title with all words of the title equally prominent and
visible.  You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.

If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a publicly-accessible computer-network location containing a complete
Transparent copy of the Document, free of added material, which the
general network-using public has access to download anonymously at no
charge using public-standard network protocols.  If you use the latter
option, you must take reasonably prudent steps, when you begin
distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location
until at least one year after the last time you distribute an Opaque
copy (directly or through your agents or retailers) of that edition to
the public.

It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.


\section{Modifications}

You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it.  In addition, you must do these things in the Modified Version:

\begin{itemize}

\item Use in the Title Page (and on the covers, if any) a title distinct
   from that of the Document, and from those of previous versions
   (which should, if there were any, be listed in the History section
   of the Document).  You may use the same title as a previous version
   if the original publisher of that version gives permission.
\item List on the Title Page, as authors, one or more persons or entities
   responsible for authorship of the modifications in the Modified
   Version, together with at least five of the principal authors of the
   Document (all of its principal authors, if it has less than five).
\item State on the Title page the name of the publisher of the
   Modified Version, as the publisher.
\item Preserve all the copyright notices of the Document.
\item Add an appropriate copyright notice for your modifications
   adjacent to the other copyright notices.
\item Include, immediately after the copyright notices, a license notice
   giving the public permission to use the Modified Version under the
   terms of this License, in the form shown in the Addendum below.
\item Preserve in that license notice the full lists of Invariant Sections
   and required Cover Texts given in the Document's license notice.
\item Include an unaltered copy of this License.
\item Preserve the section entitled ``History'', and its title, and add to
   it an item stating at least the title, year, new authors, and
   publisher of the Modified Version as given on the Title Page.  If
   there is no section entitled ``History'' in the Document, create one
   stating the title, year, authors, and publisher of the Document as
   given on its Title Page, then add an item describing the Modified
   Version as stated in the previous sentence.
\item Preserve the network location, if any, given in the Document for
   public access to a Transparent copy of the Document, and likewise
   the network locations given in the Document for previous versions
   it was based on.  These may be placed in the ``History'' section.
   You may omit a network location for a work that was published at
   least four years before the Document itself, or if the original
   publisher of the version it refers to gives permission.
\item In any section entitled ``Acknowledgements'' or ``Dedications'',
   preserve the section's title, and preserve in the section all the
   substance and tone of each of the contributor acknowledgements
   and/or dedications given therein.
\item Preserve all the Invariant Sections of the Document,
   unaltered in their text and in their titles.  Section numbers
   or the equivalent are not considered part of the section titles.
\item Delete any section entitled ``Endorsements''.  Such a section
   may not be included in the Modified Version.
\item Do not retitle any existing section as ``Endorsements''
   or to conflict in title with any Invariant Section.

\end{itemize}

If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant.  To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.

You may add a section entitled ``Endorsements'', provided it contains
nothing but endorsements of your Modified Version by various
parties -- for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.

You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version.  Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity.  If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.


\section{Combining Documents}

You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice.

The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy.  If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections entitled ``History''
in the various original documents, forming one section entitled
``History''; likewise combine any sections entitled ``Acknowledgements'',
and any sections entitled ``Dedications''.  You must delete all sections
entitled ``Endorsements.''


\section{Collections of Documents}

You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.



\section{Aggregation With Independent Works}

A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, does not as a whole count as a Modified Version
of the Document, provided no compilation copyright is claimed for the
compilation.  Such a compilation is called an ``aggregate'', and this
License does not apply to the other self-contained works thus compiled
with the Document, on account of their being thus compiled, if they
are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one quarter
of the entire aggregate, the Document's Cover Texts may be placed on
covers that surround only the Document within the aggregate.
Otherwise they must appear on covers around the whole aggregate.


\section{Translation}

Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections.  You may include a
translation of this License provided that you also include the
original English version of this License.  In case of a disagreement
between the translation and the original English version of this
License, the original English version will prevail.


\section{Termination}

You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License.  Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License.  However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.


\section{Future Revisions of This License}

The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time.  Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation.  If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.

\section*{ADDENDUM: How to use this License for your documents}

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:

\begin{quote}

      Copyright \copyright\ YEAR  YOUR NAME.
      Permission is granted to copy, distribute and/or modify this document
      under the terms of the GNU Free Documentation License, Version 1.1
      or any later version published by the Free Software Foundation;
      with the Invariant Sections being LIST THEIR TITLES, with the
      Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
      A copy of the license is included in the section entitled ``GNU
      Free Documentation License''.

\end{quote}

If you have no Invariant Sections, write ``with no Invariant Sections''
instead of saying which ones are invariant.  If you have no
Front-Cover Texts, write ``no Front-Cover Texts'' instead of
``Front-Cover Texts being LIST''; likewise for Back-Cover Texts.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.


%%% TEXEXPAND: END FILE ./gnufdl.tex

\end{appendix}


\begin{thebibliography}{Literaturverzeichniss}
 \bibitem{bill1}Bill, Ralf(1999): Grundlagen der Geo-Informationssysteme Band 1
 \bibitem{bill2}Bill, Ralf(1999): Grundlagen der Geo-Informationssysteme Band 2
 \bibitem{neteler}Neteler, Markus(2000): Geosynthesis GRASS-Handbuch
 \bibitem{greve}Greve, Georg C. F.: Was ist das GNU-Projekt?\footnote{http://www.fsfeurope.org/documents/gnuproject.de.html}
 \bibitem{voser}Voser, Stefan A.(1996): Mapref, The Collection of Map
 Projections and Reference Systems for Europe\footnote{http://www.mapref.org}
 \bibitem{mitasova}Mitasova, Helena: List of papers and presentations\footnote{http://www2.gis.uiuc.edu:2280/modviz/helena/helena.html}
 \bibitem{rothacher/zebhauser}Rothacher,Zebhauser:  Einfhrung in GPS. Tutorial zum 3. SAPOS-Symposium 2000
 \bibitem{omc}{Online Map Creating: Die verfgbaren Projektionen\footnote{http://www.aquarius.geomar.de/omc/de/omc\_project.html}}
 \bibitem{commando}{Commado GmbH: Glossar\footnote{http://www.commando.de/glossar/}}
 \bibitem{cadglossar}{Blien, Ralf: CAD-Glossar\footnote{http://www.blien.de/ralf/cad/db/spline01.htm}}
 \bibitem{hildebrandt}{Hildebrandt,Gerald: Erweiterung eines Verfahrens
                       zur Gittererzeugung fr die dynamische a posteriori
                       Adaption\footnote{http://www.bauinf.tu-cottbus.de/Publications/Diplomarbeiten/Hildebrandt/diplomarbeit.html}}
 \bibitem{appelrath}{Appelrath, Boles, Claus, Wegner(1998): Starthilfe Informatik}
 \bibitem{herrmann}{Herrmann,Hohmann(2001):Glossar fr das Brgernetz
                    Isar-Loisach e.V.\footnote{http://www.ilo.de/ilo2000/home/schulung/glossar/glossar.php}}
 \bibitem{mnz}{Mnz, Stefan(2001): SELFHTML Version 8.0\footnote{http://selfaktuell.teamone.de/} - Allgemeines zu Perl}
\end{thebibliography}


\printindex
\printglossary
\end{document}
