Imagico.de

blog

Die Aufteilung der Welt – Neuigkeiten von openstreetmapdata.com

| Keine Kommentare

Auf openstreetmapdata.com bieten Jochen und ich täglich aktualisierte OpenStreetMap Küstenlinien-Daten für die Verwendung in Karten und für andere Zwecke an. Diese werden unter anderem für die Karte auf openstreetmap.org verwendet um dort eine aktuelle Darstellung der Küstenlinie zu ermöglichen. Die Daten werden in einer Reihe von Varianten angeboten:

  • Land- oder Wasser-Polygone – je nach dem was man genau machen möchte, benötigt man das eine oder andere.
  • Als Polygone für die gesamten Kontinente oder aufgeteilt in kleine Stücke für eine einfache Handhabung.
  • In voller Auflösung mit allen Details in der OSM-Datenbank oder als vereinfachte und im Datenvolumen deutlich verkleinerte Version für eine effiziente Darstellung in Karten bei niedrigen Zoomstufen.
  • In Mercator-Projektion oder in geographischen Koordinaten.

Es gibt jedoch aus guten Gründen nicht alle Kombinationen dieser Varianten:

  • Die Wasser-Polygone gibt es nur aufgeteilt, denn die Produktion eines Riesen-Polygons mit je einem inneren Ring für jede Insel auf der Welt ist zwar theoretisch möglich, jedoch würde so gut wie kein Programm damit arbeiten können.
  • Die vereinfachte Version gibt es nur in Mercator-Projektion, denn sie ist ausschließlich für die Verwendung in Internet-Karten vorgesehen und nicht für andere Zwecke.

Vereinfachte Wasser-Polygone

Was wir bis jetzt auch nicht angeboten haben, sind vereinfachte Wasser-Polygone in Mercator-Projektion und dies ist einer der häufigsten Wünsche, die wir bekommen. Da Kartenstile oft mit Wasser-Polygonen arbeiten, wird so etwas oft benötigt und Viele versuchen solche mit ST_Simplify() aus den Wasser-Polygonen in voller Auflösung zu produzieren, was jedoch eine schlechte Idee ist und zu deutlich sichtbaren Fehlern in der Darstellung führt:

 

Um die Küstenlinien ordentlich zu vereinfachen, muss man dies vor der Aufteilung der Polygone tun. Wir erzeugen unsere neuen vereinfachten Wasser-Polygone deshalb, indem wir die vereinfachten Land-Polygone invertieren. Dieser Ansatz ähnelt dem, welchen wir für das Antarktis-Eis verwenden. Die Werkzeuge hierfür sind als Open Source verfügbar.

Sie können die neuen vereinfachten Wasser-Polygone jetzt auf der Seite mit den Wasser-Polygonen herunterladen. Bei der Verwendung sollte man allerdings eine Reihe von Dingen beachten:

  • Die Polygone sind mit nur minimaler Überlappung geteilt. Die geteilten Polygone in voller Auflösung überlappen deutlich stärker, um Artefakte bei der Darstellung mit AGG-Renderern wie Mapnik zu vermeiden. Dies ist hier nicht nötig, denn die Aufteilungen stimmen bei allen Zoomstufen mit den Pixel-Grenzen überein.
  • Man sollte nicht versuchen, die Daten in andere Projektionen umzurechnen, denn das wird nicht funktionieren. Wer andere Projektionen benötigt, sollte Daten in geographischen Koordinaten verwenden (siehe unten).
  • Die Geometrie entspricht der der vereinfachten Land-Polygone und ist ebenso für eine Verwendung bei z=0-9 vorgesehen.

Bei Verwendung der vereinfachten Daten sollte man generell im Kopf behalten, dass diese nur zur schnelleren Verarbeitung bei der Darstellung bei den niedrigen Zoomstufen diesen sollen. Dies sollte im Einfluss auf das Darstellungs-Ergebnis minimal sein. Wer eine generalisierte Darstellung der Küstenlinien-Daten für eine besser lesbare Darstellung oder mehr Freiheiten in der Gestaltung wünscht, sollte einen Blick auf die von uns auch angebotenen generalisierten Küstenliniendaten werfen.

