
\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 Maßstäben \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 Höhenmodellen arbeiten
noch mit dem Vorgängerformat, 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}{\input{glossary-de/glossary-sdts-de}}

\subsubsection{Beispieldaten}
Die hier verwendeten Beispieldaten hält 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 zur Geomorphologie, "Okologie,
Kulturgeschichte und anderen Themen rund um den Nationalpark gespeichert.\\
Weiter wurden USGS DEM-Daten "`Abbott Butte, Oregon"' verwendet\footnote{http://www.reo.gov/reo/data/DEM\_Files/indexes/orequadindex.asp}.

\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{Lösung 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 Höhenmodellen ist möglich.\\
    Die Schaltfläche {\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 3 Achsen drehen. Die Ausgangsposition
    erreicht man mit {\em Default Map}. Die Farbe und die
    Koordinaten eines angewählten Punktes können 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 von 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}{\input{glossary-de/glossary-pgm-de}}
  \nomenclature{\bf DTED}{\input{glossary-de/glossary-dted-de}} 
  \nomenclature{\bf CDF}{\input{glossary-de/glossary-cdf-de}}
    
       \begin{figure}[h]
       \centering
       \includegraphics[width=0.8\textwidth]{import-usgs-dem/vtbuilderdem.eps}
       \caption[Screenshoot VTBUILDER1]{\label{vtbuilder_1}
       VTBuilder 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 {\em dem3D} zur Verfügung gestellt. Nach dem
  Start wird das gewünschte DEM mit {\em File/Open} aufgerufen und
  angezeigt (Abb. \ref{dem3d_1}). Durch Gedrückthalten der linken
  Maustaste und gleichzeitiges Bewegen der Maus kann das Modell in
  allen 3 Achsen bewegt werden. Mit der Schaltfläche {\em Shader}
  kann zwischen verschiedenen Oberflächen- und Beleuchtungsmodellen
  gew"ahlt werden. Wahlweise kann unter der Schaltfläche {\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
  Wasseroberfläche 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 Auflösung.
       \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 nachträgliches "Andern und Anpassen ist zwar
    mit {\tt g.region} \index{g.region} für die Regionsparameter und
    {\tt g.setproj} für 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. Weiterhin sollten noch
    das verwendete Ellipsoid und das Datum der
    Koordinatenrealisierung angegeben werden.\index{Datum} Ist
    die Ausdehnung des DEM nicht bekannt, so kann man entweder
    mehr oder weniger m"uhsam mit einem Editor den Header des DEMs
    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 ausgeführt.
    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:\\
\index{Meridianstreifen}
\nomenclature{\bf UTM}{\input{glossary-de/glossary-utm-de}}
\nomenclature{\bf Meridianstreifen}{\input{glossary-de/glossary-meridianstreifen-de}}
\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 für diese Rasterdateien erstellt werden.
   Das etwas umst"andliche Ermitteln der DEM-Parameter entf"allt so. 
   \item Beim Importieren von USGS-DEMs kommt es vor, dass ein oder
   mehrere meist am Rand gelegene Höhenwerte einen falschen
   Wert von -32767 Metern aufweisen. Ob dies 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} können 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 {\em 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}{\input{glossary-de/glossary-geotiff-de}}Format, GTOPO30 Höhendaten
\nomenclature{\bf GTOPO30}{\input{glossary-de/glossary-gtopo30-de}} und CDED-Dateien (Canadian Digital Elevation
Data). Die Anzeige in dlgv32 alias DLG Viewer kann in {\em Tools/Control
Center/Options} Beeinflusst werden. Informationen über die
dargestellten Daten erhält man in der Statusanzeige im unteren
Fensterrahmen und unter {\em Tools/Control Center/Metadaten}.
Weiterhin zu erwähnen ist das dlgv32 die Möglichkeit zur
Druckausgabe besitzt.   

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

 


