OpenStreetMap

Ich mappe gerade in einer eher außergewöhnlichen Gegend. In Spitzbergen. Das ist diese Insel und Inselgruppe da im Norden von Norwegen. Ja dort ganz im Norden. Und nein ich befinde mich da jetzt nicht. Das wäre wohl zu der Jahreszeit wirklich sehr kalt.

Karte Spitzbergen

Wie komme ich dazu?

Ich spiele in letzter zeit ein wenig mit Satellitenbilder herum und in den TrueMarble Bildern fehlt Spitzbergen vollkommen. Ich versuchte also Landsatbilder in diese Daten einzuarbeiten. Dabei fiel mir irgendwann auf, dass die Umrisse der Inseln von Spitzbergen in Openstreetmap nur sehr grob eingezeichnet sind. Noch gröber als Landsat-Bilder, die ja nur eine 30m Auflösung haben. Das ließ mich nicht los, da die Landsatbilder ja PublicDomain, und damit auch für OSM nutzbar sind, lag es doch nahe da etwas zu tun.

Die richtigen Bilder

Das erste Problem ist die richtigen Bilder zu finden. Die Landsat Satelliten machen die ganze Zeit Fotos von der Erde. Klingt erst mal gut. Das führt aber dazu, dass es sehr viele Bilder gibt. Das Problem dabei: Die sind nicht alle so schön klar wie wir das von den Bing-Bildern kennen, denn es gibt das sowas, was sich Wolken nennt und blöderweise ziemlich oft zwischen Satellit und Erde schwebt. Glücklicherweise bietet der Earth-Explorer der USGS eine Funktion die Bilder nach Wolkenbedeckung zu filtern. Ein weiteres Problem ist, dass Spitzbergen ziemlich nördlich ist, und es deswegen die hälfte des Jahres dort dunkel ist.

Das nächste Problem hat damit zu tun, dass es dort sehr kalt ist. Das wiederum heißt, dass zwischen den nördlichen Inseln ein Großteil des Jahres das Meer zugefroren ist, und somit die Uferlinien nicht zu erkennen sind.

Tatsächlich gibt es nur eine Handvoll gute Landsat7 Bilder von Spitzbergen, die allerdings auch sehr verschneit sind. (Nur die Landsat7 Bilder zwischen 1999 und 2003 sind wirklich benutzbar, weil seit 2003 die Bilder wegen einem Defekt am Satelliten große Störungen aufweisen). Glücklicherweise umkreist uns seit diesem Jahr Landsat 8 und versorgt uns seit März mit Bildern. Und hier habe ich tatsächlich 2 Serien von Bildern gefunden die recht vielversprechend sind. Besonders die Bilder vom September sind gut, da hier sehr viele Inseln komplett Schneefrei sind.

Landsatbeispiel - Bilder vom April

Und jetzt in JOSM damit. denkste.

Die Landsatbilder sind Georeferenziert und kommen als JPG mit einem zusätzlichen File, welches die Geo-Informationen enthält oder als GeoTiff. (Einem Bildformat, welches die Geoinformationen direkt enthält.)

Jetzt sollte es ja einfach möglich sein ein GeoTiff in JOSM als Hintergrund-Layer zu benutzen. Denkste! Ja OK dieses GeoTiff ist ja auch ein ziemlich spezielles Format was nur im GIS-Umfeld benutzt wird… OH MOMENT. Ja es gibt irgendwelche Plugins die sowas können sollen – die haben aber alle bei mir nicht funktioniert.

Ich habe mir dann GDAL genommen und gdal2tiles.py angeworfen und die Tiles auf einen lokalen Server geworfen und sie dann als TMS-Layer eingebunden. Wobei das auch nicht auf Anhieb klappte, weil es verschiedene Vorstellungen gibt wie so ein TMS aussieht – die einen fangen beim Südpol an zu zählen, die Anderen beim Nordpol. {-y} ist übrigens die Lösung.

Na dann mal abmalen

