Inhaltsverzeichnis

View page as slide show

Vorlesung 10: (Web-) Mapping

'FHTW in Google Earth' von kantel

Maurits Cornelis Escher lebt...

und er arbeitet für Google Maps:

Motto

»Eine gute Karte erzählt eine Menge kleiner Notlügen: Sie unterdrückt die Wahrheit, um den Benutzer das sehen zu lassen, was er sehen muß.«

- Mark Monmonier, How to lie with Maps, Chicago 1991

Warum Mapping? (1)

(Land-) Karten erfüllen mindestens drei Zwecke:

  • Sie zeigen dem Leser, wo er ist.
  • Sie zeigen dem Leser, wo er hingehen kann.
  • Sie geben dem Leser einen Überblick über seine Umgebung.

Warum Mapping? (2)

Das kann durchaus eine virtuelle Umgebung sein:

'Die Landkarte des Internets' von kantel

Warum Mapping? (3)

Karten im Web erfüllen meist den letzten Zweck:

  • Sie geben dem Leser einen Überblick über seine Umgebung.
  • D.h. sie visualisieren Daten und Informationen, aber…

Warum Mapping? (4)

  • …mit zunehmender Vernetzung mobiler Clients wird auch der Navigationsaspekt von Webkarten (wieder) in den Vordergrund rücken.

Visualisierung

(Web-) Mapping (Visualisierung) besteht im wesentlichen aus folgenden Aufgaben:

  • Beobachtungen quantifizieren (z.B. anhand von Satellitenbildern das Ausmaß von Waldschäden feststellen)
  • Bobachtungen lokalisieren (z.B. wo sind die irakischen Waffenfabriken?)
  • Beobachtungen und/oder Lokalisierungen visualisieren (z.B. Einfärbungen, Overlays)

Requirements (1)

Um geographische Daten im Web zu präsentieren sind mindestens folgende Komponenten erforderlich:

  • ein Webserver (Apache oder ähnliches, kann auch gehostet sein)
  • ein Web-Mapping-Server
  • Geodaten
  • geographische Metadaten

Web-Mapping-Server, Auswahl

  • MapServer (Open Source, designed für GIS-Anwendungen)
  • GeoServer (Open Source, unterstützt die OGC-Protokolle WMS, WFS und WCS)

Web-Mapping-Server, Auswahl (2)

  • Google Maps, Yahoo! Maps etc. (Satellitenbilder und Karten, kommerziell)
  • SVG-Anwendungen (nicht wirklich Server, aber…)

Web-GIS Desktop Clients

  • Google Earth (kommerziell, kann 3D)
  • NASA World Wind (Open Source, ständig aktuelle Satellitenbilder, zur Zeit Windows only, kann ebenfalls 3D)
  • uDig, das user-friendly Desktop Internet GIS (basiert auf dem Eclipse-Framework und unterstützt die OGC-Protokolle WMS und WFS)

MapServer (Beispiel 1)

MapServer (Beispiel 2)

…kann bis auf Straßenkarten-Ebene vergrößert werden.

'MapServer, Beispiel 2' von kantel

MapServer (Übersicht)

  • Extrem konfigurierbar
  • Arbeitet mit vielen (Open Source) GIS-Tools zusammen
  • Qualität der Karten ist von der Qualität der Geodaten abhängig (keine eigenen Geodaten/Karten)

GeoServer (Beispiel 1)

GoogleMaps selbst gebaut:

'GeoServer Demo Site' von kantel

GeoServer (Beispiel 2)

OpenArialMap (OAM)

'OpenArialMap' von kantel

Die Karten des OpenStreetMap-Projekts (siehe nächste Folie) können bei Bedarf eingeblendet werden.

GeoServer (Übersicht)

Google Maps

Überraschung: Die S-Bahn Berlin kann jetzt Google Maps…

'Überraschung' von kantel

Google Maps (2)

Jetzt auch mit topographischen Karten in Relief-Darstellung (aber – noch? – ohne Höhenlinien)

'Die neue Reliefdarstellung bei Google Maps' von kantel

Google Maps (Übersicht)

  • Das gleiche exzellente Karten- und Bildmaterial wie bei Google Earth
  • Einbinden in die eigene Webseite möglich
  • Konfigurier- und erweiterbar via JavaScript-API und KML-Dateien

