Erweiterung zum geo- relationalen Modell

Werbung
Erweiterung zum georelationalen Modell
95
Relationales Modell kennt wenige
Datentypen: Characters, Numbers
Geo-(objekt)-relationales Modell fügt
weitere Datentypen mit entsprechenden
Funktionen hinzu
– Datentypen mit Raumbezug
– Funktionen zur geometrischen
Verarbeitung
96
Implementierung
Definition neuer Datentypen (UDT)
Definition der Funktionen/Prozeduren
(UDF|SP), basierend auf UDTs
– Grundlage algorithmische Geometrie
Simple Feature Definition for SQL Standard
(Open GIS)
– definiert notwendige Datentypen/ Funktionen
– Legt Datenrepräsentation fest
– Grundlage für Datenaustausch
97
Prinzip
Standard-SQL und räumliche SQL-Befehle
können frei gemischt werden.
Beispiel: Gibt es Bäche, welche die
Siedlungsgebietgrenze von Jena
durchschneiden?
select l.name, l.description, w.name
from landuse l, water w
where intersects(l.landuse, w.water) = 1
and l.description = ‚Siedlung'
and w.name like '%Jena%'
98
Architektur
Geografische
Datentypen
- Punkte
- Linien
- Polygone
(- Raster)
Database Management
System
Metadaten Management
Projektionssysteme
räumlicher Index: R-Tree
Geografische
Funktionen
- Topologie
- Geometrie
- Analyse
- Projektionen
IBM DB2 V. 5.2, V. 7.1
Universal Database
Oracle 8i, PostgreSQL
Rasterdaten-Verwaltung
99
GEOMETRY
Generischer Typ für geografische
Objekte
Ist der Basistyp(-klasse) für alle anderen
geometrischen Typen
– Polymorphie
– Bsp. Funktion Difference liefert Geometry,
das konkrete Ergebnis kann vom Typ
point, line oder polygon sein
GEOMETRYCOLLECTION
10
0
Menge geometrische Objekte
– homogen (several points, several circles)
– heterogen (mixing points, polygons, oder
andere geometrycollections)
Integer
NumGeometries(GEOMETRY
COLLECTION)
GEOMETRY
GeometryN(GEOMETRY
COLLECTION, integer)
WKT (Well-Known Text
representation)
10
1
Weg zur Visualisierung von
geometrischen Objekten
Darstellung des Types (point, linestring,
polygon...) und der zugehörigen
Koordinaten
Beachte bei großen Objekten WKT
Darstellung ist wesentlich grösser!
Beispiele WKT
POINT (2.5 7.8)
CIRCLE (2.000 1.000, 3.000)
CIRCULARARC (2.000 1.000, 3.000
2.000, 2.000 3.000)
POLYGON ((2 2, 6 2, 6 6, 2 6, 2 2 ), (3
3, 4 4, 3 4, 3 3))
10
2
Well-Known Binary
representation (WKB)
10
3
Präsentation einer Geometrie als
zusammenhängender Bytestrom.
Ermöglicht den Datenaustausch
zwischen bspw. einem ODBC Klienten
und der Datenbank in Binärform.
Prädikate für geometrische
Elemente
10
4
Liefern als Ergebnis 0 oder 1
(falsch/wahr)
Beispiel:
– Verläuft die Bundesstrasse 7 durch das
Jenaer Stadtgebiet
– SELECT crosses(s.strassen,o.ort) FROM
strassen_line s, ort_poly o where
s.art=„Bundesstrasse“ and s.nummer=„7“
and o.name=„Jena“
PostGIS / PostgreSQL
Erweiterung für PostgreSQL
– src/contrib/
– Implementierung mittels GEOS
GEOMETRY
– Point, Line, Polygon, Multi*
– Functions
– Indexes
http://postgis.refractions.net
10
5
PostGIS Types
.
POINT
LINESTRING
..
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION
10
6
PostGIS Types
10
7
id |
geometry
|
name
------+---------------------------+-------------1294 | POINT(1199437.8 382509.2) | Brighton Ave
1295 | POINT(1199369.3 382741.7) | York Pl
1296 | POINT(1199494.8 382751)
| Prospect Pl
PostGIS Funktionen
Single Geometry
–
–
–
–
–
–
–
–
Float : Length(Geometry)
Float : Area(Geometry)
Integer : NumGeometries(Geometry)
Integer : NumPoints(Geometry)
Geometry : Buffer(Geometry,Float)
Point : PointN(Geometry)
Text : AsText(Geometry)
ByteA : AsBinary(Geometry)
10
8
PostGIS Funktionen
10
9
Multiple Geometry
–
–
–
–
–
–
–
Float : Distance(Geometry,Geometry)
Boolean : Touches(Geometry,Geometry)
Boolean : Intersects(Geometry,Geometry)
Boolean : Disjoint(Geometry,Geometry)
Geometry : Intersection(Geometry,Geometry)
Geometry : GeomUnion(Geometry,Geometry)
Geometry : Difference(Geometry,Geometry)
Herunterladen