So endlich kanns losgehen. Also so fast, denn ein paar kleinere Probleme gibt es noch: Auch wenn es auf der ganzen Inselgruppe nicht so sehr viel Daten gibt, begrenz die API die Fläche die man herunterladen kann. Das heißt man muss sich immer kleiner Stückchen herunterladen, an denen man gerade arbeiten will. ist aber (bis jetzt) nicht wirklich störend.

Außerdem sind die Landsatbilder sehr dunkel, weswegen ich das Bild noch mal in Photoshop geworfen habe, um es ein wenig aufzuhellen. Dummerweise ist Photoshop – ja dieses unglaublich teure Profitool – zu dämlich beim speichern eines Tiffs die Geodaten aus dem Inputfile wieder mit abzuspeichern. Aber auch dafür gibt es ein kleines GDAL skript welches die Information von einem in ein anderes Bild übertragen kann.

Die Daten

So kommen wir nun zum eigentlichen abzeichnen. Die Küstenlinien der Inseln sind Daten die 2008 mal importiert wurden - mit source=gadm_v0dot9. Ich hab es nur kurz überflogen, aber es kann sein, dass es mit diesen Daten sogar Lizenzkonflikte gibt, bin mir da jetzt aber nicht sicher. Wie schon angesprochen sind die Daten nicht sehr genau, was wohl mehrere Gründe hat:

Da oben ist niemand. Sicher aus gutem Grund. Außerdem liegen die Inseln doch sehr weit auseinander. Außerdem sind selbst die kleinen Inseln ziemlich groß. Deutlich größer als sie erscheinen mögen, da ist man nicht mal schnell mit nem GPS-Gerät einmal um die Insel gelaufen. Das größte Problem dürfte auch sein, dass nicht immer klar ist, wo denn eigentlich die Grenze der Inseln ist. An einigen stellen gibt es hier ähnliche Probleme wie auf Antarktika: Teile der Inseln sind einfach ganzjährig mit Eis Bedeckt, und dieses Eis ragt auf das Meer hinaus, so dass die Uferlinie nicht sichtbar ist. Teilweise sind OSM-Uferlinien Kilometer von der (in dieser Aufnahme) sichtbaren Linie entfernt.

Abweichende Ufer und Küstenlinie

Ein Problem mit den Bildern ist, dass die Sonne sehr tief steht, und es lange Schatten gibt, wodurch aus den Bildern die nördlichen und östlichen Ufer nicht immer klar hervorgehen. Das war auch ein Grund warum ich die Bilder noch einmal aufhellen musste

Auf den Bilder sind oft Seen zu sehen, von denen ich denke, dass es das Tauwasser von dem ganze Eis ist. - Da habe ich aber auch keine Ahnung ob und wie man das Tagt.

Tauwasser?

Uferlinien

Es war das erste mal, dass ich mit Coastlines gearbeitet habe. Diese haben die Eigenheit, dass man sie richtig herum malen muss. Also Inseln müssen immer gegen den Urzeigersinn gemalt werden. Das ist im Wiki auch noch einmal erklärt.

Und weiter?

Ich habe jetzt ein paar dutzend kleine Inseln im Norden bearbeitet. Ich habe das source Tag mit source=landsat8 ersetzt und noch source:date=19-SEP-13 dran gehangen, damit klar wird aus welchem Landsat-Bild abgemalt wurde.

Wenn es Interesse gibt, hier weiter an den Uferlinien zu arbeiten (oder auch andere Dinge die man auf Landsatbildern erkennt), dann würde ich mir auch die Mühe machen mehrere Landsatbilder zusammen zu setzen und als Tileserver anzubieten. Über Feedback würde ich mich auf jeden fall freuen.

PS: Es ist jetzt ganz schön spät geworden. Ich bitte selbst grobe Rechtschreibfehler und Satzverschachtelungsfehler zu entschuldingen

Location: Spitzbergen, 9170, Norwegen

Discussion

Comment from escada on 16 November 2013 at 06:44

Interesting project, thanks for sharing

Comment from nebulon42 on 16 November 2013 at 08:55

Wegen “API begrenzt Bereich”: Es gibt ein JOSM-Plugin mirrored_download, mit dem man große Datenmengen von Read-only-APIs herunterladen kann. Ist sehr praktisch, aber kann gut sein dass sehr große Bereiche damit auch nicht funktionieren.