Google Maps und die Fußgänger

Google Maps und Video

'Ein Sevenload-Video in Google Maps einbauen' von kantel

Google Maps und »Meine Karten«

'»Meine Karten« bei Google Maps' von kantel

Google Maps und Overlays

'Laxton Open Field Survey Map' von kantel

Mehr hier

Google Maps Mashup

toilettensuchmaschine.jpg

Yahoo! Maps

Das neue, Flash-basierte Yahoo! Maps mit FLEX-GUI:

'Das neue, Flash-basierte Yahoo! Maps' von kantel

Yahoo! Maps Karten

'Yahoo! Maps (Kartenansicht)' von kantel

Yahoo! Maps Satellitenbilder

'Yahoo! Maps (Satellitenansicht)' von kantel

Yahoo! Maps (Beispiel)

'Screenshot Yahoo! TagMaps' von kantel

TagMaps/WorldExplorer ist ein Yahoo! Maps-/flickr-Mashup, das es auch in einer Version zum Einbetten in die eigene Webseite gibt.

Yahoo! Maps (Übersicht)

  • Mittlerweile gutes Kartenmaterial für Europa, Bilder reichen (in Europa) noch lange nicht an Google Maps heran.
  • In die eigene Webseiten einbauen und erweitern via Flash- und REST-API

Yahoo! MapMixer

Mit wenigen Klicks zu eigenen Overlays (auch zum Einbinden in die eigene Seite):

'Yahoo! Maps Overlay' von kantel

GoYellow

Berlin wird gelb:

'Nie mehr Bus oder Bahn verpassen...' von kantel

GoYellow (Übersicht)

  • Gutes bis exzellentes Karten- und Bildmaterial für Deutschland (stammt aus den gleichen Quellen wie das Material bei Google)
  • (Noch) keine API, dh. Einbinden in die eigene Webseite nicht möglich
  • Aber viele Features lassen sich durch Manipulation der URL anzeigen

OpenStreetMap

OpenStreetMap (2)

Im Vergleich: Der Alexanderplatz bei Google Maps:

OpenStreetMap (3)

OSM-Karten in die eigene Webseite einbauen:

Der Quellcode

<div id="map" style="width:460px; height:400px;">
<script type="text/javascript" src="http://www.deinserver.de/ol/OpenLayers.js"></script>
<script type="text/javascript" src="http://openstreetmap.org/openlayers/OpenStreetMap.js">
</script>
<script type="text/javascript">
  function Lon2Merc(lon) {
    return 20037508.34*lon/180;
  }
 
  function Lat2Merc(lat) {
    var PI = 3.14159265358979323846;
    lat = Math.log(Math.tan((90 + lat)*PI/360))/(PI/180);
    return 20037508.34*lat/180;
  }
</script>
<script type="text/javascript">
  var lon = 13.426837921142578;
  var lat = 52.48142115832729;
  var zoom = 13;
  var map = new OpenLayers.Map("map", {
  controls: [
    new OpenLayers.Control.KeyboardDefaults(),
    new OpenLayers.Control.MouseDefaults(),
    new OpenLayers.Control.LayerSwitcher(),
    new OpenLayers.Control.PanZoomBar()],
  maxExtent:
    new OpenLayers.Bounds(-20037508.34, -20037508.34,
			   20037508.34,  20037508.34),
    numZoomLevels: 18,
    maxResolution: 156543,
    units: 'meters',
    projection: "EPSG:41001"} );
 
  var mapnik_layer = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
  var tah_layer = new OpenLayers.Layer.OSM.Osmarender("Tiles@Home");
  map.addLayers([mapnik_layer, tah_layer]);
 
  var x = Lon2Merc(lon);
  var y = Lat2Merc(lat);
  map.setCenter(new OpenLayers.LonLat(x, y), zoom);
</script>
</div>

OpenStreetMap und SVG

Mehr hier

Web-Mapping mit SVG

Google Earth

Die Killerapplikation:

'Google Earth Screenshot' von kantel

Google Earth (Beispiel 1)

Aufgrund der politischen Situation sind weite Teile des Iraks mit exzellenten Luftbildern für Google Earth erschlossen…

'Ur III in Google Earth' von kantel

Google Earth (Beispiel 2)

…und wo nicht, kann mit Overlays nachtgeholfen werden:

