80
www.martinwerner.de
Kapitel 1.5
Darstellung von Geodaten für Computer
www.martinwerner.de
Zusammenfassung
In den Beispielen haben wir viele Typen von Geodaten gesehen. Hier ist mal eine kleine Klassifikation der Daten, die uns untergekommen sind
Geographische Raster
Orthobilder
Scans von Karten
Berechnete Raster (z.B. Höhenmodelle)
Vektor
Punkt, Linie, Polygon
Freie Tags
Multimedia
Bild und Text
82
www.martinwerner.de
Tradition
Leider traditionell geteilt (grobe Vereinfachung)
Raster
Ingenieure (Bilder, Satelliten, Fernerkundung, etc.)
Vektor
Computergrafik
Computational Geometry (Mathematik)
Datenbanken
Entsprechend gibt es (derzeit) noch nicht wirklich durchlässige Systeme:
Getrennte Systeme und Datenbanken für beide Welten, falls die andere Sicht unterstützt wird, dann oft nicht in hoher Performanz
www.martinwerner.de
Open Source Beispiele
GDAL
Getrennt in Tools und Bibliotheken für Raster und Vektor
OGR-Bibilothek für Vektor
PostGIS
Vektordatenbank (SQL-Datenbank mit Erweiterung für Geometrie)
Seit 2005 (Version 1.0)
Raster ab 2012 (Version 2.0) offiziell unterstützt
Rasdaman
Rasterdatenbank (Industry, State-of-the-art)
SciDB
Matrixdatenbank
84
www.martinwerner.de
Moderne Entwicklungen
Interrogativer Ansatz
Motivation
Jeder soll GIS nutzen können
Kontext ist entscheidend (z.B. ist eine Suche nach Apotheke in OSM selten hilfreich, da sehr groß, eine Suche mit Kontext geht aber sehr gut)
Welcher Kontext gebraucht wird, ist aber zunächst unklar
Kontext, den man ohnehin hat (Ort bei Handys, Zeit, Nutzerprofile, vorhandene Daten)
Kontext, den man nicht hat (Kontext der Anfrage, etc.)
www.martinwerner.de
Vision
Dialog-basiert:
Nutzer: Lass uns mal Paris anschauen
System: Ich kenne Paris als Hauptstadt von Frankreich. Es gäbe auch Paris als Stadt in den USA, wenn Du willst.
Nutzer: Frankreich ist gut.
Systen: Okay.
Nutzer: Nun zeig mir mal Apotheken
System: Das sind sehr viele. Möchtest Du eine Übersichtskarte oder suchst Du eine bestimmte Apotheke?
Nutzer: Eine Excel-Liste mit den Adressen bitte.
System: Datenexport wird vorbereitet. Ich melde mich in ca. 2 Sekunden…
86
www.martinwerner.de
Beispiel
Mit Core Concepts for Spatial Computing (Kuhn et. al) wird versucht, eine Taxonomie aller denkbaren Geodaten so zu machen, dass eine einheitliche Behandlung möglich wird. Dabei wird zunächst zwischen spatialen Konzepten und Informationskonzepten unterschieden:
These concepts can serve as a basis for transdisciplinary research by building theories of change between disciplines: What is neighborhood to climatology? What is neighborhood to political and social sciences?
What is neighborhood to urban architects?
Spatial concepts
Location Neighbourhood Field Object Network Event
Information concepts
Granularity Accuracy Meaning Value
www.martinwerner.de
An overview
Spatial@UCSB: “The Core Concepts of Spatial Information are designed to facilitate spatial computing and reduce its complexity. They also serve as conceptual
lenses on environments, allowing for different perspectives on them, fed by data with any sort of spatial reference.”
88
www.martinwerner.de
Some concepts for this lecture
Note that these differ from the core concepts just explained and proposed by Kuhn.
Location
A point in space, usually given as coordinates in a coordinate reference system (CRS)
A bounded (compact, closed) subset of space, often as well called a place („Audimax“ or „Marienplatz“)
A union of locations (e.g., the set of all buildings as a subset of a city: „I am inside a building in New York“ is actually a specification of location, isn‘t it?)
www.martinwerner.de
Some concepts for this lecture
Note that these differ from the core concepts just explained and proposed by Kuhn.
Neighborhood
A Neighborhood of a spatial object is the spatial object built from including all things with a similar context
The neighborhood of a point might be a circle around the point
The neighborhood of a measurement of temperature might be a temperature range
The neighborhood of a Wikipedia article might be the set of references
90
www.martinwerner.de
Kontext
Kontext ist all das, was einer Entität eine Bedeutung gibt und beinhaltet insbesondere die Entität selbst.
Geographische Umgebungen (Kreise, Polygone)
Soziale Umgebungen (Familie, Freunde, Kontakte, soziales Netz,…)
Kulturelle Umgebung (Religion, Grundüberzeugungen, Bildung, …)
Funktionale Umgebung (z.B. Alternativen mit gleicher Funktion) Klassische Definition:
Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and the application themselves.
Anind K. Dey: Understanding and Using Context
www.martinwerner.de
Objekt
Ein Objekt ist zunächst nur eine Identität. In Geodaten ist diese Identität an einen Ort gebunden. Dieser kann allerdings zeitlich variieren
(„Moving Object“). An diese Identität werden auch Attribute gebunden (Größe, Farbe, manövrierfähigkeit, weitere Identitäten)
Beispiele:
Ein Haus ist statisches Objekt: Ort ist z.B. das Gebäudepolygon,
Attribute sind z.B. die Anzahl der Stockwerke. Identität ist z.B. die ID in der OpenStreetMap
Ein Auto ist ein mobiles Objekt: Ort verändert sich über die Zeit, Attribute sind z.B. Geschwindigkeit und Wendekreis.
Ein Posting in einem sozialen Netz ist auch ein Objekt: Ort ist der Ort von wo das Posting kommt (ggfs. nur sehr grob), Attribut ist Text + Bild.
92
www.martinwerner.de
Feld
Ein Feld ist eine räumlich ausgedehnte, typischerweise interpolierbare Größe. Sie ist aber in der Regel nur an Stützpunkten (Objekte!)
bekannt. Diese können in einem Gitter liegen (z.B. bei der
Bilderfassung) oder auch Punktobjekte sein (z.B. Messstationen).
Das Wesentliche ist beim Feld also, dass es zwar nicht überall „bekannt“
sein muss, aber überall durch Interpolation angenähert werden kann.
Wind
Temperatur
Bild
www.martinwerner.de
Netzwerk (Geographisch)
Ein geographisches Netz ist ein geographisch eingebetteter Graph. Das bedeutet, ein Graph, bei dem jedes „Vertex“ ein Punktobjekt ist.
Besondere Varianten:
Euklidischer Graph: Gewichteter Graph, bei dem die Gewichte die Distanzen sind. Typisch für einfache Navigationsgraphen
Partiell eingebetteter Graph: Nur ein Teilgraph ist ein geographisches Netz, die nicht-geographische Vernetzung wird aber dennoch
verwendet.
94
www.martinwerner.de
Netze
Links: Netzwerk aller Straßen in München Rechts: Innenstadt
OpenStreetMap Data
www.martinwerner.de
Beispiel: Partielle Einbettung
Beispiel: Bob läuft zur Telefonzelle, um Alice anzurufen. Alice läuft dann zu Chuck, um die Information von Bob mündlich weiterzugeben. Die Gesamtzeit der Nachrichtenübermittlung ist dann zwei mal geographisch gefasst, einmal nicht.
Laufen
Telefonieren
Distanz und
Geschwindigkeit
Laufen Distanz und
Geschwindigkeit
, ⋅ + + , ⋅
Nachrichtenlänge
96
www.martinwerner.de
Ereignis
Mit Ereignis bezeichnet man ein Objekt mit Zeitbezug. Dieser besteht aus
einem Zeitpunkt oder einem
Zeitraum
Man könnte jetzt diskutieren, ob man Ereignis überhaupt als Konzept braucht. Der Grund, warum es oft so betrachtet wird, ist, dass Zeit ein ganz spezielles Attribut ist, da es total geordnet werden kann und
Kontext in der Regel mit der Zeit abnimmt. Manchmal wird es daher auch als vierte Koordinate eines geographischen Raums (4D) definiert.
Begriff: „Space-Time-Ellipsis“. Problem: Skalierung Zeit vs. Raum?
www.martinwerner.de
Qualitätskonzepte
Granularität:
Auflösung
Genauigkeit
Präzision
Frage: Passen Anwendung und Granularität zusammen, falls nicht, kann man das erreichen?
Beispiele:
Kartographische Vereinfachung
Image Superresolution
Mobile Applikation
98
www.martinwerner.de
Kartographische Vereinfachung
Beispiel: Douglas-Peucker-Algorithmus: Gegeben ein Fehlermaß pro Punkt.
So lange Summe aller Fehler zu groß, unterteilte Objekt am Punkt mit größtem Fehler und fahre mit beiden Hälften fort.
www.martinwerner.de
Kartographische Vereinfachung
Beispiel: Douglas-Peucker-Algorithmus: Gegeben ein Fehlermaß pro Punkt.
So lange Summe aller Fehler zu groß, unterteilte Objekt am Punkt mit größtem Fehler und fahre mit beiden Hälften fort.
100
www.martinwerner.de
Kartographische Vereinfachung
Beispiel: Douglas-Peucker-Algorithmus: Gegeben ein Fehlermaß pro Punkt.
So lange Summe aller Fehler zu groß, unterteilte Objekt am Punkt mit größtem Fehler und fahre mit beiden Hälften fort.
www.martinwerner.de
Diskussion
A little inaccuracy saves tons of explanation (Munro) Konzepte sind einfache Stereotypen:
Helfen beim Verständnis
Sind aber oft im Detail falsch und nicht zielführend
102
www.martinwerner.de
Kapitel 1.5
Geodaten und ihre Anwender
www.martinwerner.de
The Field
Spatial Data
Geometrie Topologie
Computational Geometry
Database Spatial Data
Warehouse
Standards
Data Mining Machine
Learning AI
Interoperability &
Actionability Enrichment &
Value
Computation Theory &
Understanding
104
www.martinwerner.de
Geo-Informatik als Konvergenz
Die Geo-Informatik trägt aus Sicht der Informatik zu den vier Hauptfeldern
Theorie
Computation
Interoperability & Actionability
Enrichment & Value
bei und unterstützt die Anwendung von Geodaten.
www.martinwerner.de
Signifikanz der Geoinformatik
106
www.martinwerner.de
Kapitel 1.6
Interaktion mit Geodaten
www.martinwerner.de
Software, meist
visuell, zur Analyse und Integration von
Geodaten Desktop GIS
108
www.martinwerner.de
Karte für Online- Dienste, Touch-
Bedienung möglich.
Slippy Map
www.martinwerner.de
SQL
Geoverarbeitung kann mit andere Datenverarbeitung, zum Beispiel im Bereich der Sprache SQL kombiniert werden:
SET @g = geometry::Parse('POINT(3 4 7 2.5)');
oder
SELECT TOP ( number ) [ WITH TIES ] [ * | expression ] [, ...] FROM spatial_table_reference, ... [ WITH ( [ INDEX ( index_ref ) ] [ ,
SPATIAL_WINDOW_MAX_CELLS = <value>] [ ,... ] ) ] WHERE column_ref.STDistance ( @spatial_ object ) { [ IS NOT NULL ] | [ <
const ] | [ > const ] | [ <= const ] | [ >= const ] | [ <> const ] ] } [ AND { other_predicate } ] } ORDER BY column_ref.STDistance ( @spatial_
object ) [ ,...n ] [ ; ]
110
www.martinwerner.de
Kapitel 2
Grundlegende Definitionen und Operationen
www.martinwerner.de
Kapitel 2.1
Elemente der Geometrie
112
www.martinwerner.de
Punkt und Koordinatensysteme
Koordinatensystem
Ein Koordinatensystem eines metrischen Raumes ist die Auswahl einer geordneten Basis. Jeder Punkt im Raum erhält so eine
eindeutige Darstellung als
= + + ⋯
Dabei nennen wir die Koordinaten.
Ein Koordinatensystem in einem euklidischen Raum ist rechtwinklig, wenn das paarweise Skalarprodukt aller Basisvektoren jeweils Null ist.
www.martinwerner.de
Koordinatensystem
In diesem Koordinatensystem sind die Achsen nicht rechtwinklig. Dennoch lässt sich der Punkt als Summer von skalaren Vielfachen der Basisvektoren (Pfeile) darstellen.
114
www.martinwerner.de
Geographisch
Die Kugeloberfläche ist lokal zweidimensional (Atlas). Wir können also lokal gute Karten erstellen, indem wir die Krümmung geeignet ignorieren. Dazu benötigt man Projektionen, die Teile der Oberfläche der Kugel in die Ebene abbilden.
Ebene, die tangential angeklebt wurde
www.martinwerner.de
Kartesische Koordinatensysteme
Orthogonales Achsensystem mit gleichen Längen für die Achsen.
Rechssysteme
Linkssysteme
116
www.martinwerner.de
Ellipsoide (WGS84)
Gegeben durch
große Halbachse von a = 6.378.137 m und
Abplattung f = 1 / 298,257223563
entsprechend einer kleinen Halbachse b = a(1−f) 6.356.752 m
Verankerung durch Angabe von Koordinaten für 12
sogenannte Fundamental- Stationen auf der
Erdoberfläche
www.martinwerner.de
Koordinatensysteme der Erde
Koordinaten Systeme (Datum)
Ellipsoid
a Äquatorradius m; f Abplattung
Potsdam Datum Bessel 1841,
a=6.377.397,155; f=299,1528128
(DDR, Warschauer Pakt) Krassovski 1942
a=6.378.245,0; f=298,3 Europa Datum, ED50
(Militärkarten, UTM)
Hayford 1909, International 1924 a=6.378.388; f=297
WGS84 WGS84 1984
a=6.378.137,0; f=298,257223563
ETRS89 GRS80 1980
a=6.378.137,0; f=298,257222101
Astronomie IAU 1964, IUGG 1967
a=6.378.160; f=298,247167427
bei GPS…
118
www.martinwerner.de
Exkurs zu 2.1: Beispiele von Projektionen
www.martinwerner.de
Mögliche Eigenschaften:
• Flächentreue
• Winkeltreue
• Entfernungstreue Kompromisse können gemacht werden und heißen vermittelnde Projektionen
UTM ist eine Merkator- Projektion, die sich für Weltkarten durchgesetzt hat.
Übersicht Projektionen
120
www.martinwerner.de
Beispiele
Wikipedia
www.martinwerner.de
Beispiele
122
www.martinwerner.de
Beispiele
Wikipedia
www.martinwerner.de
Beispiele
124
www.martinwerner.de
Beispiele
Wikipedia
www.martinwerner.de
Beispiele
126
www.martinwerner.de
Punkte und ihre Verhältnisse
Durch Wahl eines Koordinatensystems (e.g., geordnete Basis eines Vektorraums) erhält ein Punkt Koordinaten
= ( , , … , )
Die Anzahl der Koordinaten ist die Dimension des Raumes
Geometrische Bedeutung einfacher Operationen auf diesem Vektor
Addition = Verschiebung („Translation“)
Norm = „Länge“ (z.B. euklidisch , = ∑ − )
Skalarprodukt liefert Informationen über Winkel und Norm
www.martinwerner.de
Linie
Eine Linie ist beschrieben durch ein paar von Punkten , und besteht aus allen linear interpolierten Punkten:
, = { + − , ∈ 0,1 }
Bei einer orientierten Linie unterscheidet man Anfangs- und Endpunkt.
= 0
= 1
= 0.5
128
www.martinwerner.de
Polygon
Ein Polygon ist ein geometrisches Objekt, welches durch eine geordnete Sequenz von Punkten … entsteht.
Der Rand des Polygon ist die Vereinigung der Linien ( , )
Ein Polygon ist geschlossen, wenn der erste und letzte Punkt identisch sind
Der Abschluss eines nicht geschlossenen Polygons entsteht durch hinzufügen des ersten Punktes am Ende
www.martinwerner.de
Fläche und Umlaufsinn
Diese Slide gilt zunächst nur für 2D
Für die Definition der Fläche des Polygons ist zunächst der Umlaufsinn zu definieren:
CCW Counter Clock Wise gegen den Uhrzeigersinn
CW „Clock Wise“ mit dem Uhrzeigersinn
Ferner muss man definieren, ob man ein Links- oder Rechtssystem verwendet. Wir einigen uns hier darauf, dass die Fläche „links“ vom Umlauf die Fläche des Polygon ist.
130
www.martinwerner.de
Dreieck
Ein Dreieck ist ein geschlossenes Polygon mit 3 Ecken.
Dreiecke haben viele nützliche Eigenschaften, denen wir in der Zukunft immer mal wieder begegnen werden
www.martinwerner.de
Kurven
Eine Kurve ist eine Verallgemeinerung einer Linie.
Zur Erinnerung: Die Linie ist definiert durch zwei Punkte und die folgende Vorschrift
, = { + − , ∈ 0,1 }
Eine Kurve ist gegeben durch eine Funktion ( ) und besteht geometrisch aus der Menge
, = { ( ), ∈ 0,1 }
132
www.martinwerner.de
Kurve
Der Anfangspunkt einer Kurve ist 0 , der Endpunkt ist (1).
Eine Kurve ist geschlossen, wenn Anfangs- und Endpunkt übereinstimmen
Eine Linie , ist eine Kurve mit
= + ( − )
Da eine Kurve also tatsächlich nur eine Funktion mit einem reellen Parameter ist, erbt sie alle nützlichen Eigenschaften von Funktionen
Stetigkeit
Differenzierbarkeit
Etc
und wir werden oft bestimmte dieser Eigenschaften voraussetzen
www.martinwerner.de
Kreis
Ein Kreis ist definiert durch Mitttelpunkt M und Radius r und besteht aus den Punkten mit Abstand r von P.
, = { : , = }
134
www.martinwerner.de
Ellipse
Eine Ellipse ist die Menge der Punkte, deren Abstandssumme zu zwei Punkten konstant ist (Brennpunkte).
Liegt der Mittelpunkt im Ursprung, so gilt
= { , : + + + − + = 2
oder einfacher mit ≔ −
= { , : + = 1
( , 0) (− , 0)
www.martinwerner.de
Übersicht einfacher Geometrie
Objekt Definiert durch Geometrische Klassen
Punkt Koordinatensystem + Koordinaten Punkt
Linie Zwei geordnete Punkte Kurve, Fläche
(degeneriert)
Polygon N geordnete Punkte Kurve, Fläche
Dreieck 3 geordnete Punkte Kurve, Fläche
Kreis Mittelpunkt, Radius, Distanzfunktion Kurve, Fläche
Ellipse Brennpunkte Kurve, Fläche
136
www.martinwerner.de
Distanz geometrischer Objekte
Distanz zwischen Punkten (oft gegeben durch Norm / Skalarprodukt)
Distanz zwischen Punkt und Menge ist leicht zu definieren als , = inf{ , : ∈ }
Ist M aber unendlich, so ist dieser Ausdruck kaum zu berechnen.
Daher sind spezielle geometrische Betrachtungen nötig, die auch Eigenschaften des Raumes betreffen.
www.martinwerner.de
Distanz zwischen Punkt und Linie
In euklidischer Geometrie kann die Distanz zwischen einem Punkt und einer Linie in konstanter Zeit bestimmt werden:
Satz: Die Distanz zwischen einem Punkt und einer Linie , ,
kann berechnet werden, indem der Punkt X bestimmt wird, an dem das Infimum der Distanz angenommen wird. Dann ist die Distanz
, , = ( , )
Hinweis: Der Punkt ergibt sich als orthogonale Projektion von P auf die Linie [Q,R].
[Details an der Tafel]
Konstante Zeit bedeutet, dass die Komplexität der Berechnung immer
138
www.martinwerner.de
Distanz Punkt Linie
Sei L(t) eine Linie durch zwei Punkte
= + ( − ) = +
Die Distanz eines Punktes ist dann
, = − − − ⋅
−
www.martinwerner.de
Distanz Punkt Linie
In der Regel normiert man den Vektor
Dann liegt der Punkt innerhalb des Segments, falls
= − ⋅ ∈ [0,1]
Die Distanz zum Liniensegment ist dann
Wie auf voriger Folie, wenn der Projektionspunkt im Innern liegt
Die Distanz zu b oder zu a, falls der Projektionspunkt außerhalb des Segments liegt.
−
140
www.martinwerner.de
Distanz zwischen Punkt und Linie
Auf der Erdoberfläche ist das Analogon zu einer Linie der kürzeste Pfad auf der Oberfläche zwischen zwei Punkten A und B. Dies ist ein
„Großkreissegment“.
Man kann diese Kurve an einer endlichen Anzahl von Stützpunkten ausrechnen (Geodetic Library, Übung)
Man kann die Distanz annähern, indem man Stützpunkte nach und nach einfügt
Man kann die Auswahl der Stützpunkte geschickt machen (Binary Search), weil die Distanz als Funktion von ein einziges Minimum hat.
Diese Berechnung ist nicht konstant in der Zeit. Sie hängt von der Länge der Kurve und der Berechnungskomplexität der
Kurvenfunktion selbst ab.
www.martinwerner.de
Großkreise - Great Circle Distance
Der kürzeste Pfad auf der Oberfläche ist eine Kurve.
Wenn die Erde eine Kugel wäre und ein Ort auf der Erde durch Längengrad („Longitude“) und Breitengrad („Latitude“) gegeben wird, dann ist der Abstand
zwischen zwei Orten ungefähr (Haversine Formula)
142
www.martinwerner.de
Fazit
Merke:
Schon sehr einfache Probleme sind auf der Erdoberfläche schwer berechenbar.
Euklidische Geometrie ist einfach, beschreibt die Welt aber schlecht (ignoriert Krümmung)
Kugelkoordinaten beschreiben die Welt besser, sind aber schlecht für Berechnungen
Häufig Wechsel zwischen beiden Welten sinnvoll.
(Koordinatensystemwechsel, Projektionen, etc.)