comparison 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
comparison
equal deleted inserted replaced
3660:976ead36192d 3661:3ea5e835ecce
1 \section{Geodatenimport}
2
3 Der Geodaten Importer ist ein in Python geschriebenes Kommandozeilen Tool zum
4 Import von Shapefiles in eine Datenbank. Zum Lesen der Shapefiles und zum
5 Schreiben der Geodaten in die Datenbank wird GDAL verwendet. Zum Import in eine
6 Oracle Datenbank ist es erforderlich, dass GDAL und GDAL Python Bindungs mit
7 Oracle Unterstützung installiert sind. Weitere Details hierzu befinden sich im
8 Kapitel \ref{Systemanforderungen} und \ref{Installationsanleitung}.
9
10 Der Importer kann mit einem Shellscript von der Kommandozeilen gestartet werden
11 (siehe Kapitel \ref{Starten des Geodaten Importers}). Nach dem Start wird anhand der
12 Konfiguration festgestellt, welche Klassen von Shapefiles aus dem Dateisystem
13 importiert werden sollen. Für jede Klasse gibt es hierzu einen speziellen
14 Parser, der die speziellen Attribute eines Shapefiles liest und in die ent-
15 sprechende Relation der Datenbank schreibt. Die Parser sind speziell auf das
16 Dateisystem der BfG ausgerichtet. So wird z.B. erwartet, dass die Shapefiles der
17 Gewässerachse im Ordner $Geodaesie/Flussachse+km$ liegen. Weitere Informationen zu
18 den einzelnen Parsern sind dem nächsten Kapitel \ref{Beschreibung der Parser} zu
19 entnehmen. Der Erfolg oder Misserfolg eines Shape-Imports wird je nach
20 Konfiguration im Logfile vermerkt. Folgende Einträge können dem Logfile
21 entnommen werden:
22
23 \textbf{INFO: Inserted 4 features}
24 \\Gibt die Anzahl der erfolgreich importierten Features an.\\
25
26 \textbf{INFO: Failed to create 2 features}
27 \\Gibt die Anzahl der Features an, die nicht importiert werden konnten.\\
28
29 \textbf{INFO: Found 3 unsupported features}
30 \\Gibt die Anzahl der Features an, die aufgrund ihres Datentyps nicht importiert
31 werden konnten. Z.B: es werden Linien erwartet, im Shapefile sind jedoch
32 Polygone enthalten.\\
33
34 \textbf{ERROR: Unable to insert feature: DETAIL}
35 \\Beim Lesen der Attribute eines Features ist ein Fehler aufgetreten.
36 Das Feature konnte nicht in die Datenbank geschrieben werden.\\
37
38 \textbf{ERROR: Exception while committing transaction}
39 \\Beim Abschluss des Schreib-Vorgangs in die Datenbank ist ein unerwarteter
40 Fehler aufgetreten. Die Features des Shapes sind nicht importiert worden.\\
41
42 Damit die Geodaten eines Shapes später eindeutig in der Datenbank identifiziert
43 werden können, wird für jede Geometrie der Pfad des Shapes im Dateisystem in
44 einer Spalte der Datenbank gespeichert. Anwendungen, die auf der Datenbank
45 aufbauen, können die Geodaten eines Shapefiles später anhand dieses Merkmals
46 gruppieren und anzeigen.
47
48
49 \subsection{Beschreibung der Parser}
50 \label{Beschreibung der Parser}
51
52 Wie im letzten Kapitel beschrieben, sind die Parser speziell an das Dateisystem
53 der BfG ausgerichtet. Im folgenden werden zu jedem Parser folgende Informationen
54 angegeben:
55
56 \textbf{Pfad}
57 \\Der Pfad, in dem die Shapefiles im Dateisystem abgelegt sein müssen ausgehend
58 vom Gewässer Verzeichnis.
59
60 \textbf{Geometrie}
61 \\Der Geometrie Typ, der für diese Klasse von Shapefiles erwartet wird.
62
63 \textbf{Attribute}
64 \\Eine Liste der Attribute, die vom Parser aus dem Shape gelesen werden.
65
66
67 \subsubsection{Achsen}
68 \hspace{1cm}
69 \begin{tabular}[t]{ll}
70 Pfad & Geodaesie/Flussachse+km \\
71 Geometrie & LINESTRING \\
72 Attribute & name, kind \\
73 \end{tabular}
74
75
76 \subsubsection{Hydrologische Grenzen}
77 \hspace{1cm}
78 \begin{tabular}[t]{ll}
79 Pfad & Hydrologie/Hydr.Grenzen/Linien \\
80 Geometrie & LINESTRING, POLYGON \\
81 Attribute & name, kind \\
82 \end{tabular}
83
84 \subsubsection{Bauwerke}
85 \hspace{1cm}
86 \begin{tabular}[t]{ll}
87 Pfad & Geodaesie/Bauwerke \\
88 Geometrie & LINESTRING \\
89 Attribute & name, Name, KWNAAM \\
90 \end{tabular}
91
92
93 \subsubsection{Einzugsgebiete}
94 \hspace{1cm}
95 \begin{tabular}[t]{ll}
96 Pfad & Hydrologie/Einzugsgebiet \\
97 Geometrie & POLYGON, MULTIPOLYGON \\
98 Attribute & name, Name, AREA, area \\
99 \end{tabular}
100
101
102 \subsubsection{Querprofilspuren}
103 \hspace{1cm}
104 \begin{tabular}[t]{ll}
105 Pfad & Geodaesie/Querprofile \\
106 Geometrie & LINESTRING \\
107 Attribute & KILOMETER, KM, STATION, ELEVATION \\
108 \end{tabular}
109
110
111 \subsubsection{Festpunkte}
112 \hspace{1cm}
113 \begin{tabular}[t]{ll}
114 Pfad & Geodaesie/Festpunkte \\
115 Geometrie & POINT \\
116 Attribute & name, KM, ELBE\_KM, X, Y, HPGP \\
117 \end{tabular}
118
119
120 \subsubsection{Talaue}
121 \hspace{1cm}
122 \begin{tabular}[t]{ll}
123 Pfad & Hydrologie/Hydr.Grenzen \\
124 Geometrie & POLYGON, MULTIPOLYGON \\
125 Attribute & name \\
126 \end{tabular}
127
128
129 \subsubsection{Pegelstationen}
130 \hspace{1cm}
131 \begin{tabular}[t]{ll}
132 Pfad & Hydrologie/Streckendaten \\
133 Geometrie & POINT \\
134 Attribute & Name, name, MPNAAM \\
135 \end{tabular}
136
137
138 \subsubsection{Hochwasserschutzanlagen}
139 \hspace{1cm}
140 \begin{tabular}[t]{ll}
141 Pfad & Hydrologie/HW-Schutzanlagen \\
142 Geometrie & LINESTRING \\
143 Attribute & TYP, Bauart, Name, name \\
144 \end{tabular}
145
146
147 \subsubsection{Kilometrierung}
148 \hspace{1cm}
149 \begin{tabular}[t]{ll}
150 Pfad & Geodaesie/Flussachse+km \\
151 Geometrie & POINT \\
152 Attribute & name, km, KM \\
153 \end{tabular}
154
155
156 \subsubsection{Linien}
157 \hspace{1cm}
158 \begin{tabular}[t]{ll}
159 Pfad & Geodaesie/Linien \\
160 Geometrie & LINESTRING, MULTILINESTRING \\
161 Attribute & name, TYP, Z \\
162
163 Anmerkung & Wenn kein Attribut 'TYP' definiert ist, wird standardmäßig der Wert \\
164 & 'DAMM' angenommen. Fehlt ein Attribut 'Z' wird als '9999' als Höhe \\
165 & angenommen. \\
166 \end{tabular}
167
168
169 \subsubsection{Überschwemmungsfläche}
170 \hspace{1cm}
171 \begin{tabular}[t]{ll}
172 Pfad & Hydrologie/UeSG/Berechnung \\
173 Geometrie & POLYGON, MULTIPOLYGON \\
174 Attribut & name, diff, count, area, perimeter \\
175 \end{tabular}
176
177
178 \subsection{Systemanforderungen}
179 \label{Systemanforderungen}
180 \begin{itemize}
181 \item Oracle Datenbank inkl. Schema für FLYS
182 \item GDAL Binding für Python mit Oracle Support
183 \item ogr2ogr
184 \item Python $>=$ 2.6
185 \end{itemize}
186
187
188 \subsection{Installationsanleitung}
189 \label{Installationsanleitung}
190 \begin{itemize}
191 \item \todo GDAL Binding installieren
192 \item \todo Python installieren
193 \item \todo ogr2ogr installieren
194 \end{itemize}
195
196
197 \subsection{Konfiguration}
198 \label{Konfiguration}
199 Der Geodaten Importer kann über die Datei `contrib/shpimporter/run.sh`
200 konfiguriert werden. Öffnen Sie die Datei mit einem Texteditor Ihrer Wahl.
201 In den Zeilen 4-9 werden Optionen definiert, die zwangsläufig angepasst
202 werden müssen:
203
204 \textbf{RIVER\_PATH}
205 \\Der Pfad zum Gewässer im Dateisystem.
206
207 \textbf{RIVER\_ID}
208 \\Die Datenbank ID des zu importierenden Gewässers.
209
210 \textbf{TARGET\_SRS}
211 \\Das EPSG Referenzsystem in das die Geodaten beim Import projeziert werden
212 sollen.
213
214 \textbf{HOST}
215 \\Der Host der Datenbank.
216
217 \textbf{USER}
218 \\Der Nutzer, der zum Verbinden zur Datenbank verwendet wird.
219
220 \textbf{PASS}
221 \\Das Passwort für USER zum Verbinden zur Datenbank.
222
223 In den Zeilen 12-23 werden weitere Optionen definiert, die bei Bedarf angepasst
224 werden können. Falls nicht anders angegeben, können die Optionen mit den Werten
225 `0` und `1` belegt werden.
226
227 \textbf{VERBOSE}
228 \\Dieser Wert gibt die Granularität der Log-Ausgaben während des
229 Imports an. Je höher der Wert, desto mehr Informationen werden
230 in das Logfile geschrieben. Aktuell sind die Werte `0`, `1` und
231 `2` definiert. Wird der Wert `0` gesetzt, werden nur Fehler und
232 Warnungen in das Logfile geschrieben. Bei `1` werden neben
233 Fehlern und Warnungen auch Infos in das Logfile geschrieben. Bei
234 `2` werden sämtliche Ausgaben des Programms geschrieben. Dieser
235 Modus ist hauptsächlich für die Entwicklung gedacht.
236
237 \textbf{SKIP\_AXIS}
238 \\Bei gesetztem Wert `1` werden keine Flussachsen importiert.
239
240 \textbf{SKIP\_KMS}
241 \\Bei gesetztem Wert `1` werden keine Kilometrierungen importiert.
242
243 \textbf{SKIP\_CROSSSECTIONS}
244 \\Bei gesetztem Wert `1` werden keine Querprofilespuren importiert.
245
246 \textbf{SKIP\_LINES}
247 \\Bei gesetztem Wert `1` werden keine Linien importiert.
248
249 \textbf{SKIP\_FIXPOINTS}
250 \\Bei gesetztem Wert `1` werden keine Festpunkte importiert.
251
252 \textbf{SKIP\_BUILDINGS}
253 \\Bei gesetztem Wert `1` werden keine Bauwerke importiert.
254
255 \textbf{SKIP\_FLOODPLAINS}
256 \\Bei gesetztem Wert `1` werden keine Talauen importiert.
257
258 \textbf{SKIP\_HYDR\_BOUNDARIES}
259 \\Bei gesetztem Wert `1` werden keine hydrologischen Grenzen importiert.
260
261 \textbf{SKIP\_HWS}
262 \\Bei gesetztem Wert `1` werden kein Hochwasserschutzanlagen importiert.
263
264 \textbf{SKIP\_GAUGE\_LOCATION}
265 \\Bei gesetztem Wert `1` werden keine Pegelort importiert.
266
267 \textbf{SKIP\_CATCHMENTS}
268 \\Bei gesetztem Wert `1` werden keine Einzugsgebiet importiert.
269
270 \textbf{SKIP\_UESG}
271 \\Bei gesetztem Wert `1` werden keine Überschwemmungsflächen importiert.
272
273
274 \subsection{Starten des Geodaten Importers}
275 \label{Starten des Geodaten Importers}
276 Der Geodaten Importer wird mittels eines Shellskripts von einer Konsole
277 gestartet. Dazu wechseln Sie auf der Konsole in das Verzeichnis \todo und
278 führen Sie folgenden Befehl aus:\\
279
280 \begin{lstlisting}
281 sh contrib/shpimporter/run.sh > import.log
282 \end{lstlisting}
283 Der Importer wird nun gestartet. Sämtliche Log-Ausgaben werden in die Datei
284 $import.log$ geschrieben.

http://dive4elements.wald.intevation.org