Comment from malenki on 18 November 2013 at 20:27

@ nebulon42: Für sehr große Bereiche brauchst du nur sehr viel Geduld und einen sehr leistungsfähigen Rechner. (Java ist aber eh ned performant).

@ ubahnverleih: Interessanter Aufschrieb. Bei Mapbox findet man auch ein paar Informationen, wie die mit Großmengen von Sat-Bildern hantieren.

Im Juni hatte ich kein Problem, ein Geotiff in JOSM zu laden…

Wäre es zum Abmalen langer Küstenlinien nicht (zumindest teilweise) sinnvoll, ein Tool ähnlich dem nicht mehr funktionierenden LakeWalker oder dem nur teilweise funktionierenden ScanAerial zu verwenden, anstatt die ganzen Küstenlinien von Hand abzumalen?

Irgendwo in den OSM-Blogs schrieb jemand, dass er gerade eine solche Software entwickelt.

Wenn uns (wieder) ein funktionierender Auto-Tracer zur Verfügung stünde, könnte man auch an die Aktualisierung größerer Gewässer denken. Den Lake Nasser zum Beispiel habe ich vor einigen Jahren mit LakeWalker (der auf Landsat basierte) gemappt. Es war schon mit diesem Tool eine aufwendige Arbeit - von Hand würde man ewig daran sitzen. Wenn man den Stausee mit den Bing-Bildern vergleicht, ist er aber nur sehr grob eingezeichnet…

Links- https://wiki.openstreetmap.org/wiki/Vectorisation_software#Software
https://help.openstreetmap.org/questions/25735/is-there-a-possibility-to-automatically-make-a-map-from-the-shape-of-lakes-and-ground-of-the-bing-map
http://www.openstreetmap.org/user/bdiscoe/diary

Comment from MKnight on 24 November 2013 at 22:25

ybelst viel Arbeit, Respekt!

Comment from ColinMarquardt on 25 November 2013 at 15:15

JOSM kann doch entlang eines Ways runterladen - dafuer muesste die existierende Kuestenlinie ausreichen, oder?

Comment from imagico on 30 November 2013 at 13:49

Der Kommentar kommt etwas verspätet - ich hab diesen Beitrag erst jetzt gesehen.

Schön zu sehen, dass sich beim Mapping der Polarregionen was tut - trotz der diversen Probleme, die dabei auftreten - Du hast ja ein paar schon genannt.

Ein paar Ratschläge und Hinweise, die vielleicht von Nutzen sein können:

  • Meiner Erfahrung nach ist es an schwierigen Stellen recht nützlich, mehrere Bilder beim Mapping zur Verfügung zu haben. Beispielsweise vom Frühsommer (mit Meereis und Schnee aber ohne lange Schatten) und vom Spätsommer (wenig Eis und Schnee aber dafür ungünstigere Beleuchtung). Mehrere Bilder helfen auch, die in diesen Regionen oft erheblichen Lageabweichungen der Bilder einzuschätzen (laut USGS-specs sind das für L1G-Szenen 250m RMS)
  • Wenn man wg. Schatten und ähnlichem an den Farben drehen muss empfiehlt es sich natürlich, die Originaldaten und nicht nur die JPEGs herunterzuladen, was aber den Aufwand des Ganzen natürlich erheblich in die Höhe treibt.
  • Die Seen kann und sollte man als natural=water & water=lake taggen, die sind im Allgemeinen dauerhaft - im Winter halt zugefroren.
  • Auch die Gletscher kann man auf Basis von (aktuellen) Landsat-Bildern durchaus erfassen, dafür sind allerdings Bilder vom optimalen Zeitpunkt und etwas Augenmerk bei der Unterscheidung zwischen Gletschern und (ggf. mehrjährigem) Schnee nötig. Gerade hierbei ist es wichtig sich auf Basis mehrerer Bilder aus verschiedenen Jahren ein gutes Bild von der Gegend zu machen.
  • Von Interesse sein könnte auch http://wiki.openstreetmap.org/wiki/User:Imagico/Coastline_Mapping_from_Landsat_Scenes

Log in to leave a comment