Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SQL und Simple Features

Ähnliche Präsentationen


Präsentation zum Thema: "SQL und Simple Features"—  Präsentation transkript:

1 SQL und Simple Features
Geoinformation IV GIS-Seminar SQL und Simple Features

2 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Übersicht SQL - relationale Datenbanken ... was ist das? kurze Wiederholung: Simple Features Feature Tables Speicherungsarten Anfragen an die Geometrie durch Methoden Till Baberg - GIS-Seminar - SS SQL und Simple Features

3 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
SQL - was ist das? Strucured Query Language Standard für relationale Datenbanken IBM: SEQUEL (1970)  SQL (ab 1980) Sprache zur Definition und Manipulation von relationalen Datenbanken Till Baberg - GIS-Seminar - SS SQL und Simple Features

4 Relationale Datenbank
Beispieltabelle: 2-dimensionale Matrix Inhalte: Spalten: Attribute Jede Zeile ein Feature Eigenschaften jede Spalte beinhaltet ein Attribut und hat einen Attributnamen die Wertebereiche der Eintragungen sind elementar und nicht weiter zerlegbar Reihenfolge der Spalten ist beliebig Alle Zeilen (Tupel) sind paarweise verschieden Till Baberg - GIS-Seminar - SS SQL und Simple Features

5 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Geometrie-Klassen-Hierarchie (OGC) Übersicht: Erinnerung: Geoinformation 4, Vorlesung 10 Till Baberg - GIS-Seminar - SS SQL und Simple Features

6 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
0-, 1- oder 2-dim. Geometrien Point MultiPoint Curve Line LineString MultiLineString MultiCurve LinearRing Polygon MultiPolygon Surface MultiSurface Geometry Collection 0-dimensional 2-dimen- sional 1-dimensional Till Baberg - GIS-Seminar - SS SQL und Simple Features

7 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Feature Table Features sind räumliche Objekte Feature Tables ähneln im Aufbau den vorhin beschriebenen relationalen Datenbanken Jedes Feature wird in einer Zeile dargestellt Darstellung und Speicherung der Simple Features wurde vom Open GIS Consortium (OGC) entwickelt Till Baberg - GIS-Seminar - SS SQL und Simple Features

8 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Feature Table Es gibt drei Speicherungsarten der Feature Tables SQL 92, unter Anwendung von a) numerischen b) binären SQL-Typen zur Speicherung der Geometrie SQL 92, mit Geometrietypen Till Baberg - GIS-Seminar - SS SQL und Simple Features

9 Beispiel 1: SQL92 - numerische Implementation (1)
(60,30) (0,30) (0,60) (60,60) (30,60) GID 1 GID 3 GID 2 GID 4 ESEQ 2 (0,0) (30,0) (60,0) GID: geometry identifier ESEQ: element sequence number ETYPE: primitive type -> Geometrietyp 1 - Point 2 - LineString 3 - Polygon ... SEQ: sequence number Till Baberg - GIS-Seminar - SS SQL und Simple Features

10 Beispiel 1: SQL92 - numerische Implementation (2)
(0,60) (30,60) (60,60) Darstellung der Geometrie GID 3 GID 4 (0,30) (60,30) ESEQ 2 ESEQ 2 SEQ 1 SEQ 2 GID 1 GID 2 (0,0) (30,0) (60,0) Till Baberg - GIS-Seminar - SS SQL und Simple Features

11 Beispiel 2: SQL92 - binäre Implementation
(60,30) (0,30) (0,60) (60,60) (30,60) GID 1 GID 3 GID 2 GID 4 ESEQ 2 X,Y -> Min, Max: Definition der bounding box WKBGeometrie: Stellt die Geometrie als eine Sequenz von unsigned integer oder double dar. (0,0) (30,0) (60,0) Till Baberg - GIS-Seminar - SS SQL und Simple Features

12 SQL92 mit Geometrietypen
Zu jedem Geometrietyp wird eine Tabelle definiert, die nur Objekte des einen Geometrietyps enthält basiert auf der Geometrie Klassen Hierarchie vom OGC Anwendung von Methoden möglich Till Baberg - GIS-Seminar - SS SQL und Simple Features

