Upload
clothilde-aberle
View
125
Download
3
Embed Size (px)
Citation preview
®
GIS und relationale Datenbanken:
Arc/Info SDE und Oracle 8i Spatial
GIS und relationale Datenbanken:
Arc/Info SDE und Oracle 8i Spatial
ÜbersichtÜbersicht
• Relationale Datenbanken
• Grenzen von Relationalen Datenbanken
• Oracle 8i Spatial
• ArcSDE
• Relationale Datenbanken
• Grenzen von Relationalen Datenbanken
• Oracle 8i Spatial
• ArcSDE
RDBMS Relationale Datenbanken Managment Systeme
RDBMS Relationale Datenbanken Managment Systeme
• Alle Informationen werden in Tabellen gespeichert
• In jedem Feld befindet sich eine (atomare) Information
• Jeder Datensatz wird mit einem eindeutigen Schlüssel (Primary Key) versehen (z.B. ID)
• Beziehungen zwischen Datensätzen werden über Fremdschlüssel realisiert
• Indizierung von Feldern zur Steigerung der Geschwindigkeit bei der Datensatzsuche
• Abfragesprache SQL (Structured Query Language)
• Alle Informationen werden in Tabellen gespeichert
• In jedem Feld befindet sich eine (atomare) Information
• Jeder Datensatz wird mit einem eindeutigen Schlüssel (Primary Key) versehen (z.B. ID)
• Beziehungen zwischen Datensätzen werden über Fremdschlüssel realisiert
• Indizierung von Feldern zur Steigerung der Geschwindigkeit bei der Datensatzsuche
• Abfragesprache SQL (Structured Query Language)
RDBMS Relationale Datenbanken Managment Systeme
RDBMS Relationale Datenbanken Managment Systeme
FremdschlüsselFremdschlüssel
PrimärschlüsselPrimärschlüssel
Grenzen von RDBMSGrenzen von RDBMS
• Keine komplexen Objekte in Feldern
• Komplexe Objekte müssen auf mehrere Spalten oder gar Relationen verteilt werden
• Alle Operationen basieren auf Tabellenstruktur
• Es sind keine direkten Operationen mit Objekten möglich
• Beispiel GIS:
• Keine komplexen Objekte in Feldern
• Komplexe Objekte müssen auf mehrere Spalten oder gar Relationen verteilt werden
• Alle Operationen basieren auf Tabellenstruktur
• Es sind keine direkten Operationen mit Objekten möglich
• Beispiel GIS: KörperKörper
FlächenFlächen
KnotenKnoten KantenKanten
Bisherige GIS-SystemeBisherige GIS-Systeme
• Getrennte Speicherung von Geometrie und Sachdaten– Sachdaten/Topologie in Shapefiles
– Geometrie/Attribute in RDBMS
– Gründe:
– Mangel an OO-DBMS
– Performance (räumliche Indizes)
• Geometrie in BLOB-Feldern– Keine Datenbankoperationen mit Blob-Feldern möglich
– GIS-System ist für die Arbeit mit diesen Daten notwendig
• Getrennte Speicherung von Geometrie und Sachdaten– Sachdaten/Topologie in Shapefiles
– Geometrie/Attribute in RDBMS
– Gründe:
– Mangel an OO-DBMS
– Performance (räumliche Indizes)
• Geometrie in BLOB-Feldern– Keine Datenbankoperationen mit Blob-Feldern möglich
– GIS-System ist für die Arbeit mit diesen Daten notwendig
Neue GIS-SystemeNeue GIS-Systeme
• Ideale Lösung– Eine Datenbank für alle Daten
• Kommerzielle Systeme– Oracle 8i Spatial
– Esri ArcSDE
– IBM DB2 Spatial Extender
– Informix Spatial DataBlade
• Oracle 8i– Keine Größenbegrenzung (mehrere Terrabyte möglich)
– Automatische Aufteilung auf Teildatenbankenz.B. nach Staaten, Regionen oder anderen Kriterien
– Orientiert sich weitestgehend an OGC SQL Spezifikationen
• Ideale Lösung– Eine Datenbank für alle Daten
• Kommerzielle Systeme– Oracle 8i Spatial
– Esri ArcSDE
– IBM DB2 Spatial Extender
– Informix Spatial DataBlade
• Oracle 8i– Keine Größenbegrenzung (mehrere Terrabyte möglich)
– Automatische Aufteilung auf Teildatenbankenz.B. nach Staaten, Regionen oder anderen Kriterien
– Orientiert sich weitestgehend an OGC SQL Spezifikationen
PointPoint
PolygonPolygon Polygon Polygon with holewith hole
Self-crossingSelf-crossingline strings line strings
ZulässigZulässig
Self-crossingSelf-crossingpolygonspolygons
Nicht zulässigNicht zulässig
Oracle 8i - Primitive Geometrie TypenOracle 8i - Primitive Geometrie Typen
Line stringLine stringArc lineArc linestringstring
CompoundCompoundline stringline string
CompoundCompoundpolygonpolygon
OptimizedOptimizedpolygonspolygons
circlecirclerectanglrectanglee
®
Oracle 8i - Erstellung von ObjektenOracle 8i - Erstellung von Objekten
(10,10)(10,10)(10,10)(10,10)
(20,25)(20,25)(20,25)(20,25)
(30,10)(30,10)(30,10)(30,10) (40,10)(40,10)(40,10)(40,10)
SQL> INSERT INTO LINES VALUES ( 2> attribute_1, …. attribute_n, 3> MDSYS.SDO_GEOMETRY ( 4> 2002, null, null, 5> MDSYS.SDO_ELEM_INFO_ARRAY (1,2,1), 6> MDSYS.SDO_ORDINATE_ARRAY ( 7> 10,10, 20,25, 30,10, 40,10)) 8> );
SQL> INSERT INTO LINES VALUES ( 2> attribute_1, …. attribute_n, 3> MDSYS.SDO_GEOMETRY ( 4> 2002, null, null, 5> MDSYS.SDO_ELEM_INFO_ARRAY (1,2,1), 6> MDSYS.SDO_ORDINATE_ARRAY ( 7> 10,10, 20,25, 30,10, 40,10)) 8> );
®
Shapefile → Oracle 8i - ConverterShapefile → Oracle 8i - Converter
• Verwendet den Oracle „SQL*Loader“
• Verarbeitet Attribute (.DBF) ebenso wie Geometrie (.SHP and .SHX)
• Erstellt ein SQL-Skript zur Generierung einer Spatial-Tabelle
• Unterteilt große Daten automatisch in vom „SQL-Loader“ verarbeitbare SQL-Scripts
• Wird nicht offiziell unterstützt
• Verwendet den Oracle „SQL*Loader“
• Verarbeitet Attribute (.DBF) ebenso wie Geometrie (.SHP and .SHX)
• Erstellt ein SQL-Skript zur Generierung einer Spatial-Tabelle
• Unterteilt große Daten automatisch in vom „SQL-Loader“ verarbeitbare SQL-Scripts
• Wird nicht offiziell unterstützt
®
Spatial IndizierungSpatial Indizierung
• Basiert auf „Quad Tree Decomposition“
• Indiziert Punkte, Linien und Polygone
• Zwei unterschiedliche Methoden– Fixed tiling
– Hybrid tiling
• Der Vorgang der Indizierung nennt sicht „tessellation“ (Überlappungsfreie und vollständige Abdeckung des Raumes)
• Die Ergebnisse eines Tessellation-Prozesses werden in einem „spatial index“ gespeichert
• Basiert auf „Quad Tree Decomposition“
• Indiziert Punkte, Linien und Polygone
• Zwei unterschiedliche Methoden– Fixed tiling
– Hybrid tiling
• Der Vorgang der Indizierung nennt sicht „tessellation“ (Überlappungsfreie und vollständige Abdeckung des Raumes)
• Die Ergebnisse eines Tessellation-Prozesses werden in einem „spatial index“ gespeichert
®
Quad Tree - TessellationQuad Tree - Tessellation
Fixed Tile DecompositionFixed Tile Decomposition
Hybrid Tile DecompositionHybrid Tile Decomposition
Oracle 8i – Auffinden von ObjektenDatenbank nach „Fixed Tiling Tesselation“Oracle 8i – Auffinden von Objekten
Datenbank nach „Fixed Tiling Tesselation“
T1 T2 T7
T3 T4
T5 T6 T8 T9
®
Oracle 8i – Auffinden von Objekten1. Filterschritt: Grobfilterung
Oracle 8i – Auffinden von Objekten1. Filterschritt: Grobfilterung
T1 T2 T7
T3 T4
T5 T6 T8 T9
®
Oracle 8i – Auffinden von Objekten2. Filterschritt: exakte Filterung
Oracle 8i – Auffinden von Objekten2. Filterschritt: exakte Filterung
T1 T2 T7
T3 T4
T5 T6 T8 T9
®
Egenhoefer 4-SchnittmodellEgenhoefer 4-Schnittmodell
AABB AA
BB1 0
0 0
1 0
0 0
Egenhoefer 9-SchnittmodellEgenhoefer 9-Schnittmodell
AABB AA
BB1 0 1
0 0 1
1 1 1
1 0 1
0 0 1
0 1 1
A
B
A
B
AB
AB
A
BA B
A
B
ContainsInside
CoversCovered by
Touch
OverlapBoundaries Intersect
OverlapBoundaries Disjoint
Equal
Disjoint
Oracle 8i - Topologische RelationenOracle 8i - Topologische Relationen
®
• Einfache Geometrietypen• Einfache Geometrietypen
Oracle 8i – Beispiele für BufferingOracle 8i – Beispiele für Buffering
• Gruppen von Geometrietypen• Gruppen von Geometrietypen
®
Oracle 8i – BeispielOracle 8i – Beispiel
select c.city from cities c, interstates i where highway = 'I 170' and mdsys.sdo_relate ( c.location, mdsys.sdo_geom.sdo_buffer ( i.geom, 0.5, 0.00000005), 'mask=ANYINTERACT querytype=WINDOW' ) = 'TRUE';
select c.city from cities c, interstates i where highway = 'I 170' and mdsys.sdo_relate ( c.location, mdsys.sdo_geom.sdo_buffer ( i.geom, 0.5, 0.00000005), 'mask=ANYINTERACT querytype=WINDOW' ) = 'TRUE';
Suche alle Städte in einem Bereich um Highway I 170Suche alle Städte in einem Bereich um Highway I 170
®
ArcSDE – Universelle DatenschnittstelleArcSDE – Universelle Datenschnittstelle
• Server für den Zugriff auf Geo-Daten (über Dienste)
• Zugriff auf die Daten übers Netzwerk / Internet
• Erleichtert den Übergang zu RDBMS
• 2 Module– SDE Server for Coverages
– SDE Server for DBMS
• Server für den Zugriff auf Geo-Daten (über Dienste)
• Zugriff auf die Daten übers Netzwerk / Internet
• Erleichtert den Übergang zu RDBMS
• 2 Module– SDE Server for Coverages
– SDE Server for DBMS
ArcSDE – Universelle DatenschnittstelleArcSDE – Universelle Datenschnittstelle
• Zugriff auf die Daten in Tabellenform mit komplexen Objekten in Feldern
• Programmierschnittstelle (C, C++, VisualBasic, ...)
• Zugriff auf Daten aus verschiedensten Systemen(ArcInfo, ArcView, IMS, AutoCad, MicroStation, ...)
• Zugriff auf die Daten in Tabellenform mit komplexen Objekten in Feldern
• Programmierschnittstelle (C, C++, VisualBasic, ...)
• Zugriff auf Daten aus verschiedensten Systemen(ArcInfo, ArcView, IMS, AutoCad, MicroStation, ...)
ArcSDE Server for CoveragesArcSDE Server for Coverages
• Nutzt die ArcInfo Datenformate
• Es ist keine Konvertierung notwendig
• Nutzt die ArcInfo Datenformate
• Es ist keine Konvertierung notwendig
ArcSDE Server for DBMSArcSDE Server for DBMS
• Speichert die Daten in üblichen RDBMS(wie z.b Oracle, IBM DB2, Informix, MS SQL-Server, Sybase usw.)
• Nutzt eventuell vorhandene Spatial-Funktionen der Datenbanken– Oracle 8i Spatial
– IBM DB2 Spatial Extender
– Informix Spatial DataBlade
• Speichert die Daten in üblichen RDBMS(wie z.b Oracle, IBM DB2, Informix, MS SQL-Server, Sybase usw.)
• Nutzt eventuell vorhandene Spatial-Funktionen der Datenbanken– Oracle 8i Spatial
– IBM DB2 Spatial Extender
– Informix Spatial DataBlade
®
EndeEnde
Oracle 8i – OGC SpezifikationenOracle 8i – OGC Spezifikationen
Oracle OGC
Point Point
Point Cluster Multipoint
Curve
Circle
Optimized Rectangle
LineString LineString, Line, Linear Ring
Arc Strings MultiCurve
Compound Line String MultiLineString
Surface
Polygon Polygon
ArcPolygon
MultiSurface
Compound Polygon MultiPolygon