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]