Mercurial > dive4elements > river
view backend/doc/documentation/de/overview.tex @ 8682:5102733c4567
issue1755 Prevent out of bounds access when there is no data
If there is no data it will default to the complete river.
In the following overview you can then see that there is no
data. Better then a "Error changing state".
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 13 Apr 2015 11:03:00 +0200 |
parents | 73946c0007ff |
children | 3e212106455c |
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 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/index.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. 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 # Paketliste 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 verbinden Sie sich mit der Datenbank \begin{lstlisting} sqlplus user/password@connect_identifier \end{lstlisting} und erstellen das Schema: \begin{lstlisting} @schema/oracle.sql @schema/oracle-minfo.sql @schema/oracle-spatial.sql @schema/oracle-spatial_idx.sql \end{lstlisting} Hierbei ist \begin{lstlisting} user/password@connect_identifier \end{lstlisting} so etwas wie \begin{lstlisting} ICH/geheim@127.0.0.1:1234/DB.TEST.FIRMA.DE \end{lstlisting} Um sqlplus zu verlassen verwenden Sie \begin{lstlisting} exit \end{lstlisting}