% vim:autoindent:set textwidth=78:

\chapter{Arbeiten mit Projektionen}\label{label_projections}
\index{Koordinatenbezugssystem}\index{Projektion}

% when the revision of a section has been finalized, 
% comment out the following line:
%\updatedisclaimer

QGIS ermöglicht es, globale und projektbezogene KBS (Koordinatenbezugssysteme)
für Layer ohne vordefinierte KBS zu definieren. Es können benutzerdefinierte
Koordinatenbezugssysteme erstellt werden und für Vektorlayer wird On-The-Fly
(OTF) Projektion unterstützt, um Layer gemeinsam und lagegenau darzustellen,
obwohl sie unterschiedliche KBS besitzen. 

\section{Überblick zur Projektionsunterstützung}\label{label_projoverview}

QGIS unterstützt etwa 2700 bekannte Koordinatenbezugssysteme (KBS). Diese
sind in einer SQlite-Datenbank abgelegt, die mit QGIS installiert wird.
Normalerweise muss diese Datenbank nicht editiert werden, und es kann
Probleme verursachen, wenn Sie es dennoch versuchen. Selbst definierte KBS
sind in einer Benutzerdatenbank abgelegt. Informationen zum Anlegen einer
Benutzerdatenbank finden Sie im Abschnitt \ref{sec:customprojections}.

Die Koordinatenbezugssysteme in QGIS basieren auf EPSG Codes\index{EPSG} und
sind weitestgehend der spatial\_references Tabelle von PostGIS\index{PostGIS}
Version 1.x entnommen. Wichtig ist, dass die IDs, welche von QGIS benutzt
werden, nicht den IDs der spatial\_references Tabelle oder den EPSG Codes
entsprechen. Die EPSG und PostGIS IDs sind in der SQlite-Datenbank abgelegt
und werden benutzt, um KBS in QGIS zu spezifizieren.

Um OTF Projektion zu verwenden, müssen die Daten Informationen über ihr
Koordinatenbezugssystem enthalten. Bei PostGIS-Layern benutzt QGIS die spatial
reference ID, die bei der Erstellung des Layers festgelegt wurde. Bei Daten,
die von der OGR-Bibliothek unterstützt werden, bezieht sich QGIS auf das
Vorhandensein eines KBS bei den Daten. Bei Shapes bedeutet dies, dass eine
Datei mit der Endung .prj vorhanden sein muss, in der das KBS im Well
Known Text (WKT)\index{WKT} Format angegeben ist. Für ein Shape mit dem Namen
\filename{lakes.shp} gäbe es also eine entsprechende Projektionsdatei
\filename{lakes.prj}. 

\section{Ein Koordinatenbezugssystem festlegen}
\index{Koordinatenbezugssystem!festlegen}
\label{sec:projection-specifying}

QGIS setzt das Koordinatenbezugssystem beim Start nicht mehr automatisch auf
das KBS des zuerst geladenen Layers. Wenn Sie QGIS mit einem Layer starten,
der keine KBS-Informationen bereitstellt, müssen Sie für diesen Layer ein
KBS festlegen. Dies kann global oder projektbezogen im Reiter \tab{KBS} im
Menü \mainmenuopt{Einstellungen} \arrow \dropmenuopttwo{mActionOptions}{Optionen}
geschehen (Siehe Abbildung~\ref{fig:crsdialog}) 

\begin{itemize}[label=--]
\item \checkbox{KBS abfragen} 
\item \checkbox{Projektweite KBS-Voreinstellung}
\item \checkbox{Untenstehende globale Voreinstellung wird genutzt}
\end{itemize}

Das globale standard Koordinatenbezugssystem \usertext{proj=longlat
+ellps=WGS84 +datum=WGS84 +no\_defs} ist vordefiniert in QGIS, kann aber
natürlich geändert werden und wird dann für folgende Sitzungen gespeichert. 

\begin{figure}[ht]
   \begin{center}
   \caption{KBS Reiter im Dialog Optionen \nixcaption}\label{fig:crsdialog}\smallskip
   \includegraphics[clip=true, width=11cm]{crsdialog}