'Uruk in Google Earth' von kantel

Google Earth (Beispiel 3)

Dabei kann man – im Gegensatz zu Google Maps, aber ähnlich wie im Yahoo! MapMixer – die Transparenz stufenlos regeln:

'Laxton Open Field Survey Map (1635)' von kantel

Google Earth (Beispiel 4)

Mit Hilfe von SketchUp erstelltes 3D-Modell, eingebunden in Google Earth:

'3D-Modell eines Tempels in Ur III' von kantel

Google Earth (Beispiel 5)

Google Earth (Beispiel 6)

Berlin in 3D (1)

Ruckelt arg und noch sind nicht alle Gebäude da (so fehlt zum Beispiel die Kanadische Botschaft).

'Potsdamer Platz in 3D' von kantel

Berlin in 3D (2)

Und manchmal (f)liegen die Gebäude auch noch etwas in der Luft…

'Jetzt aber: Berlin 3D' von kantel

Google Earth (Übersicht [+])

  • Dank Googles Marktmacht Quasi-Standard
  • Umfangreiche (Meta-) Datenbank
  • Via KML leicht erweiterbar

Google Earth (Übersicht [+])

Für viele Teile der Erde exzellentes und umfangreiches Karten- und Bildmaterial

'Die Osterinsel bei Google Earth' von kantel

Google Earth (Übersicht [-])

  • Import von GPS-Daten erst ab Plus-Version ohne Zusatztool
  • Ressourcenhungrig
  • Zugang zu WMS-Diensten nur über Zusatz-Scripte
  • Kommerziell (Plus-, Pro- und Enterpriseversionen kosten Geld)

Google Earth (Übersicht [-])

  • Und so richtig scheint Google auch noch nicht zu wissen, woraus die Enterprise-Version besteht:
  • Preis für F+E: ca. 200.000 €
  • Lieferumfang: unklar

NASA World Wind

Die Open-Source-Alternative zu Google Earth:

'Screenshots NASA World Wind' von kantel

NASA World Wind (Beispiel 1)

Globus mit Markierungen für Waldbrände, Staubstürme etc.:

'Screenshot NASA World Wind (1)' von kantel

NASA World Wind (Beispiel 2)

Overlay: Temperaturverteilung der Erde:

'Screenshot NASA World Wind (2)' von kantel

NASA World Wind (Beispiel 3)

3D-Bilder: Mt. St. Helens, Washington:

'Screenshot NASA World Wind (3)' von kantel

NASA World Wind (Übersicht 1)

  • Große Menge von Geodaten der NASA (Ortsnamen nur in Englisch) [+]
  • Kann direkt auf WMS-Dienste (»Web Mapping Service«) Dienste zugreifen [+]
  • Scriptfähig (XML-Scripte und Add Ons via API) [+]
  • Vielzahl von Add Ons (eine Reihe davon bietet die NASA selber an) [+]

NASA World Wind (Übersicht 2)

  • Zur Zeit Karten für Erde, Mond und Mars vorhanden [+]
  • Projekt, Dokumentation etc. teilweise etwas chaotisch [-]
  • Träge reagierender Server der NASA [-]

NASA World Wind (Übersicht 3)

  • Zur Zeit Windows Only [-] — eine Java-Version existiert allerdings schon in Anfängen
  • Zukunft? (NASA hat eine Kooperation mit Google vereinbart) [?]

NASA World Wind in Java

Eine Framework für eigene, auf NASA World Wind basierende Applikationen:

'NASA World Wind in Java' von kantel

uDig

uDig: Google Earth selbstgemacht

'uDig Screenshot' von kantel

uDig (Übersicht)

  • standardbasiert: »versteht« die OGC Webservices Web Map Service (WMS) und Web Feature Service (WFS)
  • kann auch via Webservice Rasterdaten einlesen, wie zum Beispiel die Blue Marble- oder die Landsat-Karten der NASA
  • kann Desktop- und Webdaten mischen
  • in Java geschrieben, baut auf das Eclipse-Framework auf
  • Internationalisierung?

Werkzeuge

Übersicht:

  • (Open Source) GIS-Tools
  • Google-Tools (JavaScript-API und KML)

Warum Tools? (1)

Das…

'Die Erde als Kugel' von kantel

Warum Tools? (2)

muß nach das…

