1 / 50

Geoinformation IV

Geoinformation IV. GIS-Seminar. SQL und Simple Features. Übersicht. SQL - relationale Datenbanken ... was ist das? kurze Wiederholung: Simple Features Feature Tables Speicherungsarten Anfragen an die Geometrie durch Methoden. SQL - was ist das?. S trucured Q uery L anguage

anthea
Download Presentation

Geoinformation IV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geoinformation IV GIS-Seminar SQL und Simple Features

  2. Ü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 02 - SQL und Simple Features - 13.06.02

  3. 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 02 - SQL und Simple Features - 13.06.02

  4. Beispieltabelle: Relationale Datenbank • 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 02 - SQL und Simple Features - 13.06.02

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

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

  7. 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 02 - SQL und Simple Features - 13.06.02

  8. 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 02 - SQL und Simple Features - 13.06.02

  9. (0,60) (60,60) (30,60) GID 3 GID 4 (0,30) (60,30) ESEQ 2 ESEQ 2 GID 1 GID 2 (0,0) (30,0) (60,0) 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 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

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

  11. (30,60) (0,60) (60,60) GID 3 GID 4 (0,30) (60,30) ESEQ 2 ESEQ 2 GID 1 GID 2 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. (0,0) (30,0) (60,0) Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

  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 02 - SQL und Simple Features - 13.06.02

  13. 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 02 - SQL und Simple Features - 13.06.02

  14. 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 02 - SQL und Simple Features - 13.06.02

  15. Basis-Methoden AnfrageAusgabe • 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 02 - SQL und Simple Features - 13.06.02

  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 02 - SQL und Simple Features - 13.06.02

  17. Methoden, die Spatial Analysis unterstützen (1) AnfrageAusgabe • 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 02 - SQL und Simple Features - 13.06.02

  18. Methoden, die Spatial Analysis unterstützen (2) AnfrageAusgabe • 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 02 - SQL und Simple Features - 13.06.02

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

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

  21. Methoden - Curve AnfrageAusgabe • 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! Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

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

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

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

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

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

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

  28. s e s e s s e e geschl./einf. geschl./nicht einf. einfach nicht einfach 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 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

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

  30. 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 02 - SQL und Simple Features - 13.06.02

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

  32. Polygon mit einem ... zwei ...bzw. drei Ringen 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 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

  33. 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 02 - SQL und Simple Features - 13.06.02

  34. 1 Polygon 3 Polygone 2 Polygone 2 Polygone 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 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

  35. 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 02 - SQL und Simple Features - 13.06.02

  36. 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 02 - SQL und Simple Features - 13.06.02

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

  38. GEOGCS[‘GCS_North_American_1983’, DATUM[‘D_North_American_1983’, SPHEROID[‘GRS_1980’,6378137,298.257222101]], PRIMEM[‘Greenwich’,0], UNIT[‘Degree’,0.0174532925199433]] 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 Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

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

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

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

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

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

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

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

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

  47. 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 02 - SQL und Simple Features - 13.06.02

  48. X 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 Ausgabe wäre in diesem Fall die Geometrie des grünen Kreises Till Baberg - GIS-Seminar - SS 02 - SQL und Simple Features - 13.06.02

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

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

More Related