Geoinformation IV

of 50/50
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation IV GIS-Seminar SQL und Simple Features
  • date post

    19-Jan-2016
  • Category

    Documents

  • view

    19
  • download

    0

Embed Size (px)

description

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 - PowerPoint PPT Presentation

Transcript of Geoinformation IV

  • bersichtSQL - relationale Datenbanken ... was ist das?kurze Wiederholung: Simple FeaturesFeature TablesSpeicherungsartenAnfragen an die Geometrie durch Methoden

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

  • SQL - was ist das?Strucured Query LanguageStandard fr relationale DatenbankenIBM: 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

  • Relationale Datenbank2-dimensionale MatrixInhalte:Spalten: AttributeJede Zeile ein FeatureEigenschaftenjede Spalte beinhaltet ein Attribut und hat einen Attributnamendie Wertebereiche der Eintragungen sind elementar und nicht weiter zerlegbarReihenfolge der Spalten ist beliebigAlle Zeilen (Tupel) sind paarweise verschieden

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

  • Simple Featuresbersicht:Geometrie-Klassen-Hierarchie (OGC)

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

  • Simple Features0-, 1- oder 2-dim. GeometrienPointMultiPointCurveLineLineStringMultiLineStringMultiCurveLinearRingPolygonMultiPolygon

    SurfaceMultiSurfaceGeometry Collection

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

  • Feature TableFeatures sind rumliche ObjekteFeature Tables hneln im Aufbau den vorhin beschriebenen relationalen DatenbankenJedes 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

  • Feature TableEs gibt drei Speicherungsarten der Feature Tables

    SQL 92, unter Anwendung vona) numerischenb) binrenSQL-Typen zur Speicherung der Geometrie

    SQL 92, mit Geometrietypen

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

  • Beispiel 1: SQL92 - numerische Implementation (1)GID: geometry identifierESEQ: element sequence numberETYPE: 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

    Tabelle1

    GIDESEQETYPESEQX0Y0X1Y1X2Y2X3Y3X4Y4

    113100030303030000

    123110101020202020101010

    213130030306030600300

    22314054020452045155015

    22325015505405NilNilNilNil

    313103006030603030030

    413130303060606060303030

    Tabelle2

    Tabelle3

  • Beispiel 1: SQL92 - numerische Implementation (2)(0,0)(30,0)(60,0)(60,30)(0,30)(0,60)(60,60)(30,60)GID 1GID 3GID 2GID 4ESEQ 2ESEQ 2Darstellung der Geometrie

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

    Tabelle1

    GIDESEQETYPESEQX0Y0X1Y1X2Y2X3Y3X4Y4

    113100030303030000

    123110101020202020101010

    213130030306030600300

    22314054020452045155015

    22325015505405NilNilNilNil

    313103006030603030030

    413130303060606060303030

    Tabelle2

    Tabelle3

  • Beispiel 2: SQL92 - binre ImplementationX,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

    num. Impl.

    GIDESEQETYPESEQX0Y0X1Y1X2Y2X3Y3X4Y4

    113100030303030000

    123110101020202020101010

    213130030306030600300

    22314054020452045155015

    22325015505405NilNilNilNil

    313103006030603030030

    413130303060606060303030

    bin. Impl.

    GIDXMINYMINXMAXYMAXGeometry

    1003030

    23006030

    30303060

    430306060

    Tabelle3

  • SQL92 mit GeometrietypenZu jedem Geometrietyp wird eine Tabelle definiert, die nur Objekte des einen Geometrietyps enthltbasiert auf der Geometrie Klassen Hierarchie vom OGC

    Anwendung von Methoden mglich

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

  • AnfragenAnfragen an die Geometrie werden in SQL durch vorgefertigte Methoden gettigtDiese Methoden knnen nur im SQL 92 mit Geometrietypen benutzt werdenEs gibt Methoden, diefr alle Geometrien gelten Basis-Methodennur auf spezielle Geometrien angewendet werden knnenAusgaben sind im WKBGeometry Format

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

  • Anfrage in SQLEin Anfrage in SQL92 -Form sieht folgendermaen aus:Beispiel: Schnitte von Flurstcken mit einer Strae:

    SELECT Parcel.Name, Parcel.Id FROM Parcels, StreetWHERE Intersects(Parcels.Location, Street.centerline) = 1 Ausgabe: Alle Flurstcke, die von dieser Strae geschnitten werden

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

  • Basis-MethodenDimension ( ):Integer- Dimension des Objektes (0, 1 od. 2)GeometryType ( ):String- Name der GeometrieSRID ( ):Integer- ID fr das Spatial Reference SystemEnvelope( ):Geometry- Bounding Box als PolygonAsText( ):String- textuelle ReprsentationAsBinary( ):Binary- binre ReprsentationIsEmpty( ):Integer- 1: true, 0: false, -1: unknownIsSimple( ):Integer- 1: true, 0: false, -1: unknownBoundary( ):Geometry- Grenze

    AnfrageAusgabe

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

  • Test-Methoden fr rumliche BeziehungenEquals():Integer - Gleichheit mit einer anderen GeometrieDisjoint():Integer - Menge der gemeinsamen Punkte = 0 Intersects():Integer - Schnitt mit einer anderen G.Touches():Integer - Berhrung mit einer anderen G. Crosses():Integer - Kreuzung mit einer anderen G.Within():Integer - innerhalb einer anderen GeometrieContains():Integer - Enthlt 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 fr true, 0 fr false oder -1 fr unknown!

    TestBeziehung

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

  • Methoden, die Spatial Analysis untersttzen (1)Distance():Double- krzeste Distanz zu einer anderen GeometrieBuffer():Geometry- Reprsentation aller Punkte, die einen kleineren oder gleichen Abstand wie den angegebenen von der Geometrie haben.ConvexHull( ):Geometry- Reprsentation der konvexen HlleIntersection():Geometry- Reprsentation des Schnitts (AB)Union():Geometry- Reprsentation der Vereinigten Punktmenge (AB)

    AnfrageAusgabe

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

  • Methoden, die Spatial Analysis untersttzen (2)Difference():Geometry - Reprsentiert die Geometrie der nichtgemeinsamen Punkte (A-B)SymDifference():Geometry - ist gleich der Vereinigung minus dem Schnitt ((A-B)(B-A)) AnfrageAusgabe

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

  • Methoden - GeometryCollectionNumGeometries( ):Integer- die Anzahl der enthaltenen Geometrien GeometryN():Geometry- die N-te Geometrie in der Collection

    AnfrageAusgabe

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

  • Methoden - PointX( ):Double- X-KoordinateY( ):Double- Y-Koordinate

    AnfrageAusgabe

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

  • Methoden - CurveLength( ):Double- Lnge der KurveStartPoint( ):Point- StartpunktEndPoint( ):Point- EndpunktIsClosed( ):Integer- 1: true, wenn Startpunkt=Endpunkt 0: false oder -1: unknownIsRing( ):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

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

  • Methoden - LineString, Line, LinearRingNumPoints( ):Integer- Anzahl der Punkte im LineStringPointN(N:Integer):Point- Punkt n aus LineString l

    AnfrageAusgabe

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

  • Methoden - MultiCurveIsClosed( ):Integer- 1: true, wenn Startpunkt=Endpunkt 0: false oder -1: unknownLength( ):Double- Lnge der Kurve

    AnfrageAusgabe

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

  • Methoden - SurfaceArea( ):Double- Flche des SurfaceCentroid( ):Point- SchwerpunktPointOnSurface( ):Point- Punkt der garantiert im Surface liegt

    AnfrageAusgabe

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

  • Methoden - PolygonExteriorRing( ):LineString- umgebender RingNumInteriorRing( ):Integer- Anzahl der inneren RingeInteriorRingN():LineString- N-te innere Ring

    AnfrageAusgabe

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

  • AbschlusswortSimple Features vom OGC nur zweidimensionalZukunft: komplexe Geometrien Spatial Schema

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

    Institut fr Kartographie und Geoinformation Prof. Dr. Lutz Plmer

    Vielen Dank fr eure Aufmersamkeit!Noch Fragen?

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

  • Line, LineString, LinearRingein Linestring ist eine Kurve (Curve), wenn zwischen den Punkten linear interpoliert wirdbesteht 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

  • Curve1-dimensionalSequenz von Punkten zwischen denen linear interpoliert wird

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

  • MultiCurve1 dimensionale GeometrieElemente dieser Subklasse sind KurvenDie Klasse wird als einfach bezeichnet, wenn alle Elemente einfach sind Schnittpunkte drfen nur in der Begrenzung zweier Elemente vorkommenBegrenzung dieser Klasse sind all diejenigen Punkte, welche in einer ungeraden Anzahl der Teilelemente vorkommenMultiCurve gilt als geschlossen, wenn alle Teilelemente geschlossen sind

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

  • MultiLineStringMultiCurve = MultiLineString, wenn Elemente LineStrings (lineare Interpolation zwischen den Punkten)

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

  • Polygonebene Oberflche, definiert durch eine uere und 0 oder mehrere innere Grenzenjede innere Grenze legt ein Loch im Polygon fest die Grenzen bestehen aus LinearRingsmehrere Grenzen drfen sich nicht schneidenBerhrpunkte sind gestattet

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

  • MultiPolygon 1Subklasse, deren Elemente Polygone sind Kennzeichen :Die Innenrume und die Grenzen zweier Polygone dieser Klasse drfen sich nicht schneidenSie drfen sich an einer begrenzten Anzahl von Punkten berhrenMultiPolygon besteht aus einer geordneten, geschlossenen Ansammlung von PunktenDie inneren Bereiche dieser Klasse sind nicht zusammenhngendDie Anzahl der inneren Bereiche entspricht der Anzahl der Polygone

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

  • MultiPolygon 2die 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

  • Surface2D geometrisches ObjektZeichnet sich durch eine uere Grenze ausDarber hinaus knnen mehrere innere Grenzen bestehenEinfache Oberflchen (= Simple Surfaces) haben im 3D die gleiche Gestalt, wie ebene OberflchenPolyhedral Surfaces erhlt man, indem man einfache Oberflchen entlang ihrer Grenzen miteinander vernhtdiese mssen dann nicht mehr eben sein (3D)

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

  • MultiSurface2D Ansammlungen von Oberflchen zwei verschiedene Oberflchen (Surfaces) drfen sich nicht schneidenansonsten kein Multisurface sondern Surfacedie Grenzen zweier Elemente knnen sich in einer begrenzten Anzahl von Punkten berhrenMultiSurface wird als abstrakte Klasse bezeichnetSie definiert verschiedene Vorgehensweisen fr deren Unterklassen

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

  • MultiGeometryStellt eine Geometrie dar, die mehrere anderen Geometrien beeinhaltet

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

  • Textuelle Reprsentation (WKB)Ausgabe ist fr den Menschen lesbarBeispiel: Ein String im geogr. Koordinatensystem fr die UTM-Zone 10 im NAD83

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

  • Binre Reprsentation (WKB)Zahlencodezur maschinellen WeiterverarbeitungBeispiel:

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

  • Beispiel - NRW

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

  • Beispiel - NRW: EnvelopeEnvelope( ):Geometry

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

  • Beispiel - NRW: Envelope

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

  • Beispiel - NRW: Envelope

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

  • Beispiel - NRW: EnvelopeAusgabe:Polygon, das diebounding box reprsentiert

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

  • Beispiel - NRW: BoundaryBoundary( ):Geometry

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

  • Beispiel - NRW: BoundaryAusgabe:Polgon, das die GrenzeNRWs reprsentiert

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

  • Beispiel - NRW: BufferBuffer():Geometry:Reprsentation aller Punkte, dieeinen kleineren odergleichen Abstand wie denangegebenen von derGeometrie haben.Z.B.: Umkreis vonX Kilometern

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

  • Beispiel - NRW: BufferBuffer():Geometry:Reprsentation aller Punkte, dieeinen kleineren odergleichen Abstand wie denangegebenen von derGeometrie haben.Z.B.: Umkreis vonX KilometernAusgabe wre in diesem Fall die Geometrie desgrnen Kreises

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

  • Beispiel - NRW

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

  • BeispieleIntersection():Geometry

    Union():Geometry

    Difference():Geometry

    SymDifference():Geometry

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