Aufgeteilte Polygone für die Reprojektion

Ein anderes Problem mit unseren Dateien betraf die Daten in geographischen Koordinaten. Diese sind hauptsächlich für die Reprojektion in andere Koordinatensysteme vorgesehen, um Karten in beliebigen Projektionen zu erstellen. Dies ist jedoch im Allgemeinen derzeit nur mit den ungeteilten Polygonen möglich, denn die Aufteilung wird in einer Form gemacht, welche im Allgemeinen nicht reprojizierbar ist, ohne dass Lücken in der Darstellung entstehen.

Um dies zu vermeiden und um aufgeteilte und zur Reprojektion geeignete Polygone anzubieten erzeugen wir jetzt auch eine alternative Aufteilung. Diese findet sich temporär auf

http://data.openstreetmapdata.com/land-polygons-split-regular-4326.zip
http://data.openstreetmapdata.com/water-polygons-split-regular-4326.zip

Wir beabsichtigen, die derzeitigen geteilten Polygone in geographischen Koordinaten durch diese neuen Daten zu ersetzen – falls es also Verwendungen der alten Dateien gibt, welche nicht ohne weiteres auf die neue Bearbeitung umsteigen können, wäre ein Hinweis nützlich.

Dies neuen Dateien sind in einem 1×1-Grad-Gitter geteilt und sind außer an den Polen und dem 180-Grad-Meridian mit einiger Überlappung produziert. Falls Ihre Verwendung der Daten von dieser Überlappung abhängt, müssen Sie auf diesen Rand speziell achten – wie im folgenden Beispiel, wo um den Südpol die Aufteilungen nach der Reprojektion aufgelöst wurden.

Gültigkeit der Küstenlinie

Außer diesen neuen Daten sind wir jetzt auch auf ein neues System zur Überprüfung umgestiegen, um größere Fehler in den Daten zu erkennen, bevor wir eine neue Version der Dateien herausbringen. Zur Erinnerung: die OpenStreetMap-Küstenlinie ist recht empfindlich und obwohl OSMCoastline eine Reihe einfacher Fehler automatisch beheben kann, gibt es auch Situationen, in denen dies fehlschlägt und wir veröffentlichen dann keine neuen Daten, damit bei der Verwendung unserer Daten keine größeren Fehler auftauchen. Falls also ein größerer, nicht automatisch behebbarer Fehler in den OSM-Daten existiert, werden die Dateien bei uns nicht aktualisiert und die Daten bleiben auf dem alten Stand.

Die Überprüfung auf größere Fehler geschieht dadurch, dass wir die Daten rastern und die neue Land-Wasser-Maske mit dem alten Stand vergleichen. Der neue Vergleich geschieht mit Hilfe von gdal_maskcompare, was systematischer und im Ergebnis verlässlicher ist als der vorherige Ansatz und alle Teile der Erde gleich behandelt. Wir hoffen, dass dies zu selteneren Blockaden des Prozesses durch inkorrekt als Fehler eingestufte Änderungen führt und gleichzeitig die Erkennung echter Fehler wie fehlender Inseln verbessert. Natürlich ist all dies keine Alternative zu gewissenhafter und vorsichtiger Arbeit bei der Bearbeitung der Daten. In letzter Zeit gab es eine Menge Änderungen an der Auszeichnung größerer Seen als Künstenlinie wodurch die Dateien über einen Monat nicht aktualisiert wurden – so etwas wird immer zu Problemen führen.

Und zuletzt mal wieder der Hinweis: Falls die Daten für Sie von Nutzen sind oder Sie sich einfach über die aktuellen Küstenlinien auf openstreetmap.org freuen – Bitte leisten Sie einen Beitrag zu den Kosten von openstreetmapdata.com oder unterstützen Sie uns auf andere Art – Der Spenden-Knopf dort ist nicht nur zur Dekoration da.

Hinterlassen Sie eine Antwort

Pflichtfelder sind mit * markiert.



Durch das Abschicken Ihres Kommentars stimmen Sie der Datenschutzrichtlinie zu und erlauben, dass die eingegebenen Informationen (mit Ausnahme der eMail-Adresse) in diesem Blog veröffentlicht werden.