changeset 3658:55c4b7442236

Initial checkin of documentation of the shape importer. flys-backend/trunk@5252 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 23 Aug 2012 15:46:01 +0000 (2012-08-23)
parents 4f16070b917b
children 36edf9a71cbd
files flys-backend/doc/shapeimporter/documentation.txt
diffstat 1 files changed, 227 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-backend/doc/shapeimporter/documentation.txt	Thu Aug 23 15:46:01 2012 +0000
@@ -0,0 +1,227 @@
+Geodaten Importer
+=================
+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 `Systemanforderungen` und `Installationsanleitung`.
+Der Importer kann mit einem Shellscript von der Kommandozeilen gestartet werden
+(siehe Kapitel `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 `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:
+
+  INFO: Inserted 4 features         Gibt die Anzahl der erfolgreich importierten
+                                    Features an.
+
+  INFO: Failed to create 2 features   Gibt die Anzahl der Features an, die nicht
+                                      importiert werden konnten.
+
+  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.
+
+  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.
+
+  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.
+
+
+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:
+
+  Pfad          Der Pfad, in dem die Shapefiles im Dateisystem abgelegt sein
+                müssen ausgehend vom Gewässer Verzeichnis.
+
+  Geometrie     Der Geometrie Typ, der für diese Klasse von Shapefiles
+                erwartet wird.
+
+  Attribute     Eine Liste der Attribute, die vom Parser aus dem Shape
+                gelesen werden.
+
+
+    Achsen
+    ------
+    Pfad        Geodaesie/Flussachse+km
+    Geometrie   LINESTRING
+    Attribute   name, kind
+
+
+    Hydrologische Grenzen
+    ---------------------
+    Pfad        Hydrologie/Hydr.Grenzen/Linien
+    Geometrie   LINESTRING, POLYGON
+    Attribute   name, kind
+
+
+    Bauwerke
+    --------
+    Pfad        Geodaesie/Bauwerke
+    Geometrie   LINESTRING
+    Attribute   name, Name, KWNAAM
+
+
+    Einzugsgebiete
+    --------------
+    Pfad        Hydrologie/Einzugsgebiet
+    Geometrie   POLYGON, MULTIPOLYGON
+    Attribute   name, Name, AREA, area
+
+
+    Querprofilspuren
+    ----------------
+    Pfad        Geodaesie/Querprofile
+    Geometrie   LINESTRING
+    Attribute   KILOMETER, KM, STATION, ELEVATION
+
+
+    Festpunkte
+    ----------
+    Pfad        Geodaesie/Festpunkte
+    Geometrie   POINT
+    Attribute   name, KM, ELBE_KM, X, Y, HPGP
+
+
+    Talaue
+    ------
+    Pfad        Hydrologie/Hydr.Grenzen
+    Geometrie   POLYGON, MULTIPOLYGON
+    Attribute   name
+
+
+    Pegelstationen
+    --------------
+    Pfad        Hydrologie/Streckendaten
+    Geometrie   POINT
+    Attribute   Name, name, MPNAAM
+
+
+    Hochwasserschutzanlagen
+    -----------------------
+    Pfad        Hydrologie/HW-Schutzanlagen
+    Geometrie   LINESTRING
+    Attribute   TYP, Bauart, Name, name
+
+
+    Kilometrierung
+    --------------
+    Pfad        Geodaesie/Flussachse+km
+    Geometrie   POINT
+    Attribute   name, km, KM
+
+
+    Linien
+    ------
+    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.
+
+
+    Überschwemmungsfläche
+    ----------------------
+    Pfad        Hydrologie/UeSG/Berechnung
+    Geometrie   POLYGON, MULTIPOLYGON
+    Attribut    name, diff, count, area, perimeter
+
+
+Systemanforderungen
+-------------------
+ * Oracle Datenbank inkl. Schema für FLYS
+ * GDAL Binding für Python mit Oracle Support
+ * ogr2ogr
+ * Python >= 2.6
+
+
+Installationsanleitung
+----------------------
+ * TODO: GDAL Binding installieren
+ * TODO: Python installieren
+ * TODO: ogr2ogr installieren
+
+
+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:
+
+  RIVER_PATH    Der Pfad zum Gewässer im Dateisystem.
+  RIVER_ID      Die Datenbank ID des zu importierenden Gewässers.
+  TARGET_SRS    Das EPSG Referenzsystem in das die Geodaten beim Import
+                projeziert werden sollen.
+  HOST          Der Host der Datenbank.
+  USER          Der Nutzer, der zum Verbinden zur Datenbank verwendet wird.
+  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.
+
+  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.
+
+  SKIP_AXIS             Bei gesetztem Wert `1` werden keine Flussachsen importiert.
+  SKIP_KMS              Bei gesetztem Wert `1` werden keine Kilometrierungen importiert.
+  SKIP_CROSSSECTIONS    Bei gesetztem Wert `1` werden keine Querprofilespuren
+                        importiert.
+  SKIP_LINES            Bei gesetztem Wert `1` werden keine Linien importiert.
+  SKIP_FIXPOINTS        Bei gesetztem Wert `1` werden keine Festpunkte importiert.
+  SKIP_BUILDINGS        Bei gesetztem Wert `1` werden keine Bauwerke importiert.
+  SKIP_FLOODPLAINS      Bei gesetztem Wert `1` werden keine Talauen importiert.
+  SKIP_HYDR_BOUNDARIES  Bei gesetztem Wert `1` werden keine hydrologischen
+                        Grenzen importiert.
+  SKIP_HWS              Bei gesetztem Wert `1` werden keine
+                        Hochwasserschutzanlagen importiert.
+  SKIP_GAUGE_LOCATION   Bei gesetztem Wert `1` werden keine Pegelorte importiert.
+  SKIP_CATCHMENTS       Bei gesetztem Wert `1` werden keine Einzugsgebiete importiert.
+  SKIP_UESG             Bei gesetztem Wert `1` werden keine
+                        Überschwemmungsflächen importiert.
+
+
+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:
+
+  $> sh contrib/shpimporter/run.sh > import.log
+
+Der Importer wird nun gestartet. Sämtliche Log-Ausgaben werden in die Datei
+`import.log` geschrieben.

http://dive4elements.wald.intevation.org