P r o s e m i n a r
Geoinfo II
Relationale Datenbanken
die Architektur von ArcSDE
Carsten Himpler
Bonn, 03.02.2003
Übersicht

Relationale Datenbanken

ArcSDE
Architektur
Datenintegrität
Datenspeicherung
Räumliche Anfragen
RELATIONALE
GEODATENBANKEN
Was ist eine relationale Geodatenbank?

Datenbank, die räumlich bezogene geographische Daten
enthält
Was ist eine relationale Geodatenbank?


Datenbank, die räumlich bezogene geographische Daten
enthält
Repräsentation von Dingen als Objekte mit Eigenschaften,
Verhalten und räumlichen Beziehungen;
Rhein
Name, Gesamtlänge…
Flussrichtung
Breite (x,y), Tiefe (x,y),…
Was ist eine relationale Geodatenbank?



Datenbank, die räumlich bezogene geographische Daten
enthält
Repräsentation von Dingen als Objekte mit Eigenschaften,
Verhalten und räumlichen Beziehungen;
Definition von Beziehungsregeln zwischen Objekten möglich
(referentielle Integrität)
Rhein
Name, Gesamtlänge…
Flussrichtung
Breite (x,y), Tiefe (x,y),…
Mindestabstand Gebäude - Ufer
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Relationship classes
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Objekt: nichträumlich
z.B.Grundstückseigentümer
Relationship classes
Objekt class:
Datentabelle von Objekten
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature: räumlich, koordiniert (x,y)
Feature classes
Typen: Punkt, Linie, Kurve, Polygon, Fläche
Relationship classes
z.B. Grundstück
Feature Class:
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Tabelle von Features des gleichen Types
enthält feature attributes (Adresse, m²,..)
unabhängig von anderen f.classes
Alle feature classes eines featuredatasets
haben das gleiche Koordinatensystem!
(spatial reference)
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Relationship classes
Relationship: verlinkt räumliche und
nicht räumliche Dinge
z.B. Zuordnung von
Grundstück und Eigentümer
Relationship class:
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
speichert Beziehungen zwischen classes
in Tabellen
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Relationship classes
Geometric networks:
Geom. networks
Benutzerdefinierte Sammlung von feature
classes
Domains
Validation rules
feature classes bilden ein geometrisches
Netzwerk aus
Raster datasets
Rasters
TIN datasets
Locators
Kanten, Knoten und Schritten („turn“)
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Relationship classes
Geom. networks
Planar topologies
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Planar topologies:
verbinden faetures zu kontinuierlichen
Flächenobjekten
erlauben faetures gemeinsame Grenzen
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Relationship classes
Geom. networks
Planar topologies
Domains:
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Definition von wahren Attributwerten
(text, numerisch)
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Relationship classes
Geom. networks
Planar topologies
Validation rules:
Domains
Validation rules
Raster datasets
erzwingen Datenintegrität durch Domänen,
relationship rules, connectivity rules
Rasters
TIN datasets
Locators
Bsp.: Verbindungsregeln für verschieden dicke
Wasserleitungen
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
Raster data:
(spatial reference)
Objekt classes
Feature classes
Relationship classes
kopierte Karte, Oberfläche, Gitterdaten (Temp.),
Luftbilder
Geom. networks
Planar topologies
Domains
Pyramidenform
Problem: Datengrösse!!!
Validation rules
Speicherform: Tabelle
Raster datasets
Rasters
TIN datasets
Locators
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
TIN datasets:
Feature classes
Relationship classes
Geom. networks
trianguliert, unregelmäßig verteilte Punkte mit zWerten
Planar topologies
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Speicherungsform: in coverage workspaces
 Speicherung noch nicht in
Geodatenbanken!!!
Inhalte und Daten in einer Geodatenbank
GEODATENBANK
feature datasets
(spatial reference)
Objekt classes
Feature classes
Locators:
Relationship classes
Geom. networks
Planar topologies
Domains
Validation rules
Raster datasets
Rasters
TIN datasets
Locators
Definition von Konvertierungsprozessen, die
alphanumerische Beschreibungen
geographischen features zuordnen
(Bsp.: Zuordnung Adresstabelle - Orte)
ArcSDE
Was ist ArcSDE?

ArcSDE ist keine Datenbank!

Schnittstelle zu relationalen Datenbanken

ArcView
Tool zum Speichern, Verwalten und Bearbeiten
von eigenen und fremden Daten
ArcEditor
ArcInfo
ArcExplorer
HTML
(Java edition)
Viewer
ArcGIS
Desktop
ArcIMS
ArcSDE Gateway
Dateien
Datenbank
ArcIMS Server
ArcSDE
Hauptproblem:
Wie verwalte und bearbeite ich eine so
große Datenmenge bei gleichzeitiger
Reduzierung des Rechenaufwands?
ArcSDE
Hauptproblem:
Wie verwalte und bearbeite ich eine so
große Datenmenge bei gleichzeitiger
Reduzierung des Rechenaufwands?
Lösung:
Systemorientierte Datenverwaltung
Die ArcSDE Architektur


