Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation IV GIS-Seminar SQL und Simple Features.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation IV GIS-Seminar SQL und Simple Features."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation IV GIS-Seminar SQL und Simple Features

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

3 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

4 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Relationale Datenbank 2-dimensionale Matrix Beispieltabelle: 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

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

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

7 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

8 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

9 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Beispiel 1: SQL92 - numerische Implementation ( 1) GID: geometry identifier ESEQ: element sequence number ETYPE: primitive type -> Geometrietyp 1 - Point 2 - LineString 3 - Polygon... SEQ: sequence number (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)

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

11 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Beispiel 2: SQL92 - binäre Implementation X,Y -> Min, Max: Definition der bounding box WKBGeometrie: Stellt die Geometrie als eine Sequenz von unsigned integer oder double dar. (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)

12 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

13 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

14 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

15 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Basis-Methoden 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 PolygonEnvelope( ): AsText( ):String- textuelle RepräsentationAsText( ): AsBinary( ):Binary- binäre RepräsentationAsBinary( ): IsEmpty( ):Integer- 1: true, 0: false, -1: unknown IsSimple( ):Integer- 1: true, 0: false, -1: unknown Boundary( ):Geometry- GrenzeBoundary( ): AnfrageAusgabe

16 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Test-Methoden für räumliche Beziehungen 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“! TestBeziehung

17 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Methoden, die Spatial Analysis unterstützen (1) 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.Buffer(): ConvexHull( ):Geometry- Repräsentation der konvexen Hülle Intersection():Geometry- Repräsentation des Schnitts  (A  B)Intersection(): Union():Geometry- Repräsentation der Vereinigten Punktmenge  (A  B)Union(): AnfrageAusgabe

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

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

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

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

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

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

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

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

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

27 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Vielen Dank für eure Aufmersamkeit! Noch Fragen?

28 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features Line, LineString, LinearRing einfachnicht einfach geschl./einf. s e s ss e ee geschl./nicht einf. 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

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

30 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

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

32 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

33 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

34 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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 Polygon3 Polygone2 Polygone

35 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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)

36 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

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

38 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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’, ]]

39 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

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

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

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

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

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

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

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

47 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

48 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features 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

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

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


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation IV GIS-Seminar SQL und Simple Features."

Ähnliche Präsentationen


Google-Anzeigen