13 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Anfragen Anfragen an die Geometrie werden in SQL durch vorgefertigte Methoden getätigt Diese Methoden können nur im SQL 92 mit Geometrietypen benutzt werden Es gibt Methoden, die für alle Geometrien gelten  Basis-Methoden nur auf spezielle Geometrien angewendet werden können Ausgaben sind im WKBGeometry Format Till Baberg - GIS-Seminar - SS SQL und Simple Features

14 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Anfrage in SQL Ein Anfrage in SQL92 -Form sieht folgendermaßen aus: Beispiel: Schnitte von Flurstücken mit einer Straße: SELECT Parcel.Name, Parcel.Id FROM Parcels, Street WHERE Intersects(Parcels.Location, Street.centerline) = 1 Ausgabe: Alle Flurstücke, die von dieser Straße geschnitten werden Till Baberg - GIS-Seminar - SS SQL und Simple Features

15 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Basis-Methoden Anfrage Ausgabe Dimension ( ):Integer - Dimension des Objektes (0, 1 od. 2) GeometryType ( ):String - Name der Geometrie SRID ( ):Integer - ID für das Spatial Reference System Envelope( ):Geometry - Bounding Box als Polygon AsText( ):String - textuelle Repräsentation AsBinary( ):Binary - binäre Repräsentation IsEmpty( ):Integer - 1: true, 0: false, -1: unknown IsSimple( ):Integer - 1: true, 0: false, -1: unknown Boundary( ):Geometry - Grenze Till Baberg - GIS-Seminar - SS SQL und Simple Features

16 Test-Methoden für räumliche Beziehungen
Test Beziehung Equals():Integer - Gleichheit mit einer anderen Geometrie Disjoint():Integer - Menge der gemeinsamen Punkte = 0 Intersects():Integer - Schnitt mit einer anderen G. Touches():Integer - Berührung mit einer anderen G. Crosses():Integer - Kreuzung mit einer anderen G. Within():Integer - innerhalb einer anderen Geometrie Contains():Integer - Enthält eine andere G. Overlaps():Integer - Überlappung mit einer anderen G. Relate():Integer - Beziehung mit einer anderen G. (Beispiele siehe unter anderem Vorlesung 10, GIS III 2001) Ausgabe ist immer 1 für „true“, 0 für „false“ oder -1 für „unknown“! Till Baberg - GIS-Seminar - SS SQL und Simple Features

17 Methoden, die Spatial Analysis unterstützen (1)
Anfrage Ausgabe Distance():Double - kürzeste Distanz zu einer anderen Geometrie Buffer():Geometry - Repräsentation aller Punkte, die einen kleineren oder gleichen Abstand wie den angegebenen von der Geometrie haben. ConvexHull( ):Geometry - Repräsentation der konvexen Hülle Intersection():Geometry - Repräsentation des Schnitts  (AB) Union():Geometry - Repräsentation der Vereinigten Punktmenge  (AB) Till Baberg - GIS-Seminar - SS SQL und Simple Features

18 Methoden, die Spatial Analysis unterstützen (2)
Anfrage Ausgabe Difference():Geometry - Repräsentiert die Geometrie der nichtgemeinsamen Punkte  (A-B) SymDifference():Geometry - ist gleich der Vereinigung minus dem Schnitt  ((A-B)(B-A)) Till Baberg - GIS-Seminar - SS SQL und Simple Features

19 Methoden - GeometryCollection
Anfrage Ausgabe NumGeometries( ):Integer - die Anzahl der enthaltenen Geometrien GeometryN():Geometry - die N-te Geometrie in der Collection Till Baberg - GIS-Seminar - SS SQL und Simple Features

20 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Methoden - Point Anfrage Ausgabe X( ):Double - X-Koordinate Y( ):Double - Y-Koordinate Till Baberg - GIS-Seminar - SS SQL und Simple Features

21 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Methoden - Curve Anfrage Ausgabe Length( ):Double - Länge der Kurve StartPoint( ):Point - Startpunkt EndPoint( ):Point - Endpunkt IsClosed( ):Integer - 1: „true“, wenn Startpunkt=Endpunkt : „false“ oder -1: „unknown“ IsRing( ):Integer - 1: „true“, falls closed und simple ! : „false“ oder -1: „unknown“  „simple“: kein Punkt wird doppelt durchlaufen, mit Ausnahme des Start- und Endpunktes! Till Baberg - GIS-Seminar - SS SQL und Simple Features