\end{center}
\end{figure}

Wenn Sie ein Koordinatenbezugssystem für einen bestimmten Layer festlegen
möchten, können Sie das im Reiter \tab{Allgemein} der Dialoge für 
Rasterlayereigenschaften (\ref{label_generaltab}) und
Vektorlayereigenschaften (\ref{vectorgeneraltab}) machen. Falls der geladene
Layer bereits Informationen zu seinem Koordinatenbezugssystem enthält,
werden diese angezeigt (siehe Abbildung~\ref{fig:vector_symbology}).

\section{On-The-Fly (OTF) Projektion}\label{label_projstart}

In QGIS ist die Unterstützung für On-The-Fly (OTF) Projektion nicht als
Standard aktiviert. Um diese auszuwählen, öffnen Sie den Dialog
\dropmenuopttwo{mActionOptions}{Projekteinstellungen}, wechseln in den Reiter
\tab{Benutzerkoordinatenreferenzsystem} und klicken dort auf das
Kontrollkästchen \checkbox{On-The-Fly-KBS-Transformation aktivieren}. 

Um den Dialog \tab{Benutzerkoordinatenreferenzsystem} zu öffnen, können Sie
auch auf das Icon \toolbtntwo{mIconProjectionDisabled}{KBS-Status} in der
unteren rechten Ecke der Statusleiste drücken.

Wenn Sie bereits einen Layer geladen haben und nun die Unterstützung für
On-The-Fly (OTF) Projektion aktivieren wollen ist der beste Weg folgender.
Öffnen Sie den Reiter \tab{Benutzerkoordinatenreferenzsystem} im Menü
\dropmenuopttwo{mActionOptions}{Projekteinstellungen}, wählen Sie das
passende KBS für den Layer aus und aktivieren Sie dann das
Kontrollkästchen \checkbox{On-The-Fly-KBS-Transformation aktivieren}. Das
Icon \toolbtntwo{mIconProjectionEnabled}{KBS-Status} zeigt nun einen grünen
Haken, und alle daraufhin geladenen Vektorlayer werden On-The-Fly auf das
ausgewählte KBS projiziert. 

Der Reiter \tab{Benutzerkoordinatenreferenzsystem} enthält vier wichtige
Optionen (siehe Abbildung~\ref{fig:projections}). Diese werden im Folgenden
beschrieben.

\begin{figure}[ht]
   \begin{center}
   \caption{Dialog Projekteinstellungen \nixcaption}\label{fig:projections}\smallskip
   \includegraphics[clip=true, width=11cm]{projectionDialog}
\end{center}  
\end{figure}

\begin{enumerate}
\item \textbf{On-The-Fly-KBS-Transformation
aktivieren}\index{Koordinatenbezugssystem!OTF!aktivieren} 
- über diese Checkbox wird die OTF Projektion aktiviert oder deaktiviert.
  Wenn sie deaktiviert ist, wird jeder Layer entsprechend seines KBS
  dargestellt. Wenn es aktiviert ist, wird jeder Layer beim Laden in die
definierte Koordinatenbezugssystem 'on-the-fly' umgewandelt dargestellt.
\item \textbf{Koordinatensystem} - dies ist eine Liste mit allen
Koordinatenbezugssystemen, die von QGIS unterstützt werden. Um ein
KBS zu benutzen, wählt man es aus der Liste aus. Die bis dahin aktive
Projektion ist vorgegeben als WGS 84.
\item \textbf{Proj4 Text} - dies ist ein Ausdruck, der von der PROJ-Bibliothek
genutzt wird. Es dient nur zur Information und kann nicht verändert werden.
\item \textbf{Suchen} - wenn Sie den EPSG Code oder den Namen für ein KBS
kennen, können Sie diese benutzen, um ihr Koordinatenbezugssystem zu finden.
Geben Sie eine ID  der Namen ein und klicken Sie auf \button{Finden}.
\item \textbf{Zuletzt verwendete KBS} - Wenn Sie bestimmte
Koordinatenbezugssystem regelmäßig für ihre tägliche GIS Arbeit verwenden,
werden diese für den 'schnellen' Zugriff unterhalb des Fensters mit den
vorhanden KBS angezeigt. Klicken Sie auf einen der Knöpfe, um das
entsprechende KBS direkt auszuwählen.
\end{enumerate}

