view backend/doc/documentation/de/overview.tex @ 6045:2d16f4a0bdcc

Schema change: there is only one bed height per station at a given point in time
author Tom Gottfried <tom@intevation.de>
date Thu, 16 May 2013 18:03:39 +0200
parents 7e48f7a64182
children 92c8cc7e064b
line wrap: on
line source
\section{�bersicht}

Diese Dokumentation beschreibt die von Intevation entwickelten Werkzeuge zum
Importieren der hydrologischen, morphologischen und geod�tischen Daten der BfG.
Die im Folgenden\\ beschriebenen Werkzeuge zum Importieren der fachlichen und
geod�tischen Daten sind speziell auf das Verzeichnissystem der BfG ausgerichtet.
Dabei wird angenommen, dass sich das Verzeichnis eines Gew�ssers auf oberster
Ebene in drei Unterverzeichnisse aufgliedert:

\begin{itemize}
    \item Geodaesie
    \item Hydrologie
    \item Morphologie
\end{itemize}

Desweiteren beziehen sich die Befehle, die auf der Kommandozeile abgesetzt
werden, auf ein SuSE-Linux-Enterprise-Server Version 11. Bitte beachten Sie
auch, dass einige der Befehle \textit{root}-Rechte ben�tigen.

\subsection{Vorbereitungen}

\subsubsection{Entpacken des Datenimporters}

Damit die Software performant und korrekt ausgef�hrt werden kann, ist es
erforderlich, dass sie auf dem selben System wie die Datenbank installiert
und ausgef�hrt wird.
Sollten Sie das Paket nicht auf dem
Zielsystem selbst heruntergeladen haben, sind ggf. weitere Werkzeuge notwendig.
Wenn Sie von einem Windows System auf das Zielsystem zugreifen
wollen, k�nnen Sie beispielsweise folgende Werkzeuge verwenden:

\begin{itemize}
\item WinSCP \\
WinSCP ist ein Open Source Werkzeug zum Transferieren von Dateien zwischen zwei
Systemen. Um das heruntergeladene Paket auf das Zielsystem zu transferieren,
k�nnen Sie WinSCP benutzen. F�r weitere Informationen und den Gebrauch von
WinSCP lesen Sie bitte unter folgender Adresse nach:
\href{http://winscp.net/}{http://winscp.net/}.

\item Putty \\
Putty ist ein Open Source Werkzeug, mit dem Sie sich von einem Windows System
per SSH auf das Zielsystem verbinden k�nnen. Anschlie�end k�nnen Sie �ber die
Kommandozeile auf dem Zielsystem die Befehle, die in diesem Dokument beschrieben
sind, ausf�hren. F�r weitere Informationen zu Putty und dessen Gebrauch lesen
Sie bitte unter folgender Adresse nach: \href{http://www.putty.org/}
{http://www.putty.org/}.
\end{itemize}

Bitte beachten Sie, dass diese Werkzeuge nicht zur Installtion und zum Betrieb
der Software selbst notwendig sind!

\subsection{Systemanforderungen}
\label{Systemanforderungen}
\begin{itemize}
  \item Oracle oder PosgreSQL Datenbank inkl. Schema f�r FLYS
  \item SUSE Enterprise Linux 11.2 SP 1
\end{itemize}

\subsection{Installationsanleitung}
\label{Installationsanleitung}

Nachdem Sie das Paket nun in das Heimatverzeichnis des Nutzers auf das
Zielsystem kopiert haben, entpacken Sie es mit folgenden Befehlen:

\begin{lstlisting}
    cd ~
    tar xvfz flys-importer.tar.gz
    cd flys-importer
\end{lstlisting}

\subsubsection{Java}
Der flys-importer ben�tigt Java Version 6 um diese zu installieren laden Sie
bitte von \url{http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html}
eine aktulle Java Version als -rpm.bin herunter. Zum Beispiel: jdk-6u41-linux-x64-rpm.bin

Nach dem Herunterladen, �ffnen Sie eine konsole und wechseln in das Downloadverzeichnis.
F�hren Sie nun folgende Befehle aus:

 \begin{lstlisting}
    su - # login als root
    sh jdk-6u41-linux-x64-rpm.bin
    <bestaetigen mit enter>
    update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_41/bin/java 5
    update-alternatives --install /etc/alternatives/jre jre /usr/java/jdk1.6.0_41/jre 5
    update-alternatives --config java
 \end{lstlisting}

\subsubsection{Python und GDAL}
Installieren Sie nun die restlichen ben�tigten Pakete.
Dazu installieren Sie zuerst einige Abh�ngigkeiten und anschlie�end die
von der Intevation GmbH bereitgestellten speziellen Versionen von proj und libgeos

Um die Abh�ngigkeiten zu installieren f�hren Sie bitte folgende Befehle aus:

 \begin{lstlisting}
     zypper ar http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/ "intevation:bfg"
     rpm --import http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/repodata/repomd.xml.key
     zypper ref # Paketlist neu laden
     zypper in python libgeos0 libproj0 proj netcdf libnetcdf4 \
        xerces-c libxerces-c-3_0 unixODBC postgresql-libs
     zypper mr -d "intevation:bfg"
     zypper ref # Paketliste neu laden
 \end{lstlisting}

%\subsubsection Oracle Instantclient\\
%Der Oracle Instantclient 11.2.0.2.0 wird ben�tigt, damit der Importer mittels Python
%und GDAL in die bestehende Oracle Datenbqlnk schreiben kann. Wenn Sie
%eine PosgreSQL Datenbank verwenden, k�nnen Sie diesen Schritt �berspringen.
%
%Zur Anbindung von Oracle ist es erforderlich, folgende Archive von
%Oracle herunterzuladen (Sie ben�tigen daf�r ein Oracle Benutzerkonto):
%
%Der Oracle Instantclient 11.2 wird ben�tigt, damit der Importer mittels Python
%und GDAL in die bestehende Oracle Datenbank schreiben kann. Dazu ist es
%erforderlich, folgende Archive von Oracle herunterzuladen. 
%
% \begin{itemize}
%    \item instantclient-basic-linux-x86-64-11.2.0.2.0.zip
%    \item instantclient-sdk-linux-x86-64-11.2.0.2.0.zip
%    \item instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip
% \end{itemize}
%
%Zu finden sind die
% Pakete unter:\\
%\href{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html}
%{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html}
%
%
%Um diese Pakete zu installieren, �ffnen Sie eine Konsole und wechseln
%in das Verzeichnis in welches Sie die heruntergeladenen Pakete
%gespeichert haben. (z.B.: cd /home/benutzername/Downloads )
% Anschlie�end f�hren Sie folgende Befehle auf der Kommandozeile aus:
%
% \begin{lstlisting}
%     unzip instantclient-basic-linux-x86-64-11.2.0.2.0.zip -d /opt
%     unzip instantclient-sdk-linux-x86-64-11.2.0.2.0.zip -d /opt
%     unzip instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip -d /opt
%
%     mkdir /opt/instantclient_11_2/lib
%     cd /opt/instantclient_11_2/lib
%     ln -s ../libclntsh.so.11.1 .
%     ln -s ../libclntsh.so.11.1 libclntsh.so
%     ln -s ../libnnz11.so .
%     ln -s ../libocci.so.11.1 .
%     ln -s ../libocci.so.11.1 libocci.so
%     ln -s ../libociei.so .
%     ln -s ../libocijdbc11.so .
%     ln -s ../libsqlplusic.so .
%     ln -s ../libsqlplus.so .
%
%     echo "/opt/instantclient_11_2/lib/" > /etc/ld.so.conf.d/oci.conf 
%     ldconfig
% \end{lstlisting}
%
%Sollten keine Fehler aufgetreten sein, haben Sie den \textit{Oracle
% Instantclient 11.2} erfolgreich entpackt und im Dateisystem unter
% \textit{/opt/instantclient\_11\_2} abgelegt.
%
\subsubsection{Vorbereiten der Datenbank}
Bevor die Importer verwendet werden k�nnen, ist es notwendig, dass eine leere
Oracle Datenbank vorhanden ist. Anschlie�end m�ssen folgende SQL-Skripte in
diese Datenbank eingespielt werden:

\begin{enumerate}
\item oracle.sql \\
In diesem SQL Skript befindet sich das Schema zum Speichern der hydrologischen
Daten.

\item oracle-minfo.sql \\
In diesem SQL Skript befindet sich das Schema zum Speichern der morphologischen
Daten.

\item oracle-spatial.sql \\
In diesem SQL Skript befindet sich das Schema zum Speichern der geod�tischen
Daten.

\item oracle-spatial\_idx.sql \\
Mittels diesem SQL Skript werden die Indizes zum geod�tischen Datenbankschema\\
hinzugef�gt.

\end{enumerate}

Zum Einspielen dieser Schemata setzen Sie folgende Befehle auf der Kommandozeile
ab. Beachten Sie, dass $sqlplus$ im Pfad liegen muss, und der Linux-Nutzer
dieses Kommando ausf�hren k�nnen muss. Au�erdem sind $benutzername$ und $passwort$
entsprechend Ihres Datenbank-Zugangs anzupassen.
SQLPlus befindet sich in /opt/instantclient\_11\_2 um es verf�gbar zu machen
f�hren Sie im Importer Verzeichnis folgende Befehle aus:

\begin{lstlisting}
export LD_LIBRARY_PATH=opt/instantclient\_11\_2/lib:$LD_LIBRARY_PATH
export PATH=opt/instantclient\_11\_2:$PATH
\end{lstlisting}

Damit alle in den UTF8-codierten SQL-Skripten vorhandenen Zeichen (also z.B.\ 
auch Umlaute) korrekt in die Datenbank eingelesen werden k�nnen, f�hren
Sie folgenden Befehl aus:

\begin{lstlisting}
export NLS_LANG=.AL32UTF8
\end{lstlisting}

Nun erstellen Sie das Schema:

\begin{lstlisting}
    sqlplus benutzername/passwort @schema/oracle.sql
    sqlplus benutzername/passwort @schema/oracle-minfo.sql
    sqlplus benutzername/passwort @schema/oracle-spatial.sql
    sqlplus benutzername/passwort @schema/oracle-spatial_idx.sql
\end{lstlisting}


http://dive4elements.wald.intevation.org