Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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 (AB) Union():Geometry - Repräsentation der Vereinigten Punktmenge (AB) 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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.