ingo@3661: \section{�bersicht} ingo@3661: ingo@3661: Diese Dokumentation beschreibt die von Intevation entwickelten Werkzeuge zum ingo@3661: Importieren der hydrologischen, morphologischen und geod�tischen Daten der BfG. felix@5040: Die im Folgenden\\ beschriebenen Werkzeuge zum Importieren der fachlichen und ingo@3661: geod�tischen Daten sind speziell auf das Verzeichnissystem der BfG ausgerichtet. ingo@3668: Dabei wird angenommen, dass sich das Verzeichnis eines Gew�ssers auf oberster ingo@3668: Ebene in drei Unterverzeichnisse aufgliedert: ingo@3668: ingo@3668: \begin{itemize} ingo@3668: \item Geodaesie ingo@3668: \item Hydrologie ingo@3668: \item Morphologie ingo@3668: \end{itemize} ingo@3668: ingo@3661: Desweiteren beziehen sich die Befehle, die auf der Kommandozeile abgesetzt ingo@3678: werden, auf ein SuSE-Linux-Enterprise-Server Version 11. Bitte beachten Sie ingo@3678: auch, dass einige der Befehle \textit{root}-Rechte ben�tigen. ingo@3661: ingo@3661: \subsection{Vorbereitungen} ingo@3661: ingo@3661: \subsubsection{Entpacken des Datenimporters} ingo@3661: ingo@3661: Damit die Software performant und korrekt ausgef�hrt werden kann, ist es felix@5041: erforderlich, dass sie auf dem selben System wie die Datenbank installiert felix@5041: und ausgef�hrt wird. felix@5041: Sollten Sie das Paket nicht auf dem ingo@3661: Zielsystem selbst heruntergeladen haben, sind ggf. weitere Werkzeuge notwendig. felix@5041: Wenn Sie von einem Windows System auf das Zielsystem zugreifen ingo@3661: wollen, k�nnen Sie beispielsweise folgende Werkzeuge verwenden: ingo@3661: ingo@3661: \begin{itemize} ingo@3661: \item WinSCP \\ ingo@3661: WinSCP ist ein Open Source Werkzeug zum Transferieren von Dateien zwischen zwei ingo@3661: Systemen. Um das heruntergeladene Paket auf das Zielsystem zu transferieren, ingo@3661: k�nnen Sie WinSCP benutzen. F�r weitere Informationen und den Gebrauch von ingo@3661: WinSCP lesen Sie bitte unter folgender Adresse nach: ingo@3661: \href{http://winscp.net/}{http://winscp.net/}. ingo@3661: ingo@3661: \item Putty \\ ingo@3661: Putty ist ein Open Source Werkzeug, mit dem Sie sich von einem Windows System ingo@3661: per SSH auf das Zielsystem verbinden k�nnen. Anschlie�end k�nnen Sie �ber die ingo@3661: Kommandozeile auf dem Zielsystem die Befehle, die in diesem Dokument beschrieben ingo@3661: sind, ausf�hren. F�r weitere Informationen zu Putty und dessen Gebrauch lesen ingo@3661: Sie bitte unter folgender Adresse nach: \href{http://www.putty.org/} ingo@3661: {http://www.putty.org/}. ingo@3661: \end{itemize} ingo@3661: ingo@3661: Bitte beachten Sie, dass diese Werkzeuge nicht zur Installtion und zum Betrieb ingo@3661: der Software selbst notwendig sind! ingo@3661: aheinecke@5065: \subsection{Systemanforderungen} aheinecke@5065: \label{Systemanforderungen} aheinecke@5065: \begin{itemize} aheinecke@5065: \item Oracle oder PosgreSQL Datenbank inkl. Schema f�r FLYS aheinecke@5065: \item SUSE Enterprise Linux 11.2 SP 1 aheinecke@5065: \end{itemize} ingo@3661: aheinecke@5065: \subsection{Installationsanleitung} aheinecke@5065: \label{Installationsanleitung} ingo@3661: ingo@3672: Nachdem Sie das Paket nun in das Heimatverzeichnis des Nutzers auf das ingo@3672: Zielsystem kopiert haben, entpacken Sie es mit folgenden Befehlen: ingo@3672: ingo@3672: \begin{lstlisting} ingo@3672: cd ~ ingo@3672: tar xvfz flys-importer.tar.gz ingo@3672: cd flys-importer ingo@3672: \end{lstlisting} ingo@3672: aheinecke@5075: \subsubsection{Java} aheinecke@5065: Der flys-importer ben�tigt Java Version 6 um diese zu installieren laden Sie aheinecke@5065: bitte von \url{http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html} aheinecke@5065: eine aktulle Java Version als -rpm.bin herunter. Zum Beispiel: jdk-6u41-linux-x64-rpm.bin aheinecke@5065: aheinecke@5065: Nach dem Herunterladen, �ffnen Sie eine konsole und wechseln in das Downloadverzeichnis. aheinecke@5065: F�hren Sie nun folgende Befehle aus: aheinecke@5065: aheinecke@5065: \begin{lstlisting} aheinecke@5065: su - # login als root aheinecke@5065: sh jdk-6u41-linux-x64-rpm.bin aheinecke@5065: <bestaetigen mit enter> aheinecke@5065: update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_41/bin/java 5 aheinecke@5065: update-alternatives --install /etc/alternatives/jre jre /usr/java/jdk1.6.0_41/jre 5 aheinecke@5065: update-alternatives --config java aheinecke@5065: \end{lstlisting} aheinecke@5065: aheinecke@5075: \subsubsection{Python und GDAL} aheinecke@5065: Installieren Sie nun die restlichen ben�tigten Pakete. aheinecke@5065: Dazu installieren Sie zuerst einige Abh�ngigkeiten und anschlie�end die aheinecke@5065: von der Intevation GmbH bereitgestellten speziellen Versionen von proj und libgeos aheinecke@5065: aheinecke@5065: Um die Abh�ngigkeiten zu installieren f�hren Sie bitte folgende Befehle aus: aheinecke@5065: aheinecke@5065: \begin{lstlisting} aheinecke@5065: zypper ar http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/ "intevation:bfg" aheinecke@5065: rpm --import http://download.opensuse.org/repositories/home:/intevation:/bfg/SLE_11/repodata/repomd.xml.key aheinecke@5065: zypper ref # Paketlist neu laden aheinecke@5065: zypper in python libgeos0 libproj0 proj netcdf libnetcdf4 \ aheinecke@5065: xerces-c libxerces-c-3_0 unixODBC postgresql-libs aheinecke@5065: zypper mr -d "intevation:bfg" aheinecke@5065: zypper ref # Paketliste neu laden aheinecke@5065: \end{lstlisting} aheinecke@5065: aheinecke@5065: %\subsubsection Oracle Instantclient\\ aheinecke@5065: %Der Oracle Instantclient 11.2.0.2.0 wird ben�tigt, damit der Importer mittels Python aheinecke@5065: %und GDAL in die bestehende Oracle Datenbqlnk schreiben kann. Wenn Sie aheinecke@5065: %eine PosgreSQL Datenbank verwenden, k�nnen Sie diesen Schritt �berspringen. aheinecke@5065: % aheinecke@5065: %Zur Anbindung von Oracle ist es erforderlich, folgende Archive von aheinecke@5065: %Oracle herunterzuladen (Sie ben�tigen daf�r ein Oracle Benutzerkonto): aheinecke@5065: % aheinecke@5065: %Der Oracle Instantclient 11.2 wird ben�tigt, damit der Importer mittels Python aheinecke@5065: %und GDAL in die bestehende Oracle Datenbank schreiben kann. Dazu ist es aheinecke@5065: %erforderlich, folgende Archive von Oracle herunterzuladen. aheinecke@5065: % aheinecke@5065: % \begin{itemize} aheinecke@5065: % \item instantclient-basic-linux-x86-64-11.2.0.2.0.zip aheinecke@5065: % \item instantclient-sdk-linux-x86-64-11.2.0.2.0.zip aheinecke@5065: % \item instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip aheinecke@5065: % \end{itemize} aheinecke@5065: % aheinecke@5065: %Zu finden sind die aheinecke@5065: % Pakete unter:\\ aheinecke@5065: %\href{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html} aheinecke@5065: %{http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html} aheinecke@5065: % aheinecke@5065: % aheinecke@5065: %Um diese Pakete zu installieren, �ffnen Sie eine Konsole und wechseln aheinecke@5065: %in das Verzeichnis in welches Sie die heruntergeladenen Pakete aheinecke@5065: %gespeichert haben. (z.B.: cd /home/benutzername/Downloads ) aheinecke@5065: % Anschlie�end f�hren Sie folgende Befehle auf der Kommandozeile aus: aheinecke@5065: % aheinecke@5065: % \begin{lstlisting} aheinecke@5065: % unzip instantclient-basic-linux-x86-64-11.2.0.2.0.zip -d /opt aheinecke@5065: % unzip instantclient-sdk-linux-x86-64-11.2.0.2.0.zip -d /opt aheinecke@5065: % unzip instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip -d /opt aheinecke@5065: % aheinecke@5065: % mkdir /opt/instantclient_11_2/lib aheinecke@5065: % cd /opt/instantclient_11_2/lib aheinecke@5065: % ln -s ../libclntsh.so.11.1 . aheinecke@5065: % ln -s ../libclntsh.so.11.1 libclntsh.so aheinecke@5065: % ln -s ../libnnz11.so . aheinecke@5065: % ln -s ../libocci.so.11.1 . aheinecke@5065: % ln -s ../libocci.so.11.1 libocci.so aheinecke@5065: % ln -s ../libociei.so . aheinecke@5065: % ln -s ../libocijdbc11.so . aheinecke@5065: % ln -s ../libsqlplusic.so . aheinecke@5065: % ln -s ../libsqlplus.so . aheinecke@5065: % aheinecke@5065: % echo "/opt/instantclient_11_2/lib/" > /etc/ld.so.conf.d/oci.conf aheinecke@5065: % ldconfig aheinecke@5065: % \end{lstlisting} aheinecke@5065: % aheinecke@5065: %Sollten keine Fehler aufgetreten sein, haben Sie den \textit{Oracle aheinecke@5065: % Instantclient 11.2} erfolgreich entpackt und im Dateisystem unter aheinecke@5065: % \textit{/opt/instantclient\_11\_2} abgelegt. aheinecke@5065: % aheinecke@5065: \subsubsection{Vorbereiten der Datenbank} ingo@3661: Bevor die Importer verwendet werden k�nnen, ist es notwendig, dass eine leere ingo@3661: Oracle Datenbank vorhanden ist. Anschlie�end m�ssen folgende SQL Skripte in ingo@3661: diese Datenbank eingespielt werden: ingo@3661: ingo@3661: \begin{enumerate} ingo@3661: \item oracle.sql \\ ingo@3661: In diesem SQL Skript befindet sich das Schema zum Speichern der hydrologischen ingo@3661: Daten. ingo@3661: ingo@3661: \item oracle-minfo.sql \\ ingo@3661: In diesem SQL Skript befindet sich das Schema zum Speichern der morphologischen ingo@3661: Daten. ingo@3661: ingo@3661: \item oracle-spatial.sql \\ ingo@3661: In diesem SQL Skript befindet sich das Schema zum Speichern der geod�tischen ingo@3661: Daten. ingo@3661: ingo@3661: \item oracle-spatial\_idx.sql \\ ingo@3661: Mittels diesem SQL Skript werden die Indizes zum geod�tischen Datenbankschema\\ ingo@3661: hinzugef�gt. ingo@3661: ingo@3661: \end{enumerate} ingo@3661: ingo@3672: Zum Einspielen dieser Schemata setzen Sie folgende Befehle auf der Kommandozeile ingo@3672: ab. Beachten Sie, dass $sqlplus$ im Pfad liegen muss, und der Linux-Nutzer felix@5041: dieses Kommando ausf�hren k�nnen muss. Au�erdem sind $benutzername$ und $passwort$ ingo@3672: entsprechend Ihres Datenbank-Zugangs anzupassen. aheinecke@5065: SQLPlus befindet sich in /opt/instantclient\_11\_2 um es verf�gbar zu machen aheinecke@5065: f�hren Sie im Importer Verzeichnis folgende Befehle aus: aheinecke@5065: aheinecke@5065: \begin{lstlisting} aheinecke@5065: export LD_LIBRARY_PATH=opt/instantclient\_11\_2/lib:$LD_LIBRARY_PATH aheinecke@5065: export PATH=opt/instantclient\_11\_2:$PATH aheinecke@5065: \end{lstlisting} aheinecke@5065: aheinecke@5065: Nun erstellen Sie das Schema: ingo@3667: ingo@3661: \begin{lstlisting} ingo@3672: sqlplus benutzername/passwort @schema/oracle.sql ingo@3672: sqlplus benutzername/passwort @schema/oracle-minfo.sql ingo@3672: sqlplus benutzername/passwort @schema/oracle-spatial.sql ingo@3672: sqlplus benutzername/passwort @schema/oracle-spatial_idx.sql ingo@3661: \end{lstlisting} ingo@3661: aheinecke@5065: