Donnerstag, 26. Februar 2009

Erster! Wie man unkartographierte Orte findet.

Manchmal ist man das Suchen von Bugs und das Verbessern von bestehendem Kartenmaterial in openstreetmap (OSM) leid. Dann möchte man mit dem GPS Gerät los und Orte kartographieren, die es bisher nicht im Datenbestand gab, eine Ersterfassung durchführen und sich daran freuen können, wenn später der neu angelegte Ort durch andere User mit Details angereichert und stetig verbessert wird. Aber ist OSM in Deutschland eigentlich nicht ziemlich komplett? Gibt es in der Nähe von Bonn noch un- oder schlecht kartographierte Orte?

Ja, es gibt sie! Und der OSM-User Gary68 hat sich vor einer Weile daran gemacht, ein Tool zu entwickeln, mit dem solche Orte aufgespürt werden können. Unmapped Places zeigt über zwei verschiedene Icons an, ob ein Ort bei Openstreetmap wenig oder bisher gar nicht erfasst wurde. Und so sieht die Situation zur Zeit (alle hier gezeigten oder zitierten Daten wurden am 21.02.09 erhoben) zwischen Bonn und Köln aus (gelbe Symbole: wenig erfasste Orte, rote Symbole: unkartographierte Orte):



Wir sehen, dass Bonn und Köln jeweils gut erfasst worden sind. Daneben sind auch die Orte nördlich und nordwestlich von Bonn gut kartographiert worden. Das verwundert mich nicht, da neben lokal aktiven Mappern auch Bonner Mapper in den letzten Monaten in dieser Region sehr aktiv waren. Erst vor Köln tauchen die ersten Kandidaten für eine Ersterfassung auf. Benzelrath, Berrenrath, Kendenich, Fischenich, Meschenich und Immendorf - sie bilden einen Gürtel bisher wenig erfasster Orte südlich von Köln und nördlich von Brühl/Wesseling. Da gibt es Material für die eine oder andere Mapping-Party. :-)

Der Vollständigkeit halber sei auch erwähnt, dass sich auch östlich von Bonn (vor allem zwischen Oberpleis und Hennef, sowie östlich von Hennef), oder südlich von Meckenheim oder Rheinbach entsprechende Orte zum Mappen finden lassen.

Doch wie funktioniert Garys Algorithmus zur Detektion wenig/schlecht gemappter Orte? Es handelt sich im Wesentlichen um ein Schwellwertverfahren. Jeder Ort wird in Openstreetmap durch einen Node repräsentiert, der ein place Tag sowie weitere Tags mit entsprechenden Informationen über diesen Ort (Ortsname, Anzahl Einwohner, Ausdehnung,...) trägt. Bonns Place-Node (in der Abbildung unten in orange dargestellt) befindet sich, skurrilerweise, mitten im Kaufhof:



Ausgehend von diesem Place-Node definiert der Algorithmus eine Region, indem Informationen aus den Tags des Place-Nodes ausgewertet werden, oder, sofern die Tags diese Informationen nicht hergeben, indem ein Kreis mit einem vom Typ des Ortes (city, suburb, town, village) abhängigen Radius (4km, 0.5km, 1km, 0.5km) definiert wird. Diese Kreise sehen für Bonn und seine Stadtteile so aus:



Okay, bei dieser Abbildung verliert man leicht den Überblick - das liegt auch an den zusätzlich eingeblendeten statistischen Informationen. Erkennbar ist allerdings der große Kreis mit einem Radius von 4km, der große Teile von Bonn umfasst und der zur Datenauswertung herangezogen wird. (Erkennbar ist auch, dass zum Beispiel Bad Godesberg, Röttgen oder Ückesdorf nicht durch den Kreis abgedeckt wird. Ich finde allerdings, dass der Kreis für eine erste Schätzung der Ausdehnung Bonns sehr gute Dienste tut.)

Der Algorithmus zählt nun die Nodes innerhalb des so definierten Region und vergleicht die Node-Anzahl mit zwei vorgegebenen Schwellwerten. Dabei gelten Orte (city, suburb, town, village) als wenig erfasst, wenn die so ermittelte Node-Anzahl unter einem Schwellwert liegt (4800, 60, 400, 60) oder als gar nicht erfasst (2400, 30, 200, 30).

Der Algorithmus liefert auch einige andere interessante Statistiken. So besitzt Bonn in seinem 4km Radius 25683 Nodes und 1977 Wohnstraßen (residentials), die insgesamt eine Gesamtlänge von 333 km haben. Von diesen Wohnstraßen besitzen 417 keinen Namen. Daneben hat Bonn in diesem Kreis 738 Gebäude (buildings) sowie 665 Einrichtungen (amenities). Kaum glauben kann ich, dass tatsächlich nur 1 (!) Node sowie 4 Wege ein FIXME Tag tragen. Das ist erstaunlich wenig!

Es ist klar, dass es außerordentlich schwierig ist, über Schwellwertverfahren eine 100%ige Trennung zwischen "gut", "weniger gut" und "schlecht" kartographierten Orten zu erreichen. Dazu ist der Kriterienkatalog zu komplex. Und bestimmt werden sich auch Beispiele finden lassen, wo der Algorithmus versagt. Aber: Ich bin beeindruckt von den Ergebnissen, die sich mit den eingesetzten Heuristiken erzielen lassen! Und ich bin beeindruckt von dem Zeit- und Arbeitseinsatz von Gary68. Unmapped Places wird seinen Platz unter den produktiv einsetzbaren OSM-Tools finden.

Kommentare:

  1. Freut mich, dass die Bonner so aktiv im kartografieren mit OSM sind! Wenn's nur OSM schon vor 15 Jahren gegeben hätte... ;-) It's an honor to be a Bonner :-D

    AntwortenLöschen
  2. @katpatuka: Hey, freut mich das zu hören! :-) Und Grüße in die Türkei! Da gibt es wahrscheinlich auch noch viel für OSM zu tun!

    AntwortenLöschen