Von der Karte zur Geo-Datenbank. Die Tücken in der Praxis

Werbung
Von der Karte zur Geo-Datenbank.
Die Tücken in der Praxis
dialog
DOAG-Jahreskonferenz 2007
Nürnberg, 22.11.2007
daten
Andreas Bartels und Dr. Gergely Lukács
disy Informationssysteme GmbH
dimensionen
disy Informationssysteme GmbH, www.disy.net
Agenda
disy Informationssysteme GmbH
Das Projekt “RIPS-ShapeCache”
Import-Werkzeuge von Oracle
Validierung und Korrektur von Geometrien
Import-Module
Zusammenfassung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
2 - www.disy.net
Kurzprofil
disy Informationssysteme: Software und Beratung
GmbH, private Gesellschafter
Standort: Karlsruhe
Gründung: 1997
Mitarbeiter: 50
Informatiker und Mathematiker mit Branchenerfahrung
Innovative Entwicklungsmethoden
Telefon- und Webkonferenzen
Application Sharing
Rückrufsysteme
Systeme für Virtuelle Call Center
CTI und Sprachlösungen
Berichte, Auswertungen und GIS
Geodateninfrastrukturen und Spatial Reporting
Datenbankintegration und Data-Warehouse-Lösungen
GIS-Lösungen
Metadatenkataloge
3
Produkte und Themen
disy Preludio
disy GISterm
disy Cadenza
Metadaten & GDI
Desktop & Web GIS
Spatial Reporting
Beratung und Umsetzung von Sach- und Geodateninfrastrukturen
Umwelt und andere Fach- und Anwendungsgebiete
4
Verbreitung von disy GIS-Produkten
Ca. 4000 Arbeitsplätze
Baden-Württemberg
‰
‰
Div. Umweltthemen
Forst, Flurneuordnung,
Landschaftspflege
7 Bundesländer
Bund
‰
BfS
‰
BAW
Österreich
‰
Seit Ende 2006
Weiterentwicklung
‰
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
5 - www.disy.net
F&E Projekte
Agenda
disy Informationssysteme GmbH
Das Projekt “RIPS-ShapeCache”
Import-Werkzeuge von Oracle
Validierung und Korrektur von Geometrien
Import-Module
Zusammenfassung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
6 - www.disy.net
Das Projekt „RIPS-ShapeCache“
Ziel
Verlagerung der Shapefile basierten GDI in eine Datenbank mit offenem
Geometrie-Format.
Vorhandene GIS-Anwendungen sollten aber weiterhin nutzbar sein.
Aufgabe
Implementierung eines Dienstes, der die Erfassung von geographischen
Daten in einer Oracle-Datenbank, über den Import und Export von ESRIShapfiles realisiert.
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
7 - www.disy.net
Datenbank
Server
Das Projekt „RIPS-ShapeCache“
Export
Import
FileSystem
Cache
Clients
Datei-System
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
8 - www.disy.net
Datenbank
Datenbank
Server
Das Projekt „RIPS-ShapeCache“
Export
Import
FileSystem
Cache
Clients
Datei-System
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
9 - www.disy.net
Datenbank
Agenda
disy Informationssysteme GmbH
Das Projekt “RIPS-ShapeCache”
Import-Werkzeuge von Oracle
Validierung und Korrektur von Geometrien
Import-Module
Zusammenfassung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
10 - www.disy.net
Import-Werkzeuge von Oracle
Oracle Shapefile Converter [1]
Oracle Map Builder [2]
Oracle Java Shapefile Converter [1]
Oracle Spatial Java Class Library [1]
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
11 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Shapefile
Converter
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
12 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Shapefile
Kommandozeilen basiert
Converter
Binary Code für Windows, Solaris und Linux
Konvertiert Shapefile-Format in SQL*Loader-Format
Schwer automatisierbar
Benötigte weitere Schritte
Anlegen der Tabelle, Metadaten, Indexe
Import mit SQL*Loader
Migration der Geometrien
Probleme mit Character-Encoding, NULL-Werten und Multi-Geometrien
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
13 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Map
Builder
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
14 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Map
GUI basiertes
Builder
Java-Programm
Importiert Shapefile direkt in Datenbank
Nicht Automatisierbar
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
15 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Java
Shapefile
Converter
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
16 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Java
Kommandozeilen basiert
Shapefile
Converter
Java-Programm
Importiert Shapefile direkt in Datenbank
Schwer automatisierbar
Probleme mit Character-Encoding und NULL-Werten
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
17 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Spatial
Java Package zum Zugriff auf Oracle Locator/Spatial Geometrien
oracle.spatial.geometry
Java
Class
Library
Java Package zum Lesen von Shapefiles
oracle.spatial.util
kein Package zum Schreiben
Referenz-Implementierung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
18 - www.disy.net
Import-Werkzeuge von Oracle
Oracle
Spatial
Class oracle.spatial.geometry.JGeometry implementiert
Java
Repräsentator der Geometrie
Class
Factory
Library
Converter von/nach oracle.sql.STRUCT
Converter nach java.awt.Shape
JGeometry geometry =
JGeometry.createPoint(new double[]{3450000,5733000},2,31467);
if (geometry != null) then {
STRUCT struct = JGeometry.store(geometry, connection);
statement.setObject(columnNumber, struct);
} else {
statement.setNull(columnNumber,Types.OTHER);
}
statement.execute();
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
19 - www.disy.net
Import-Werkzeuge von Oracle
Applicationen entsprechen nicht den Anforderungen
Nicht automatisierbar
oder
Automatisierung aufwendig und zerbrechlich
Beispiel-Implementierung durch Oracle Java Shapfile Converter vorhanden
Java Library bietet benötigte Funktionalität für den Import von Shapefiles
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
20 - www.disy.net
Agenda
disy Informationssysteme GmbH
Das Projekt “RIPS-ShapeCache”
Import-Werkzeuge von Oracle
Validierung und Korrektur von Geometrien
Import-Module
Zusammenfassung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
21 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
VALIDATE_GEOMETRY_WITH_CONTEXT(
theGeometry IN SDO_GEOMETRY,
tolerance IN NUMBER
) RETURN VARCHAR2;
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
22 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
VALIDATE_LAYER_WITH_CONTEXT(
geom_table IN VARCHAR2,
geom_column IN VARCHAR2,
result_table IN VARCHAR2);
benötigt
leere Ergebnis-Tabelle
CREATE TABLE val_results
(sdo_rowid ROWID, result varchar2(1000));
Eintrag in USER_SDO_GEOM_METADATA
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
23 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
View USER_SDO_GEOM_METADATA
SELECT M.TABLE_NAME,
M.COLUMN_NAME,
M.SRID,
D.SDO_DIMNAME,
D.SDO_LB,
D.SDO_UB,
D.SDO_TOLERANCE
FROM USER_SDO_GEOM_METADATA M,
TABLE(M.DIMINFO) D;
TABLE_NAME
----------V3170138200
V3170138200
I3170138200
I3170138200
N3170138200
N3170138200
COLUMN_NAME SRID
----------- -----GEOMETRY
31467
GEOMETRY
31467
GEOMETRY
31467
GEOMETRY
31467
GEOMETRY
31467
GEOMETRY
31467
SDO_DIMNAME SDO_LB
SDO_UB
SDO_TOLERANCE
----------- -------- -------- ------------X
3400000 3500000
0.005
Y
5300000 5400000
0.005
X
3400000 3500000
0.005
Y
5300000 5400000
0.005
X
3400000 3500000
0.005
Y
5300000 5400000
0.005
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
24 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
25 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
ORA-13340
ORA-13349
ORA-13350
ORA-13351
ORA-13356
Der Punkt besitzt mehr als eine Koordinate
Der äußere Ring des Polygons überschneidet sich
Die inneren und äußeren Ringe des Polygons berühren sich
Innere und äußere Ringe des Polygons überschneiden sich
In der Geometrie sind doppelte Stützpunkte vorhanden
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
26 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
ORA-13340
ORA-13349
ORA-13350
ORA-13351
ORA-13356
Der Punkt besitzt mehr als eine Koordinate
Der äußere Ring des Polygons überschneidet sich
Die inneren und äußeren Ringe des Polygons berühren sich
Innere und äußere Ringe des Polygons überschneiden sich
In der Geometrie sind doppelte Stützpunkte vorhanden
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
27 - www.disy.net
Validierung und Korrektur von Geometrien
Validierung
Ergebnis der Validierung ist stark Toleranz abhängig
Großes Problem bei Polygonen, da Toleranz größer sein kann als Distanz zum
Nachbarpunkt
Ergebnis der Validierung gibt nur ersten Fehler zurück
Position des Fehler muss durch eigene Implementierung
ermittelt werden
Implementierung von Erweiterungen notwendig wenn Datenbank-Funktionen
nicht ausreichen.
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
28 - www.disy.net
Validierung und Korrektur von Geometrien
Besondere Fehlerquellen
Unterschiedlicher qualitativer Umgang mit Geometrien
z.B. Berücksichtigung und Umgang mit Koordinaten- Genauigkeit
Unterschiedlicher Ausprägung bei Geometrien in GIS-Programm und
Datenbank in Spezialfällen
z.B. Polygon-Löcher mit Punkt auf Polygon-Umring
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
29 - www.disy.net
Validierung und Korrektur von Geometrien
Unterschiedlicher
Umgang
toleranz = 0.01
P1 = (1.000,1.007)
P2 = (1.000,1.016)
mit
Grid basiert
Distanz basiert (Oracle)
Genauigkeit
P1 = (1.00,1.01)
P1 = (1.000,1.007)
P2 = (1.00,1.02)
beim
P2 = (1.000,1.016)
Speichern
1.02
1.02
1.01
1.01
1.00
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
30 - www.disy.net
1.00
Validierung und Korrektur von Geometrien
toleranz = 0.01
P1 = (0.000,1.007)
P2 = (1.000,1.007)
P3 = (1.000,1.016)
Unterschiedlicher
Umgang
mit
Genauigkeit
bei
Anfragen
Grid basiert
Distanz basiert
P1 = (0.000,1.01)
P2 = (1.000,1.01)
P3 = (1.000,1.02)
P1 = (0.000,1.007)
P2 = (1.000,1.007)
t
P3
P1
P1
P3
d
P2
P1
P2
P2
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
31 - www.disy.net
Validierung und Korrektur von Geometrien
Unter-
z.B. Polygon-Löcher mit Punkt auf Polygon-
schiedliche
Umring
Ausprägung
im
Spezialfall
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
32 - www.disy.net
Validierung und Korrektur von Geometrien
Korrektur
Automatische Korrektur
In einigen Fällen möglich
z.B. Flasche Orientierung bei Polygon Ringen, doppelten Punkten, usw.
Achtung, kann zu neuen Fehlern
z.B. Eliminierung doppelter Punkte, Polygon kann zu Linie werden
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
33 - www.disy.net
Validierung und Korrektur von Geometrien
Korrektur
Manuelle Korrektur
In dem meisten Fällen nötig
z.B. wenn sich innere und äußere Ringe eines Polygons überschneiden
Ergebnis der Validierung muss für Anwender aufbereitet werden
z.B. als Fehler-Thema visualisiert
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
34 - www.disy.net
Validierung und Korrektur von Geometrien
FehlerVisualisierung
für manuelle
Korrektur
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
35 - www.disy.net
Validierung und Korrektur von Geometrien
Nur korrekte Eingaben erzeugen korrekte Ergebnisse
Fehlende Fehler-Robustheit bei Locator/Spatial-Funktionen
Fehlende Fehler-Robustheit bei GIS-Programmen
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
36 - www.disy.net
Import-Module
Prozesse
Konvertierung
Shapefile Geometrien nach Oracle Geometrie
Dbase-Daten in Oracle Daten
Validierung
Prüfen ob Geometrien den Anforderungen entsprechen
Korrektur
Automatisch über Locator/Spatial-Funktion und eigene Erweiterungen
Daten für Manuelle Korrektur aufbereiten
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
37 - www.disy.net
Import-Module
Daten
Eingabedaten
Shapefile-Dateien
Zwischen Tabelle (Staging-Table)
Ausgabe für Konvertierung
Eingabe für Validierung
Eingabe und Ausgabe für Korrektur
Validierungs Ergebnis-Tabelle
Ausgabe Validierung
Eingabe der Korrektur
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
38 - www.disy.net
Import-Module
Ablauf
Shapefile
Konvertierung
ZwischenValidierung
Tabelle
ZielSpeichern
Validierungs-
Tabelle
FehlerKorrektur
Report
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
39 - www.disy.net
Report
Agenda
disy Informationssysteme GmbH
Das Projekt “RIPS-ShapeCache”
Import-Werkzeuge von Oracle
Validierung und Korrektur
Import-Module
Zusammenfassung
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
40 - www.disy.net
Zusammenfassung
Die Datenübernahme aus anderen Formaten, nach Oracle, umfasst neben
der Konvertierung der technischen Formate auch die Validierung bzw. die
Korrektur der Geometrien.
Lösungen, die diesen Anforderungen gerecht werden, gehen deutlich über die
von Oracle in OTN angebotenen Anwendungen für den Shapefile-Import
hinaus.
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
41 - www.disy.net
Zusammenfassung
Eine mögliche Umsetzung umfasst Java-Anwendungen, Staging-Tabellen und
PL/SQL-Prozeduren.
Sie berücksichtigt Faktoren die sich durch Geodaten- erfassung, bzw. korrektur, -qualität und Geodatenbank ergeben.
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
42 - www.disy.net
Quellen
1. Oracle Spatial Utility and Plugin Downloads
http://www.oracle.com/technology/software/products/spatial/index.html
2. Oracle Application Server MapViewer
http://www.oracle.com/technology/software/products/mapviewer/index.html
3. Spatial User's Guide and Reference,
http://download-east.oracle.com
4. Oracle Forum Spatial,
http://forums.oracle.com/forums/forum.jspa?forumID=76
5. Pro Oracle Spatial
(Ravi Kothuri, Albert Godfrind und Euro Beinat), apress
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank
43 - www.disy.net
Vielen Dank!
Haben Sie weitere Fragen?
dialog
daten
dimensionen
disy Informationssysteme GmbH, Erbprinzenstr. 4-12, 76133 Karlsruhe
Tel.: +49 721/1 600 600, Fax: +49 721/1 600 605, E-Mail: [email protected]
Herunterladen