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