500 likes | 650 Vues
P r o s e m i n a r. Geoinfo II. Relationale Datenbanken die Architektur von ArcSDE. C a r s t e n H i m p l e r B o n n , 0 3 . 0 2 . 2 0 0 3. Übersicht. Relationale Datenbanken ArcSDE Architektur Datenintegrität Datenspeicherung Räumliche Anfragen.
E N D
P r o s e m i n a r Geoinfo II Relationale Datenbanken die Architektur von ArcSDE C a r s t e n H i m p l e r B o n n , 0 3 . 0 2 . 2 0 0 3
Übersicht • Relationale Datenbanken • ArcSDE Architektur Datenintegrität Datenspeicherung Räumliche Anfragen
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: nichträumlich z.B.Grundstückseigentümer Objekt class: Datentabelle von Objekten 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) Feature: räumlich, koordiniert (x,y) Typen: Punkt, Linie, Kurve, Polygon, Fläche z.B. Grundstück Feature Class: 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) 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) Relationship: verlinkt räumliche und nicht räumliche Dinge z.B. Zuordnung von Grundstück und Eigentümer Relationship class: speichert Beziehungen zwischen classes in Tabellen 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) Geometric networks: Benutzerdefinierte Sammlung von feature classes feature classes bilden ein geometrisches Netzwerk aus Kanten, Knoten und Schritten („turn“) Objekt classes Feature classes Relationship classes Geom. networks 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 Geom. networks Planar topologies: verbinden faetures zu kontinuierlichen Flächenobjekten erlauben faetures gemeinsame Grenzen Planar topologies 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 Geom. networks Planar topologies Domains: Definition von wahren Attributwerten (text, numerisch) 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 Geom. networks Planar topologies Validation rules: erzwingen Datenintegrität durch Domänen, relationship rules, connectivity rules Bsp.: Verbindungsregeln für verschieden dicke Wasserleitungen Domains Validation rules Raster datasets Rasters TIN datasets Locators
Inhalte und Daten in einer Geodatenbank GEODATENBANK Raster data: kopierte Karte, Oberfläche, Gitterdaten (Temp.), Luftbilder Pyramidenform Problem: Datengrösse!!! Speicherform: Tabelle feature datasets (spatial reference) Objekt classes Feature classes Relationship classes Geom. networks Planar topologies Domains Validation rules Raster datasets Rasters TIN datasets Locators
Inhalte und Daten in einer Geodatenbank GEODATENBANK feature datasets (spatial reference) TIN datasets: trianguliert, unregelmäßig verteilte Punkte mit z-Werten Speicherungsform: in coverage workspaces Speicherung noch nicht in Geodatenbanken!!! Objekt classes Feature classes Relationship classes Geom. networks Planar topologies Domains Validation rules Raster datasets Rasters TIN datasets Locators
Inhalte und Daten in einer Geodatenbank GEODATENBANK feature datasets (spatial reference) Objekt classes Feature classes Locators: Definition von Konvertierungsprozessen, die alphanumerische Beschreibungen geographischen features zuordnen (Bsp.: Zuordnung Adresstabelle - Orte) Relationship classes Geom. networks Planar topologies Domains Validation rules Raster datasets Rasters TIN datasets Locators
Was ist ArcSDE? • ArcSDE ist keine Datenbank! • Schnittstelle zu relationalen Datenbanken • Tool zum Speichern, Verwalten und Bearbeiten • von eigenen und fremden Daten ArcView ArcEditor ArcInfo ArcExplorer (Java edition) HTML Viewer ArcGIS Desktop ArcIMS ArcSDE Gateway ArcIMS Server Dateien Datenbank
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 Probleme: Serverausfall Datenklammerung Viele Clients: Versionen client application Anfrage Ergebnis ArcSDE application server DBMS
Two-tier-Architektur ArcSDE Client (+ server) direct connection DBMS
Two-tier-Architektur Performance-Vorteile bezüglich Zugriff Verwaltungsaufwand Serverausfall ABER: Hardwareanforderungen ArcSDE Client (+ server) direct connection DBMS
Die ArcSDE Architektur Vorteil dieser Architekturen: Datenverwaltung auf dir zur Verfügung stehende Hardwareleistung abstimmbar.
DatenspeicherungArcSDE 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 root b a A c A B root e d B a 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