22 Methoden - LineString, Line, LinearRing
Anfrage Ausgabe NumPoints( ):Integer - Anzahl der Punkte im LineString PointN(N:Integer):Point - Punkt n aus LineString l Till Baberg - GIS-Seminar - SS SQL und Simple Features

23 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Methoden - MultiCurve Anfrage Ausgabe IsClosed( ):Integer - 1: „true“, wenn Startpunkt=Endpunkt : „false“ oder -1: „unknown“ Length( ):Double - Länge der Kurve Till Baberg - GIS-Seminar - SS SQL und Simple Features

24 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Methoden - Surface Anfrage Ausgabe Area( ):Double - Fläche des Surface Centroid( ):Point - Schwerpunkt PointOnSurface( ):Point - Punkt der garantiert im Surface liegt Till Baberg - GIS-Seminar - SS SQL und Simple Features

25 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Methoden - Polygon Anfrage Ausgabe ExteriorRing( ):LineString - umgebender Ring NumInteriorRing( ):Integer - Anzahl der inneren Ringe InteriorRingN():LineString - N-te innere Ring Till Baberg - GIS-Seminar - SS SQL und Simple Features

26 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Abschlusswort Simple Features vom OGC nur zweidimensional Zukunft: komplexe Geometrien  Spatial Schema Till Baberg - GIS-Seminar - SS SQL und Simple Features

27 Vielen Dank für eure Aufmersamkeit!
Noch Fragen?

28 Line, LineString, LinearRing
ein Linestring ist eine Kurve (Curve), wenn zwischen den Punkten linear interpoliert wird besteht ein LineString aus exakt zwei Punkten, so wird er als Line bezeichnet Ist ein LineString „einfach“ und „geschlossen“, so wird er als LinearRing bezeichnet einfach nicht einfach geschl./einf. s e geschl./nicht einf. Till Baberg - GIS-Seminar - SS SQL und Simple Features

29 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Curve 1-dimensional Sequenz von Punkten zwischen denen linear interpoliert wird Till Baberg - GIS-Seminar - SS SQL und Simple Features

30 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
MultiCurve 1 – dimensionale Geometrie Elemente dieser Subklasse sind Kurven Die Klasse wird als „einfach“ bezeichnet, wenn alle Elemente „einfach“ sind Schnittpunkte dürfen nur in der Begrenzung zweier Elemente vorkommen Begrenzung dieser Klasse sind all diejenigen Punkte, welche in einer ungeraden Anzahl der Teilelemente vorkommen MultiCurve gilt als „geschlossen“, wenn alle Teilelemente „geschlossen“ sind Till Baberg - GIS-Seminar - SS SQL und Simple Features

31 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
MultiLineString MultiCurve = MultiLineString, wenn Elemente LineStrings (lineare Interpolation zwischen den Punkten) s1 e1 s2 e2 einfach Grenzen = {s1,e2} nicht einfach Grenzen = {s1,e1} geschlossen Grenzen = {Ø} Till Baberg - GIS-Seminar - SS SQL und Simple Features

32 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Polygon ebene Oberfläche, definiert durch eine äußere und 0 oder mehrere innere Grenzen jede innere Grenze legt ein „Loch“ im Polygon fest die Grenzen bestehen aus LinearRings mehrere Grenzen dürfen sich nicht schneiden Berührpunkte sind gestattet Polygon mit einem ... zwei ...bzw. drei Ringen Till Baberg - GIS-Seminar - SS SQL und Simple Features

33 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
MultiPolygon 1 Subklasse, deren Elemente Polygone sind Kennzeichen : Die Innenräume und die Grenzen zweier Polygone dieser Klasse dürfen sich nicht schneiden Sie dürfen sich an einer begrenzten Anzahl von Punkten berühren MultiPolygon besteht aus einer geordneten, geschlossenen Ansammlung von Punkten Die inneren Bereiche dieser Klasse sind nicht zusammenhängend Die Anzahl der inneren Bereiche entspricht der Anzahl der Polygone Till Baberg - GIS-Seminar - SS SQL und Simple Features

34 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
MultiPolygon 2 die Grenzen dieser Klasse bestehen aus einer Ansammlung geschlossener Kurven (LineString) Jede Grenze wird exakt einem Polygon zugeordnet, welches sich in der Klasse befindet 1 Polygon 3 Polygone 2 Polygone Till Baberg - GIS-Seminar - SS SQL und Simple Features

