Mercurial > dive4elements > river
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. |