Mercurial > dive4elements > river
diff flys-backend/doc/documentation/de/importer-geodaesie.tex @ 3661:3ea5e835ecce
Initial checkin of documentation of importer and shape importer.
flys-backend/trunk@5264 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 24 Aug 2012 14:13:19 +0000 |
parents | |
children | 6c0d6d74139c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-backend/doc/documentation/de/importer-geodaesie.tex Fri Aug 24 14:13:19 2012 +0000 @@ -0,0 +1,284 @@ +\section{Geodatenimport} + +Der Geodaten Importer ist ein in Python geschriebenes Kommandozeilen Tool zum +Import von Shapefiles in eine Datenbank. Zum Lesen der Shapefiles und zum +Schreiben der Geodaten in die Datenbank wird GDAL verwendet. Zum Import in eine +Oracle Datenbank ist es erforderlich, dass GDAL und GDAL Python Bindungs mit +Oracle Unterstützung installiert sind. Weitere Details hierzu befinden sich im +Kapitel \ref{Systemanforderungen} und \ref{Installationsanleitung}. + +Der Importer kann mit einem Shellscript von der Kommandozeilen gestartet werden +(siehe Kapitel \ref{Starten des Geodaten Importers}). Nach dem Start wird anhand der +Konfiguration festgestellt, welche Klassen von Shapefiles aus dem Dateisystem +importiert werden sollen. Für jede Klasse gibt es hierzu einen speziellen +Parser, der die speziellen Attribute eines Shapefiles liest und in die ent- +sprechende Relation der Datenbank schreibt. Die Parser sind speziell auf das +Dateisystem der BfG ausgerichtet. So wird z.B. erwartet, dass die Shapefiles der +Gewässerachse im Ordner $Geodaesie/Flussachse+km$ liegen. Weitere Informationen zu +den einzelnen Parsern sind dem nächsten Kapitel \ref{Beschreibung der Parser} zu +entnehmen. Der Erfolg oder Misserfolg eines Shape-Imports wird je nach +Konfiguration im Logfile vermerkt. Folgende Einträge können dem Logfile +entnommen werden: + +\textbf{INFO: Inserted 4 features} +\\Gibt die Anzahl der erfolgreich importierten Features an.\\ + +\textbf{INFO: Failed to create 2 features} +\\Gibt die Anzahl der Features an, die nicht importiert werden konnten.\\ + +\textbf{INFO: Found 3 unsupported features} +\\Gibt die Anzahl der Features an, die aufgrund ihres Datentyps nicht importiert +werden konnten. Z.B: es werden Linien erwartet, im Shapefile sind jedoch +Polygone enthalten.\\ + +\textbf{ERROR: Unable to insert feature: DETAIL} +\\Beim Lesen der Attribute eines Features ist ein Fehler aufgetreten. +Das Feature konnte nicht in die Datenbank geschrieben werden.\\ + +\textbf{ERROR: Exception while committing transaction} +\\Beim Abschluss des Schreib-Vorgangs in die Datenbank ist ein unerwarteter +Fehler aufgetreten. Die Features des Shapes sind nicht importiert worden.\\ + +Damit die Geodaten eines Shapes später eindeutig in der Datenbank identifiziert +werden können, wird für jede Geometrie der Pfad des Shapes im Dateisystem in +einer Spalte der Datenbank gespeichert. Anwendungen, die auf der Datenbank +aufbauen, können die Geodaten eines Shapefiles später anhand dieses Merkmals +gruppieren und anzeigen. + + +\subsection{Beschreibung der Parser} +\label{Beschreibung der Parser} + +Wie im letzten Kapitel beschrieben, sind die Parser speziell an das Dateisystem +der BfG ausgerichtet. Im folgenden werden zu jedem Parser folgende Informationen +angegeben: + +\textbf{Pfad} +\\Der Pfad, in dem die Shapefiles im Dateisystem abgelegt sein müssen ausgehend +vom Gewässer Verzeichnis. + +\textbf{Geometrie} +\\Der Geometrie Typ, der für diese Klasse von Shapefiles erwartet wird. + +\textbf{Attribute} +\\Eine Liste der Attribute, die vom Parser aus dem Shape gelesen werden. + + +\subsubsection{Achsen} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Geodaesie/Flussachse+km \\ +Geometrie & LINESTRING \\ +Attribute & name, kind \\ +\end{tabular} + + +\subsubsection{Hydrologische Grenzen} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Hydrologie/Hydr.Grenzen/Linien \\ +Geometrie & LINESTRING, POLYGON \\ +Attribute & name, kind \\ +\end{tabular} + +\subsubsection{Bauwerke} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Geodaesie/Bauwerke \\ +Geometrie & LINESTRING \\ +Attribute & name, Name, KWNAAM \\ +\end{tabular} + + +\subsubsection{Einzugsgebiete} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Hydrologie/Einzugsgebiet \\ +Geometrie & POLYGON, MULTIPOLYGON \\ +Attribute & name, Name, AREA, area \\ +\end{tabular} + + +\subsubsection{Querprofilspuren} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Geodaesie/Querprofile \\ +Geometrie & LINESTRING \\ +Attribute & KILOMETER, KM, STATION, ELEVATION \\ +\end{tabular} + + +\subsubsection{Festpunkte} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Geodaesie/Festpunkte \\ +Geometrie & POINT \\ +Attribute & name, KM, ELBE\_KM, X, Y, HPGP \\ +\end{tabular} + + +\subsubsection{Talaue} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Hydrologie/Hydr.Grenzen \\ +Geometrie & POLYGON, MULTIPOLYGON \\ +Attribute & name \\ +\end{tabular} + + +\subsubsection{Pegelstationen} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Hydrologie/Streckendaten \\ +Geometrie & POINT \\ +Attribute & Name, name, MPNAAM \\ +\end{tabular} + + +\subsubsection{Hochwasserschutzanlagen} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Hydrologie/HW-Schutzanlagen \\ +Geometrie & LINESTRING \\ +Attribute & TYP, Bauart, Name, name \\ +\end{tabular} + + +\subsubsection{Kilometrierung} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Geodaesie/Flussachse+km \\ +Geometrie & POINT \\ +Attribute & name, km, KM \\ +\end{tabular} + + +\subsubsection{Linien} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Geodaesie/Linien \\ +Geometrie & LINESTRING, MULTILINESTRING \\ +Attribute & name, TYP, Z \\ + +Anmerkung & Wenn kein Attribut 'TYP' definiert ist, wird standardmäßig der Wert \\ + & 'DAMM' angenommen. Fehlt ein Attribut 'Z' wird als '9999' als Höhe \\ + & angenommen. \\ +\end{tabular} + + +\subsubsection{Überschwemmungsfläche} +\hspace{1cm} +\begin{tabular}[t]{ll} +Pfad & Hydrologie/UeSG/Berechnung \\ +Geometrie & POLYGON, MULTIPOLYGON \\ +Attribut & name, diff, count, area, perimeter \\ +\end{tabular} + + +\subsection{Systemanforderungen} +\label{Systemanforderungen} +\begin{itemize} + \item Oracle Datenbank inkl. Schema für FLYS + \item GDAL Binding für Python mit Oracle Support + \item ogr2ogr + \item Python $>=$ 2.6 +\end{itemize} + + +\subsection{Installationsanleitung} +\label{Installationsanleitung} +\begin{itemize} + \item \todo GDAL Binding installieren + \item \todo Python installieren + \item \todo ogr2ogr installieren +\end{itemize} + + +\subsection{Konfiguration} +\label{Konfiguration} +Der Geodaten Importer kann über die Datei `contrib/shpimporter/run.sh` +konfiguriert werden. Öffnen Sie die Datei mit einem Texteditor Ihrer Wahl. +In den Zeilen 4-9 werden Optionen definiert, die zwangsläufig angepasst +werden müssen: + +\textbf{RIVER\_PATH} +\\Der Pfad zum Gewässer im Dateisystem. + +\textbf{RIVER\_ID} +\\Die Datenbank ID des zu importierenden Gewässers. + +\textbf{TARGET\_SRS} +\\Das EPSG Referenzsystem in das die Geodaten beim Import projeziert werden +sollen. + +\textbf{HOST} +\\Der Host der Datenbank. + +\textbf{USER} +\\Der Nutzer, der zum Verbinden zur Datenbank verwendet wird. + +\textbf{PASS} +\\Das Passwort für USER zum Verbinden zur Datenbank. + +In den Zeilen 12-23 werden weitere Optionen definiert, die bei Bedarf angepasst +werden können. Falls nicht anders angegeben, können die Optionen mit den Werten +`0` und `1` belegt werden. + +\textbf{VERBOSE} +\\Dieser Wert gibt die Granularität der Log-Ausgaben während des +Imports an. Je höher der Wert, desto mehr Informationen werden +in das Logfile geschrieben. Aktuell sind die Werte `0`, `1` und +`2` definiert. Wird der Wert `0` gesetzt, werden nur Fehler und +Warnungen in das Logfile geschrieben. Bei `1` werden neben +Fehlern und Warnungen auch Infos in das Logfile geschrieben. Bei +`2` werden sämtliche Ausgaben des Programms geschrieben. Dieser +Modus ist hauptsächlich für die Entwicklung gedacht. + +\textbf{SKIP\_AXIS} +\\Bei gesetztem Wert `1` werden keine Flussachsen importiert. + +\textbf{SKIP\_KMS} +\\Bei gesetztem Wert `1` werden keine Kilometrierungen importiert. + +\textbf{SKIP\_CROSSSECTIONS} +\\Bei gesetztem Wert `1` werden keine Querprofilespuren importiert. + +\textbf{SKIP\_LINES} +\\Bei gesetztem Wert `1` werden keine Linien importiert. + +\textbf{SKIP\_FIXPOINTS} +\\Bei gesetztem Wert `1` werden keine Festpunkte importiert. + +\textbf{SKIP\_BUILDINGS} +\\Bei gesetztem Wert `1` werden keine Bauwerke importiert. + +\textbf{SKIP\_FLOODPLAINS} +\\Bei gesetztem Wert `1` werden keine Talauen importiert. + +\textbf{SKIP\_HYDR\_BOUNDARIES} +\\Bei gesetztem Wert `1` werden keine hydrologischen Grenzen importiert. + +\textbf{SKIP\_HWS} +\\Bei gesetztem Wert `1` werden kein Hochwasserschutzanlagen importiert. + +\textbf{SKIP\_GAUGE\_LOCATION} +\\Bei gesetztem Wert `1` werden keine Pegelort importiert. + +\textbf{SKIP\_CATCHMENTS} +\\Bei gesetztem Wert `1` werden keine Einzugsgebiet importiert. + +\textbf{SKIP\_UESG} +\\Bei gesetztem Wert `1` werden keine Überschwemmungsflächen importiert. + + +\subsection{Starten des Geodaten Importers} +\label{Starten des Geodaten Importers} +Der Geodaten Importer wird mittels eines Shellskripts von einer Konsole +gestartet. Dazu wechseln Sie auf der Konsole in das Verzeichnis \todo und +führen Sie folgenden Befehl aus:\\ + +\begin{lstlisting} + sh contrib/shpimporter/run.sh > import.log +\end{lstlisting} +Der Importer wird nun gestartet. Sämtliche Log-Ausgaben werden in die Datei +$import.log$ geschrieben.