35 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Surface 2D – geometrisches Objekt Zeichnet sich durch eine „äußere“ Grenze aus Darüber hinaus können mehrere „innere“ Grenzen bestehen Einfache Oberflächen (= Simple Surfaces) haben im 3D die gleiche Gestalt, wie ebene Oberflächen Polyhedral Surfaces erhält man, indem man einfache Oberflächen entlang ihrer Grenzen miteinander „vernäht“ diese müssen dann nicht mehr eben sein (3D) Till Baberg - GIS-Seminar - SS SQL und Simple Features

36 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
MultiSurface 2D Ansammlungen von Oberflächen zwei verschiedene Oberflächen (Surfaces) dürfen sich nicht schneiden ansonsten kein Multisurface sondern Surface die Grenzen zweier Elemente können sich in einer begrenzten Anzahl von Punkten berühren MultiSurface wird als abstrakte Klasse bezeichnet Sie definiert verschiedene Vorgehensweisen für deren Unterklassen Till Baberg - GIS-Seminar - SS SQL und Simple Features

37 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
MultiGeometry Stellt eine Geometrie dar, die mehrere anderen Geometrien beeinhaltet Till Baberg - GIS-Seminar - SS SQL und Simple Features

38 Textuelle Repräsentation (WKB)
Ausgabe ist für den Menschen lesbar Beispiel: Ein String im geogr. Koordinatensystem für die UTM-Zone 10 im NAD83 GEOGCS[‘GCS_North_American_1983’, DATUM[‘D_North_American_1983’, SPHEROID[‘GRS_1980’, , ]], PRIMEM[‘Greenwich’,0], UNIT[‘Degree’, ]] Till Baberg - GIS-Seminar - SS SQL und Simple Features

39 Binäre Repräsentation (WKB)
Zahlencode zur maschinellen Weiterverarbeitung Beispiel: B=1 T=3 NR=2 NP=3 X1 Y1 X2 Y2 X3 Y3 NP=3 X1 Y1 X2 Y2 X3 Y3 Ring 1 Ring 2 WKB Polygon Till Baberg - GIS-Seminar - SS SQL und Simple Features

40 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Beispiel - NRW Till Baberg - GIS-Seminar - SS SQL und Simple Features

41 Beispiel - NRW: Envelope
Envelope( ):Geometry Till Baberg - GIS-Seminar - SS SQL und Simple Features

42 Beispiel - NRW: Envelope
Till Baberg - GIS-Seminar - SS SQL und Simple Features

43 Beispiel - NRW: Envelope
Till Baberg - GIS-Seminar - SS SQL und Simple Features

44 Beispiel - NRW: Envelope
Ausgabe: Polygon, das die bounding box repräsentiert Till Baberg - GIS-Seminar - SS SQL und Simple Features

45 Beispiel - NRW: Boundary
Boundary( ):Geometry Till Baberg - GIS-Seminar - SS SQL und Simple Features

46 Beispiel - NRW: Boundary
Ausgabe: Polgon, das die Grenze NRW´s repräsentiert Till Baberg - GIS-Seminar - SS SQL und Simple Features

47 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Beispiel - NRW: Buffer Buffer():Geometry: Repräsentation aller Punkte, die einen kleineren oder gleichen Abstand wie den angegebenen von der Geometrie haben. Z.B.: Umkreis von X Kilometern Till Baberg - GIS-Seminar - SS SQL und Simple Features

48 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Beispiel - NRW: Buffer Buffer():Geometry: Repräsentation aller Punkte, die einen kleineren oder gleichen Abstand wie den angegebenen von der Geometrie haben. Z.B.: Umkreis von X Kilometern X Ausgabe wäre in diesem Fall die Geometrie des grünen Kreises Till Baberg - GIS-Seminar - SS SQL und Simple Features

49 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Beispiel - NRW Till Baberg - GIS-Seminar - SS SQL und Simple Features

50 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02
Beispiele Intersection():Geometry Union():Geometry Difference():Geometry SymDifference():Geometry A B A  B A B A  B A B A-B B-A A B (A-B)(B-A) Till Baberg - GIS-Seminar - SS SQL und Simple Features


Herunterladen ppt "SQL und Simple Features"

Ähnliche Präsentationen


Google-Anzeigen