'Mercator-Projektion' von kantel

Projektionen

(Ideale) Anforderungen an eine Projektion:

  • Winkeltreue (See- und Luftkarten)
  • Flächentreue (Topographische Karten)
  • Längentreue (Entfernungsmessung)

Mindestens eine von diesen Anforderungen muß bei einer Projektion von einer Kugel (einem Spheroid, einem Ellipsoid) auf eine Ebene verletzt werden.

Projektionen und Koordinatensysteme

Es gibt Unmengen von Kombinationen von Projektionen und Koordinatensystemen. Die gängigsten sind:

  • NAD27 (Clarke 1886 Ellipsoid)
  • NAD83 (GRS80 Ellipsoid) – Google Earth, Google Maps (EPSG:4269)
  • NAD83 (UTM) (Universal Transverse Mercator Projektions)

NAD: North American Datum, EPSG: European Petroleum Survey Group

Rasterdaten und Vektordaten

  • GIS-Daten liegen in der Regel als Vektordaten vor, dh. als eine Sammlung von Koordinaten und Bezeichnungen
  • Diese müssen oft mit Rasterdaten (Satellitenbilder und/oder Luftaufnahmen etc.) »gemapped« werden.

(Open Source) GIS-Tools

'OpenOSX GRASS GIS' von kantel

(Open Source) GIS-Tools

Übersicht:

  • GDAL/OGR
  • OpenEV und Landserf
  • GRASS und Quantum GIS
  • OpenJUMP
  • PostGIS

GDAL

Die »Geospatial Data Abstraction Library« ist eine Open Source Bibliothek für die Behandlung und Konvertierung geographischer Rasterformate.

  • Unterstützung von über 40 unterschiedlichen Formaten
  • Schnittstellen für C(++) und Python, Wrapper für Perl, Java etc.
  • Kommandozeilen-Tools und -Utilities

OGR

Die OGR Simple Feature Library ist das Vektordaten-Pendant zu GDAL (und heute auch Teil der GDAL-Bibliothek):

  • Unterstützung für mehr als 16 verschiedene Vektorformate
  • Schnittstellen für C(++) und Bindings für Python, Wrapper für Perl, Java etc. in Vorbereitung
  • Kommandozeilen-Tools und -Utilities

OpenEV

OpenEV ist eine Software-Bibliothek, um geographische Daten zu analysieren und zu visualisieren

  • Bis auf einen Kernel in Python programmiert, kann mit Python erweitert werden; interne Scriptsprache ist ebenfalls Python [+]
  • Hervorragendes Frontend für GDAL/OGR-Daten [+]
  • Erhältlich für Windows, Linux, Solaris und SGI Irix (kein Mac OS X!) [-]
  • Weiterentwicklung zur Zeit schleppend [-]

OpenEV (Beispiel)

San Francisco zwei- und dreidimensional:

'San Francisco 2D' von kantel 'San Francisco 3D' von kantel

Landserf

Die Alternative für Mac OS X:

'Landserf' von kantel

GPS Import und SVG Output

Landserf (Übersicht)

  • Landserf (frei wie Freibier) ist ein in Java geschriebenes »vollständiges« GIS für Linux, Windows, Mac OS X und alles andere, auf dem ein Java Runtime Environment läuft.
  • Es beinhaltet einen großen Teil der Funktionen von GDAL/OGR und OpenEV, kann aber bei weitem nicht so viele unterschiedliche Formate bearbeiten.

OpenMap

OpenMap ist ein weiteres Java-basiertes Open Source GIS

'Screenshot OpenMap' von kantel

Noch nicht getestet…

GRASS? Oops!

'Grass' von kantel

Sorry, aber das konnte ich mir nicht verkneifen. ;o)

Jetzt aber: GRASS!

Quantum GIS (QGIS) mit GRASS-Toolbox:

'Quantum GIS (QGIS) mit GRASS-Toolbox' von kantel

GRASS (Übersicht 1)

  • GRASS (Geographic Resources Analysis Support System) ist eine umfangreiche Sammlung kleiner Kommandozeilen-Tools für geographische Raster- und Vektordaten
  • Gibt es für Windows, Linux, Mac OS X und diverse Unixe

GRASS (Übersicht 2)

  • Durch den modularen Aufbau (GRASS GIS ist eine unixtypische Sammlung vieler kleiner Programme) lassen sich einzelne Elemente einfach mit eigenen Applikationen unter einer Benutzeroberfläche verbinden.