\begin{Tip}
\caption{\textsc{Dialog Projekteigenschaften}}
Wenn Sie den Dialog \dialog{Projekteigenschaften} über die
Menüleiste öffnen, müssen Sie erst auf den Reiter
\tab{Benutzerkoordinatenreferenzsystem} drücken. Über das
\toolbtntwo{mIconProjectionEnabled}{KBS-Status} Icon in der Statusleiste
unten rechts wird der Reiter \tab{Benutzerkoordinatenreferenzsystem} direkt
in den Vordergrund gerückt.
\end{Tip}

\section{Ein Koordinatenbezugssystem selbst definieren}
\label{sec:customprojections}
\index{Koordinatenbezugssystem!anpassen}

Wenn QGIS nicht das KBS bereithält, welches Sie brauchen, können Sie ein
eigenes KBS erstellen. Dazu wählen Sie in der Menüleiste
\mainmenuopt{Einstellungen} \arrow
\dropmenuopttwo{mIconNew}{Benutzerkoordinatenbezugssystem}. Das eigene KBS
wird in einer Benutzerdatenbank erstellt. Diese enthält Ihre räumlichen
Lesezeichen und die selbst erstellten Projektionen.

\begin{figure}[ht]
   \begin{center}
   \caption{Definition eines eigenen Koordinatenbezugssystems \nixcaption}
   \label{fig:customprojections}\smallskip
   \includegraphics[clip=true, width=11cm]{customProjectionDialog}
\end{center}  
\end{figure}

In QGIS bedarf es einem grundlegenden Verständnis im Umgang mit der
PROJ4-Bibliothek. Zu Beginn sollten Sie einen Blick in das Benutzerhandbuch
von PROJ werfen. Cartographic Projection Procedures for the UNIX Environment
- A User's Manual by Gerald I. Evenden, U.S. Geological Survey Open-File Report
90-284, 1990 (zu finden unter \url{ftp://ftp.remotesensing.org/proj/OF90-284.pdf}).
Dieses Handbuch beschreibt die Anwendung von \usertext{proj.4}. Die dort
beschriebenen kartographischen Parameter sind identisch mit denen, die in QGIS
verwendet werden.

Der Dialog \dialog{Definition eines Benutzerkoordinatenbezugssystem} braucht
nur zwei Einträge, um eine eigene Projektion zu definieren:

\begin{enumerate}
\item Einen Namen
\item kartographische Parameter 
\end{enumerate}

Um ein neues KBS zu erstellen, klicken Sie auf den Knopf
\toolbtntwo{mIconNew}{Neu}, geben Sie einen beschreibenden Namen ein
und die kartographischen Parameter. Abbildung \ref{fig:customprojections}
zeigt den Dialog mit einer Beispielprojektion. Danach speichern Sie das neue
KBS mit dem Knopf \toolbtntwo{mActionFileSave}{Speichern} ab. 

Denken Sie daran, dass die kartographischen Parameter mit einem
\usertext{+proj=}-Block beginnen müssen, um den Beginn eines neuen KBS
anzuzeigen. 

Sie können das neue KBS testen, um zu sehen, ob bei einer Konvertierung
von bekannten WGS84 Lat-Lon Koordinaten in ihre Projektion ein sinnvolles
Ergebnis herauskommt. Dazu kopieren Sie ihre kartographischen Parameter in
das Fenster \guilabel{Parameter}, geben ein paar bekannte WGS84 Lat-Lon
Koordinaten an und klicken dann auf den Knopf \button{Berechnen}. Vergleichen
Sie die Ergebnisse mit den Werten im Kartenfenster.

