Oracle 8i

Werbung
®
GIS und relationale Datenbanken:
Arc/Info SDE und Oracle 8i Spatial
Übersicht
•
Relationale Datenbanken
•
Grenzen von Relationalen Datenbanken
•
Oracle 8i Spatial
•
ArcSDE
RDBMS
Relationale Datenbanken Managment Systeme
•
•
Alle Informationen werden in Tabellen gespeichert
•
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)
In jedem Feld befindet sich eine (atomare)
Information
RDBMS
Relationale Datenbanken Managment Systeme
Primärschlüssel
Fremdschlüssel
Grenzen von RDBMS
•
•
Keine komplexen Objekte in Feldern
•
•
Alle Operationen basieren auf Tabellenstruktur
•
Komplexe Objekte müssen auf mehrere Spalten
oder gar Relationen verteilt werden
Es sind keine direkten Operationen mit Objekten
möglich
Körper
Beispiel GIS:
Flächen
Knoten
Kanten
Bisherige 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
Neue 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 Teildatenbanken
z.B. nach Staaten, Regionen oder anderen Kriterien
– Orientiert sich weitestgehend an OGC SQL Spezifikationen
®
Oracle 8i - Primitive Geometrie Typen
Point
Line string
Arc line
string
Compound
line string
Self-crossing
line strings
Zulässig
Polygon
Polygon
with hole
Compound
polygon
Optimized
polygons
circle
rectangle
Self-crossing
polygons
Nicht zulässig
®
Oracle 8i - Erstellung von Objekten
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>
);
(20,25)
(10,10)
(30,10)
(40,10)
®
Shapefile → Oracle 8i - Converter
•
•
Verwendet den Oracle „SQL*Loader“
•
Erstellt ein SQL-Skript zur Generierung einer
Spatial-Tabelle
•
Unterteilt große Daten automatisch in vom „SQLLoader“ verarbeitbare SQL-Scripts
•
Wird nicht offiziell unterstützt
Verarbeitet Attribute (.DBF) ebenso wie Geometrie
(.SHP and .SHX)
®
Spatial 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
Quad Tree - Tessellation
Fixed Tile Decomposition
Hybrid Tile Decomposition
®
Oracle 8i – Auffinden von Objekten
Datenbank nach „Fixed Tiling Tesselation“
T1
T2
T3
T4
T5
T6
T7
T8
T9
®
Oracle 8i – Auffinden von Objekten
1. Filterschritt: Grobfilterung
T1
T2
T3
T4
T5
T6
T7
T8
T9
®
Oracle 8i – Auffinden von Objekten
2. Filterschritt: exakte Filterung
T1
T2
T3
T4
T5
T6
T7
T8
T9
Egenhoefer 4-Schnittmodell
B
A
A
1
0
1
0
0
0
0
0
B
Egenhoefer 9-Schnittmodell
B
A
A
1
0
1
1 0
1
0
0
1
0 0
1
1
1
1
0
1
1
B
®
Oracle 8i - Topologische Relationen
A
B
A
B
A
B
Contains
Inside
Touch
Covers
Covered by
A
A
B
A
B
B
Overlap
Boundaries Intersect
Overlap
Boundaries Disjoint
A
B
Disjoint
Equal
®
Oracle 8i – Beispiele für Buffering
•
•
Einfache Geometrietypen
Gruppen von Geometrietypen
®
Oracle 8i – Beispiel
Suche alle Städte in einem Bereich um Highway I 170
select
from
where
and
c.city
cities c, interstates i
highway = 'I 170'
mdsys.sdo_relate (
c.location,
mdsys.sdo_geom.sdo_buffer (
i.geom, 0.5, 0.00000005),
'mask=ANYINTERACT querytype=WINDOW'
) = 'TRUE';
ArcSDE – Universelle Datenschnittstelle
•
•
•
Server für den Zugriff auf Geo-Daten (über Dienste)
•
2 Module
Zugriff auf die Daten übers Netzwerk / Internet
Erleichtert den Übergang zu RDBMS
– SDE Server for Coverages
– SDE Server for DBMS
ArcSDE – 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, ...)
ArcSDE Server for Coverages
•
•
Nutzt die ArcInfo Datenformate
Es ist keine Konvertierung notwendig
ArcSDE 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
®
Ende
Oracle 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
Herunterladen