GRASS Screenshot

'GRASS GIS on MacOS X' von kantel

Kommandezeile und Minimal-GUI unter MacOS X

Quantum GIS (QGIS)

GIS-Viewer für GRASS und PostGIS

'Quantum GIS Screenshot' von kantel

Quantum GIS (Übersicht)

  • Freier Geodatenviewer mit zahlreichen GIS-Funktionalitäten.
  • Er kann unter GNU/Linux, Mac OS X und Windows eingesetzt werden.
  • Schnittstelle zu GRASS GIS und PostGIS
  • (Interne) Skriptsprache: Python

OpenJUMP

OpenJUMP: Yet Another Desktop GIS

187448158_ff10cdce53.jpg

OpenJUMP (Übersicht)

  • Java-basiertes Vektor-GIS, das auch Rasterdaten lesen und als Layer darstellen kann
  • Unterstützt die OGC-Standards GML, WMS und WFS
  • Internationalisierung (z.B. Chinesische Zeichensätze?)
  • SVG-Export

PostGIS

  • PostGIS ist eine Erweiterung zur Speicherung und Verwaltung von Geodaten in der Open Source Datenbank PostgreSQL.

MySQL

  • kann mittlerweile auch mit geospatialen Daten und Funktionen umgehen, Funktionen sind aber bei weitem noch nicht so vollständig wie in PostgrSQL/PostGIS

Tools: Fazit

Um vernünftig mit Geodaten arbeiten zu können, benötigt man (meine Empfehlung):

  • GDAL/OGR (für die Konvertierung der Geodaten)
  • GRASS und Quantum-GIS (für die Kartenerstellung)
  • PostGIS (falls eine Datenbank benötigt wird)

Tools: Fazit (2)

Falls ein Server benötigt wird:

  • MapServer (falls man alle Daten auf dem eigenen Server vorrätig hat)
  • GeoServer (falls man geographische Webservices in Anspruch nimmt)

Arbeiten mit Google Earth und Google Maps

  • Anatomie eines KML-Files
  • Google Maps JavaScript API

Anatomie eines KML-Files (1)

Dieser einfache Marker soll hinzugefügt werden…

'Anatomie eines KML-Files (1)' von kantel

Anatomie eines KML-Files (2)

… das geschieht mit diesen wenigen Zeilen:

'Anatomie eines KML-Files (2)' von kantel

Googles KML...

  • ist eine proprietäre Erweiterung der GML (Geography Markup Language)
  • Es ist möglich, Punkte, Linien, Polygone und Bilder zu definieren. Zugleich lassen sich bestimmte Parameter spezifizieren, wie zum Beispiel Betrachtungswinkel und -entfernung.
  • Das Format KMZ ist eine komprimierte KML-Datei im Zip-Format. Sie kann von Google Earth direkt eingelesen werden.

Google Maps...

in die eigene Webseite einbinden:

'Google Maps in die eigene Webseite einbinden (1)' von kantel

Um das zu erreichen…

Google Maps (Header)

… bauen wir im Header der Seite folgenden Code ein:

'Google Maps in die eigene Webseite einbinden (2)' von kantel

Und den API-Key nicht vergessen zu besorgen. ;o)

Google Maps (Body)

und im Body:

'Google Maps in die eigene Webseite einbinden (3)' von kantel

Google Maps (Overlays 1)

Und nette Overlays sind natürlich ebenfalls möglich:

'Das ganze Italien im Panorama' von kantel

Google Maps (Overlays 2)

…auch kollaborativ erstellte (Screenshot Wikimapia):

'Neukölln in der Wikimapia' von kantel

Suchen und finden (1)

Spaß mit Google Earth: Neuköllner Maientage in der Hasenheide:

'Spaß mit Google Earth (1)' von kantel

Suchen und finden (2)

Singende, klingende Sonnenallee:

'Spaß mit Google Earth (2)' von kantel

Navigation mit Google

Mit dem Kajak über den Pazifik? Das machen wir doch jedes zweite Wochenende:

Screenshot Google Maps

Google Sky

Noch mehr Spaß mit Google Earth: Google Sky

'Google Sky' von kantel

Fragen?

?

Danke!


Navigation