Three-tier-Architektur
(application server)
Two-tier-Architektur
(direct connection)
Die Three-tier-Architektur
client
application
Anfrage
Ergebnis
ArcSDE
application
server
DBMS
Die Three-tier-Architektur
client
application
Verteilung der
Anwendungen auf
server und client
cooperative processing
Anfrage
Ergebnis
ArcSDE
application
server
DBMS
Die Three-tier-Architektur
client
application
Anfrage
Ergebnis
ArcSDE
application
server
Probleme:
Serverausfall
Datenklammerung
Viele Clients:
Versionen
DBMS
Two-tier-Architektur
ArcSDE Client
(+ server)
direct connection
DBMS
Two-tier-Architektur
ArcSDE Client
(+ server)
direct connection
DBMS
Performance-Vorteile
bezüglich
Zugriff
Verwaltungsaufwand
Serverausfall
ABER:
Hardwareanforderungen
Die ArcSDE Architektur
Vorteil dieser Architekturen:
Datenverwaltung auf dir zur Verfügung
stehende Hardwareleistung abstimmbar.
Datenspeicherung
ArcSDE Datenintegrität
Integritätsverwaltung von:
a) Punkt, Linie, Bogen, Polygon
b) speziellen Beschränkungen
(in Datenbank nicht sinnvoll)
z.B. Mindestbandbreite
oder
Polygon mit höchstens 5 Seiten
Datenspeicherung

in Datenbank:
indizierte Tabellen
bisher: nur FID (siehe GIS I: Redundanzfreiheit)
jetzt: FID + Typenindex zur Suchbeschleunigung
Datenspeicherung

Binary Large Object (BLOB)
Binärcode

Normalized Schema
Koordinaten

Geometry Type
Geometrie
Räumliche Anfragen
Eigenschaften räumlicher Objekte:
 i.d.R. hoher Speicherplatzbedarf
 komplexe Berechnungen (steigende Kosten und
CPU-Anforderungen)
Räumliche Anfragen
Eigenschaften räumlicher Objekte:
 i.d.R. hoher Speicherplatzbedarf
 komplexe Berechnungen (steigende Kosten und
CPU-Anforderungen)
Prinzip:
 angenäherte Repräsentation eines Objektes
 Filter- und Verfeinerungstechniken
(umgesetzt durch SQL)
Räumliche Anfragen
Eigenschaften räumlicher Objekte:
 i.d.R. hoher Speicherplatzbedarf
 komplexe Berechnungen (steigende Kosten und
CPU-Anforderungen)
Prinzip:
 angenäherte Repräsentation eines Objektes
 Filter- und Verfeinerungstechniken
(umgesetzt durch SQL)
Ergebnis:  Lieferung eines wahrscheinlichen Ergebnisses
 schnellere und effektivere Suche
Räumliche Anfragen
Window queries
Finde alle Bonner Straßen, die den Hofgarten durchqueren
Join queries
Finde alle öffentlichen Gebäude der Stadt Bonn, die mehr als
8000 m² Büroflächen haben, und innerhalb von 10 min vom
Hauptbahnhof mit öffentlichen Verkehrsmitteln erreichbar sind.
Problem:
Wegen Größe der Ergebnismenge exakte Fragestellung notwendig!
Räumliche Anfragen
Window queries
Finde alle Bonner Straßen, die den Hofgarten durchqueren
Join queries
Finde alle öffentlichen Gebäude der Stadt Bonn, die mehr als
8000 m² Büroflächen haben, und innerhalb von 10 min vom
Hauptbahnhof mit öffentlichen Verkehrsmitteln erreichbar sind.
Problem:
Wegen Größe der Ergebnismenge exakte Fragestellung notwendig!
Räumliche Anfragen
Umsetzung: Spatial Indexing (SQL)
SELECT Parks.Name FROM Parks, Roads WHERE
MDSYS.SDO_RELATE (Parks.Geometry, Roads.Geometry,
‘MASK=OVERLAPBDYINTERSECT‘) = TRUE
AND Roads.Name = ‚A555‘
Spatial Indexing
Ziel:
schnelle Lieferung eines Datenpfades durch
Erleichterung räumlicher Selektion
Spatial Indexing
Ziel:
schnelle Lieferung eines Datenpfades durch
Erleichterung räumlicher Selektion
Prinzip:
Durchsuchung von Teildatensätzen
1. Hinzufügen von best. räuml. Datenstrukturen zum System
(vgl. Binärer Suchbaum bei Standartattributen)
2. Kartierung von räuml. Objekten in einem eindimensionalen
Raum
 Speicherung in einem eindimensionalen Index, wie
binärer Suchbaum
Räumliche Anfragen erfolgen nur anhand von Tabellen
Spatial Indexing
Umsetzung:
Quad-Tree-Indexing
R-Tree-Indexing
Spatial Indexing
Vorraussetzung:
kontinuierliches Datenmodel , d.h. keine Datenaufspaltung
Bsp.: Speicherung eines Grundstückes als Polygon
oder
Speicherung mehrerer Polygone zu einer kontinuierlichen feature class
Quad-Tree-Indexing
Prinzip:
Anbringung eines eines numerierten Gitters an eine feature class
Anlegung einer Indextabelle
Inhalt: welches feature in welchen Quadranten fällt
Index Grid
QUAD
Quad-Tree-Indexing
Prinzip:
Anbringung eines eines numerierten Gitters an eine feature class
Anlegung einer Indextabelle
Inhalt: welches feature in welchen Quadranten fällt
Index Grid
hierarchiches
Muster
TREE
Quad-Tree-Indexing
Prinzip:
Anbringung eines eines numerierten Gitters an eine feature class
Anlegung einer Indextabelle
Inhalt: welches feature in welchen Quadranten fällt
Index Grid
INDEXING
R-Tree-Indexing
Prinzip: kleinstes umschließendes Viereck
sinnvoll bei n-dimensionaler Datenindizierung (dynamisch)
Bsp.: Ölförderung (zeitabhängig)
R-Tree-Indexing
a
d
root
b
A
root
c
B
e
A
a
b
B
c
d
e
Resumé
Was ist anders als bisher?
Informationsmenge
Genauere Suchergebnisse
Schnellere (bzgl. Datenmenge) Suchergebnisse
Datenverwaltung auf Hardware abstimmbar
Projektbildung (Versionen)
ABER: höhere Hardwareanforderungen

Feature Class