comparison backend/doc/documentation/de/importer-geodaesie.tex @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-backend/doc/documentation/de/importer-geodaesie.tex@ed149d5d7fb7
children 46c6ff16c422
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 \section{Geodatenimport}
2
3 Der Geodaten Importer ist ein in der Programmiersprache Python
4 geschriebenes Kommandozeilen Werkzeug zum Import von Shapefiles in
5 eine Datenbank.
6 Zum Lesen der Shapefiles und zum schreiben der Geodaten
7 in die Datenbank wird die GDAL Bibliothek verwendet.
8 Um Daten in eine Oracle Datenbank zu importieren ist es nötig, dass
9 GDAL und GDAL Python Bindungs mit Oracle Unterstützung installiert
10 sind. Bei der Verwendung von PostgreSQL entfällt dieser Schritt.
11 Weitere Details hierzu befinden sich im
12 Kapitel \ref{Systemanforderungen} und \ref{Installationsanleitung}.
13
14 Der Importer kann mit einem Shellscript von der Kommandozeile gestartet werden
15 (siehe Kapitel \ref{Starten des Geodaten Importers}). Nach dem Start wird anhand der
16 Konfiguration festgestellt, welche Klassen von Shapefiles aus dem Dateisystem
17 importiert werden sollen. Für jede Klasse gibt es einen speziellen
18 Parser, der die speziellen Attribute eines Shapefiles liest und in die entsprechende
19 Relation der Datenbank schreibt. Die Parser sind speziell auf das
20 Dateisystem der BfG ausgerichtet. So wird beispielsweise erwartet, dass die Shapefiles der
21 Gewässerachse im Ordner $Geodaesie/Flussachse+km$ liegen. Weitere Informationen zu
22 den einzelnen Parsern sind dem nächsten Kapitel \ref{Beschreibung der Parser} zu
23 entnehmen. Der Erfolg oder Misserfolg eines Shape-Imports wird je nach
24 Konfiguration im Logfile vermerkt. Folgende Einträge können dem Logfile
25 entnommen werden:
26
27 %TODO etwas zum srs schreiben.
28
29 \textbf{INFO: Inserted 4 features}
30 \\Gibt die Anzahl der erfolgreich importierten Features an.\\
31
32 \textbf{INFO: Failed to create 2 features}
33 \\Gibt die Anzahl der Features an, die nicht importiert werden konnten.\\
34
35 \textbf{INFO: Found 3 unsupported features of type: wbkMultiLineString}
36 \\Gibt die Anzahl der Features an, die aufgrund ihres Datentyps nicht importiert
37 werden konnten. Wenn etwa Punkte erwartet wurden aber sich im Shapefile
38 Polygone befanden.\\
39
40 \textbf{INFO: Did not import values from fields: TYP ID GRUENDUNG BHW}
41 \\Manche Importer versuchen neben der Geographischen Information weitere
42 Felder in die Datenbank einzulesen. Um festzustellen ob ein Feld aufgrund
43 von Tippfehlern oder unterschiedlicher Schreibweise nicht importiert wurde,
44 gibt diese Information Auskunft darüber welche Felder aus der Shape Datei
45 nicht verwendet wurden.\\
46
47 \textbf{ERROR: No source SRS given! No transformation possible!}
48 \\Das Shapefile enthält keine Information, in welcher Projektion die Geometrien
49 vorliegen. Es findet keine Transformation in die Zielprojektion statt. Bitte
50 beachten Sie, dass FLYS diese Geometrien später ggf nicht korrekt darstellen
51 kann.
52
53 \textbf{ERROR: Unable to insert feature: DETAIL}
54 \\Beim Lesen der Attribute eines Features ist ein Fehler aufgetreten.
55 Das Feature konnte nicht in die Datenbank geschrieben werden.\\
56
57 \textbf{ERROR: Exception while committing transaction}
58 \\Beim Abschluss des Schreib-Vorgangs in die Datenbank ist ein unerwarteter
59 Fehler aufgetreten. Die Features des Shapes sind nicht importiert worden.\\
60
61 \textbf{ERROR 1: ORA-01017: invalid username/password; logon denied}
62 \\Es konnte keine Verbindung zur Oracle Datenbank hergestellt werden. Prüfen Sie
63 die Verbindungseinstellungen.
64
65 Damit die Geodaten eines Shapes später eindeutig in der Datenbank identifiziert
66 werden können, wird für jede Geometrie der Pfad des Shapes im Dateisystem in
67 einer Spalte der Datenbank gespeichert. Anwendungen, die auf der Datenbank
68 aufbauen, können die Geodaten eines Shapefiles später anhand dieses Merkmals
69 gruppieren und anzeigen.
70
71
72 \subsection{Beschreibung der Parser}
73 \label{Beschreibung der Parser}
74
75 Wie im letzten Kapitel beschrieben, sind die Parser speziell an das Dateisystem
76 der BfG ausgerichtet. Im Folgenden werden zu jedem Parser folgende Informationen
77 angegeben:
78
79 \textbf{Pfad}
80 \\Der Pfad, in dem die Shapefiles im Dateisystem abgelegt sein müssen ausgehend
81 vom Gewässer Verzeichnis.
82
83 \textbf{Geometrie}
84 \\Der Geometrie Typ, der für diese Klasse von Shapefiles erwartet wird.
85
86 \textbf{Attribute}
87 \\Eine Liste der Attribute, die vom Parser aus dem Shape gelesen werden.
88
89
90 \subsubsection{Achsen}
91 \hspace{1cm}
92 \begin{tabular}[t]{ll}
93 Pfad & Geodaesie/Flussachse+km \\
94 Geometrie & LINESTRING \\
95 Attribute & name, kind \\
96 \end{tabular}
97
98
99 \subsubsection{Hydrologische Grenzen}
100 \hspace{1cm}
101 \begin{tabular}[t]{ll}
102 Pfad & Hydrologie/Hydr.Grenzen/Linien \\
103 Geometrie & LINESTRING, POLYGON \\
104 Attribute & name, kind, sectie, sobek \\
105 \end{tabular}
106
107 \subsubsection{Bauwerke}
108 \hspace{1cm}
109 \begin{tabular}[t]{ll}
110 Pfad & Geodaesie/Bauwerke \\
111 Geometrie & LINESTRING \\
112 Attribute & name, Name, KWNAAM \\
113 \end{tabular}
114
115
116 \subsubsection{Einzugsgebiete}
117 \hspace{1cm}
118 \begin{tabular}[t]{ll}
119 Pfad & Hydrologie/Einzugsgebiet \\
120 Geometrie & POLYGON, MULTIPOLYGON \\
121 Attribute & name, Name, AREA, area \\
122 \end{tabular}
123
124
125 \subsubsection{Querprofilspuren}
126 \hspace{1cm}
127 \begin{tabular}[t]{ll}
128 Pfad & Geodaesie/Querprofile \\
129 Geometrie & LINESTRING \\
130 Attribute & KILOMETER, KM, STATION, ELEVATION \\
131 \end{tabular}
132
133
134 \subsubsection{Festpunkte}
135 \hspace{1cm}
136 \begin{tabular}[t]{ll}
137 Pfad & Geodaesie/Festpunkte \\
138 Geometrie & POINT \\
139 Attribute & name, KM, ELBE\_KM, X, Y, HPGP \\
140 \end{tabular}
141
142
143 \subsubsection{Talaue}
144 \hspace{1cm}
145 \begin{tabular}[t]{ll}
146 Pfad & Hydrologie/Hydr.Grenzen \\
147 Geometrie & POLYGON, MULTIPOLYGON \\
148 Attribute & name \\
149 \end{tabular}
150
151
152 \subsubsection{Pegelstationen}
153 \hspace{1cm}
154 \begin{tabular}[t]{ll}
155 Pfad & Hydrologie/Streckendaten \\
156 Geometrie & POINT \\
157 Attribute & Name, name, MPNAAM \\
158 \end{tabular}
159
160
161 \subsubsection{Hochwasserschutzanlagen}
162 \hspace{1cm}
163 \begin{tabular}[t]{ll}
164 Pfad & Hydrologie/HW-Schutzanlagen \\
165 Geometrie & LINESTRING, POINT \\
166 Attribute & name, source, description, status\_date, agency,
167 dike\_km, range, z\_target, rated\_level, z \\
168 \end{tabular}
169
170
171 \subsubsection{Kilometrierung}
172 \hspace{1cm}
173 \begin{tabular}[t]{ll}
174 Pfad & Geodaesie/Flussachse+km \\
175 Geometrie & POINT \\
176 Attribute & name, km, KM \\
177 \end{tabular}
178
179
180 \subsubsection{Überschwemmungsfläche}
181 \hspace{1cm}
182 \begin{tabular}[t]{ll}
183 Pfad & Hydrologie/UeSG/Berechnung \\
184 Geometrie & POLYGON, MULTIPOLYGON \\
185 Attribut & name, diff, count, area, perimeter \\
186 \end{tabular}
187
188 \subsection{Konfiguration}
189 \label{Konfiguration}
190 Der Geodaten Importer kann über die Datei \textit{contrib/run\_geo.sh}
191 konfiguriert werden. Öffnen Sie die Datei mit einem Texteditor Ihrer Wahl.
192 In den Zeilen 4-9 werden Optionen definiert, die zwangsläufig angepasst
193 werden müssen:
194
195 \textbf{RIVER\_PATH}
196 \\Der Pfad zum Gewässer im Dateisystem.
197
198 \textbf{RIVER\_NAME}
199 \\Der Datenbank Name des zu importierenden Gewässers. Wird dieser Parameter
200 nicht übergeben werden die Ordnernamen im mit dem Parameter RIVER\_PATH
201 angegebenen Verzeichnis als Flussnamen interpretiert und es wird versucht
202 diese zu Importieren.
203
204 \textbf{HOST}
205 \\Der Host der Datenbank.
206
207 \textbf{USER}
208 \\Der Nutzer, der zum Verbinden zur Datenbank verwendet wird.
209
210 \textbf{PASS}
211 \\Das Passwort für USER zum Verbinden zur Datenbank.
212
213 In den Zeilen 12-23 werden weitere Optionen definiert, die bei Bedarf angepasst
214 werden können. Falls nicht anders angegeben, können die Optionen mit den Werten
215 `0` und `1` belegt werden.
216
217 \textbf{VERBOSE}
218 \\Dieser Wert gibt die Granularität der Log-Ausgaben während des
219 Imports an. Je höher der Wert, desto mehr Informationen werden
220 in das Logfile geschrieben. Aktuell sind die Werte `0`, `1` und
221 `2` definiert. Wird der Wert `0` gesetzt, werden nur Fehler und
222 Warnungen in das Logfile geschrieben. Bei `1` werden neben
223 Fehlern und Warnungen auch Infos in das Logfile geschrieben. Bei
224 `2` werden sämtliche Ausgaben des Programms geschrieben. Dieser
225 Modus ist hauptsächlich für die Entwicklung gedacht.
226
227 \textbf{OGR\_CONNECTION}
228 \\Hiermit kann direkt ein beliebiger Verbindungs string angegegeben
229 werden, welcher die host, user und passwort werde überschreibt.
230 Dieser Option wird direkt an die OGR Bibliothek weitergegeben und ermöglicht
231 verbesserte Tests und Entwicklung mit verschiedenen Daten Backends.
232
233 \textbf{SKIP\_AXIS}
234 \\Bei gesetztem Wert `1` werden keine Flussachsen importiert.
235
236 \textbf{SKIP\_KMS}
237 \\Bei gesetztem Wert `1` werden keine Kilometrierungen importiert.
238
239 \textbf{SKIP\_CROSSSECTIONS}
240 \\Bei gesetztem Wert `1` werden keine Querprofilespuren importiert.
241
242 \textbf{SKIP\_FIXPOINTS}
243 \\Bei gesetztem Wert `1` werden keine Festpunkte importiert.
244
245 \textbf{SKIP\_BUILDINGS}
246 \\Bei gesetztem Wert `1` werden keine Bauwerke importiert.
247
248 \textbf{SKIP\_FLOODPLAINS}
249 \\Bei gesetztem Wert `1` werden keine Talauen importiert.
250
251 \textbf{SKIP\_HYDR\_BOUNDARIES}
252 \\Bei gesetztem Wert `1` werden keine hydrologischen Grenzen importiert.
253
254 \textbf{SKIP\_HWS\_LINES}
255 \\Bei gesetztem Wert `1` werden kein Hochwasserschutz Liniendaten importiert.
256
257 \textbf{SKIP\_HWS\_POINTS}
258 \\Bei gesetztem Wert `1` werden kein Hochwasserschutz Punktdaten importiert.
259
260 \textbf{SKIP\_CATCHMENTS}
261 \\Bei gesetztem Wert `1` werden keine Einzugsgebiete importiert.
262
263 \textbf{SKIP\_UESG}
264 \\Bei gesetztem Wert `1` werden keine Überschwemmungsflächen importiert.
265
266 \textbf{SKIP\_DGM}
267 \\Bei gesetztem Wert `1` werden keine Informationen über Digitale Geländemodelle importiert.
268
269 \textbf{SKIP\_JETTIES}
270 \\Bei gesetztem Wert `1` werden keine Informationen über Buhnen importiert.
271
272 \textbf{SKIP\_FLOODMARKS}
273 \\Bei gesetztem Wert `1` werden keine Informationen über HW-Marken importiert.
274
275 \subsection{Starten des Geodaten Importers}
276 \label{Starten des Geodaten Importers}
277 Der Geodaten Importer wird mittels eines Shellskripts von einer Konsole
278 gestartet. Dazu führen Sie folgenden Befehl aus:\\
279
280 \begin{lstlisting}
281 sh contrib/run_geo.sh > geo-import.log
282 \end{lstlisting}
283
284 Der Importer wird nun gestartet. Sämtliche Log-Ausgaben werden in die Datei
285 $geo-import.log$ geschrieben.
286
287 \textbf{Hinweis}
288 \\Bitte beachten Sie, dass der Geodaten Importer aufgrund der eingesetzten
289 Technologien derzeit nicht in der Lage ist, lesend auf die Oracle Datenbank
290 zuzugreifen. Entsprechend kann beim Import nicht festgestellt werden, ob sich
291 Shapefiles bereits in der Datenbank befinden, oder nicht. Ein erneuter Import
292 Vorgang der Geodaten würde also dazu führen, dass Geometrien doppelt in der
293 Datenbank abgelegt werden.
294

http://dive4elements.wald.intevation.org