OpenStreetMap

Aus GISpunkt HSR
Wechseln zu: Navigation, Suche
OpenStreetMap-Logo
OpenStreetMap von Rapperswil (SG) (Osmarender, Stand 27.01.08)

OpenStreetMap (abgekürzt OSM) ist ein Open-Source-Projekt mit dem Ziel, ein für jeden frei - entsprechend der Creative Commons-ShareAlike-Lizenz - verfügbares weltweites Geodaten-Material, z.B. Karten oder Routing-Dienste, in elektronischer Form zu schaffen.

Weitere Wiki-Seiten hier zu OSM:

Externe Links zu OpenStreetMap: OpenStreetMap-Startseite, OpenStreetMap Schweiz/OpenStreetMap Switzerland, Talk-CH Mailingliste sowie OSM Forum Schweiz

Einführung

Die beste Art, sich ein Urteil über OSM zu bilden, ist sicherlich selber Hand anzulegen. Das HowTo OpenStreetMap bietet eine erste Anleitung dazu.

Hier ein Ausschnitt von OpenStreetMap rund um Rapperswil, von dem auch das Bild oben rechts stammt: OpenStreetMap mit 47N/8.82E.

Hier ein Eindruck, wie live/near-realtime(!) und rund um die Uhr OpenStreetMap von Freiwilligen ergänzt wird: "Show-me-the-Way" (Schweiz)".

Anwendungen: siehe z.B.

OpenStreetMap an der HSR

Siehe OpenStreetMap an der HSR.

OpenStreetMap im Vergleich

Alleinstellungsmerkmale ("Unique Selling Points") von OpenStreetMap:

  • viele POIs (z.B. Brätlistellen, Sitzbänke)
  • hohe Aktualität der Daten (Tage/Minuten/Stunden, statt Wochen/Monate)
  • Zugänglichkeit der Daten (offen und kostenlos)
  • Kontrollierbarkeit der Daten (jeder kann editieren)
  • grosse bestehende Community mit "kritischer Masse" (ca. 60 Mapper erfassen ca. 6000 Punkte in der Schweiz pro Tag)

Opportunities von OpenStreetMap:

  • Personalisierbarkeit - individuelle Karten und Infos
  • Grenzüberschreitend - macht nicht halt an Regionsgrenzen
  • Alternative zu Google, Facebook & Co. - Monopole sind nicht nachhaltig
  • "Sharing economy" - Synergien nutzend

OpenStreetMap im Vergleich amtlichen Daten:

  • ist grenzüberschreitend (geht nahtlos über Kantons- und Landesgrenzen hinweg)
  • ist routingfähig
  • ist teilweise aktueller
  • hat teilweise mehr POIs
  • ist teilweise detaillierter

OpenStreetMap im Vergleich mit Google Maps (GMaps):

  • ist auch als Rohdaten zugänglich, auch lokal/offline - GMaps gibt die Daten nicht frei
  • kann kostenlos genutzt werden im Rahmen der freien Lizenz - GMaps beansprucht die Urheberschaft für sich und hat ein kostenpflichtiges API-Geschäftsmodell
  • OpenStreetMap-Daten enthalten keine Werbung und sind grundsätzlich "Privacy Preserving" - Google's Geschäftsmodell ist Webung und trackt User

Success Stories von OpenStreetMap:

  • BKG - die "Swisstopo Deutschlands" - nutzt OpenStreetMap in ihrem TopPlus-Produkt
  • Outdooractive hat auf OpenStreetMap umgestellt
  • OpenStreetMap wird weiter u.a. genutzt von folgenden Schweizer Top-level Websites: Websites SBB, ZVV, search.ch

FAQ

Was ist der Nutzen?

Öffentliche Hand
Behörden beschaffen sich und besitzen grundsätzlich seit je ihre eigenen Daten (Karten), allen voran die topografischen Ämter und die Vermessungsstellen. Vom Wesen her sind diese Daten jedoch 1. tendenziell nicht so aktuell wie OSM-Daten (durchschnittlich ca. ein bis sechs Jahre älter). Beispiele dafür sind Wanderwege oder Neubauten. Zudem gibt es 2. bestimmte Daten (v.a. Point-of-Interests POI), die nicht systematisch oder nicht zentral erhoben werden. Dazu gehören beispielsweise Aussichtspunkte oder Rollstuhlparkplätze. Sie dazu aktuell den Vortrag "OpenStreetMap für Behörden..." an der FOSSGIS2011.
Firmen
Immer mehr Firmen und App-Entwickler verwenden OSM als Hintergrundkarte (vgl. switch2osm). Zudem werden POIs (z.B. OpenEcoMap), Gebäudeadressen und Routingdienste immer mehr eingesetzt.
Freizeit
Daten für OpenStreetMap zu erfassen ist für viele Leute eine sinnvolle Freizeitbeschäftigung. Sie profitieren auch davon, dass diese dann u.a. in kommerziellen Naviationssystemen integriert sind (z.B. in Garmin-Geräten).

Wie steht es mit der Qualitaet?

Im Infoblatt 1/2007 der SOGI (.pdf) gibt es einen Bericht dazu. Hier ein Evaluations-Versuch in einer englischen Kleinstadt, in dem hervorgeht, dass Google Maps (d.h. Teleatlas) Daten schlechter abschneiden als ein lokales Projekt. Der Vergleich ist mit Vorsicht zu werten, setzt jedoch ein wichtiges Zeichen für den Wert solcher Projekte.

Hier einige bekannte Tools:

Weitere Hinweise zur Qualität von Crowd-Sourced Geodaten allgemein und OpenStreetMap im Speziellen findet man im Artikel 'Geodaten-Qualitaet'.

Artikel:

  • Managing Data Quality in OpenStreetMap by Steven Johnson, NC GIS Conference 2013.
  • Qualitätssicherung in OpenStreetMap: Links und Werkzeuge, die zur Verbesserung, Sicherung und Kontrolle der Qualität der OpenStreetMap-Daten beitragen [3].
  • Liste von P. Neis: [4] [5]

Gibt es Statistiken?

Statistische Daten bilden die Grundlage zur Beurteilung (u.a. zur Qualität, siehe oben) und zum Verwalten (Monitoring) eines jeden Projekts. Hier einige Weblinks dazu:

Nachteile / Kritik

Die Kritik kann wie folgt zusammengefasst werden:

  • Vollständigkeit?
  • Daten-Qualität?
  • Speziell: Vandalismus?
  • "Governance" - Wer bestimmt?
  • Kein homogener SW-Stack. Es braucht Know-how, um die Daten aufzubereiten

Zitat [7]: Probably the best choice politically (compared to Google and Bing Maps), if only for the term ‘open’. Coverage looks very good and is nearing completion in many parts of Europe. But it will never be as consistent as that of other suppliers, and once coverage is complete there’s still the issue of updates (once the blank spaces are mapped, will people be motivated enough to remap them?). Also, with OSM being an open community, there is some uncertainty around governance and future direction – it’s all very organic and could go off in multiple directions. Then there’s an unresolved issue around the Creative Commons licence which restricts re-use for commercial purposes (unless you’re in the business of giving away your intellectual property). There has been talk of a new OpenDB licence but to be honest I’m not sure how advanced this is and whether it will resolve this particular issue.

Abgrenzung

Die OSM-Gemeinschaft freut sich über jeden, der OSM nutzt! Es gibt aber auch Dinge, die NICHT in OSM gehören.

Hier einige Ausschlusskriterien:

  • Keine Duplikate von extern gehaltenen Datenbeständen
  • Keine Bilder.
  • OSM ist kein Projekt "für die Karte" - es ist primär eine Datenbank. Es wird nicht für den "Renderer" erfasst (Trennung von Daten und Darstellung).
  • OSM ist keine Datenbank für "alles". Kritisch sind z.B. Imports, v.a. weil damit nicht sichergestellt ist, dass die Daten kontrolliert sind (vgl. die Import-Seite im OSM Wiki).

Falls Interesse besteht, OSM mit anderen Datenbanken zu verknüpfen, siehe OpenStreetMap und externe Datenbanken (Fachinformationssysteme).

FAQ

Die am häufigsten gestellten Fragen sind u.a....

Welche Hardware ist nötig, , um OSM-Daten selber zu erfassen?
Mehr dazu siehe HowTo OpenStreetMap.
Gibt es einen typischen Arbeitsprozess (Workflow), um OSM-Daten zu erfassen?
Mehr dazu siehe ...
Wie gut ist die Qualität der von Laien erstellten Geodaten?
Siehe OpenStreetMap#Qualitaet.
Wie viele registrierte Benutzer gibt es ungefähr?
Gemäss Usernamen in den Daten, die einen Node oder einen Way editiert haben, gibt es weltweit ca. 32'500, mit Endung .de ca. 2'800 und EU-weit ca. 6'700 User. Auf der "Talk-de"-Mailingliste gibt es ca. 330 Users, davon ca. 20 Schweizer (.ch und .com-Adressen). Ca. 10% der weltweiten User sind im letzten Monat aktiv gewesen.
Gibt es eine Statistik zur OpenStreetMap-Datenbank (z.B. Erfassungsaktivitäten)?
Ja, siehe http://wiki.openstreetmap.org/index.php/Stats
Warum dauert es teilweise bis 7, 8 Tage, bis eigene Daten, die man hoch geladen hat, in der Open Street Map-Karte dargestellt werden?
Es gibt folgende Renderer: Mapnik, Osmarender plus Kosmos. Alle arbeiten grundverschieden. 1. Mapnik - der Standard-Renderer - basiert auf einer Datenbank, deren Füllung eine Woche dauert. Die Daten werden dabei ich Echtzeit gerendert. 2. In Osmarender, dessen Output man über die rechte Schaltfläche erreichen kann, geht es i.d.R. wenige Stunden. Dahinter steckt das Projekt Tiles@Home, bei dem viele Rechner von Privatleuten zusammengeschaltet sind. Diese rendern ihnen zugewiesene Tiles und laden diese anschließend wieder auf den Server. Jedoch müssen die Änderungen zunächst in eine Warteliste eingetragen werden. Dies geschieht normalerweise über einen Bot, der geänderte Tiles automatisch einträgt. Diese Tiles landen dort allerdings mit Proritätsstufe 2. Je nach Aktivität gibt es Verzögerungen, so dass die Aktualisierung durchaus zwei oder drei Tage in Anspruch nehmen kann. Um das zu beschleunigen, gehst man auf http://www.informationfreeway.org und zoomt an die betroffene Stelle in Zoomlevel 12. Daraufhin klickt man auf Permanentlink und fügt oben am Ende der URL noch &user=*Dein Name* (ohne Sternchen) an. Nun folgt der Maus ein rotes Quadrat. Dieses verschiebt man an die gewünschte Stelle, hält die Ctrl-Taste gedrückt und klickt drauf. Nun erscheint noch ein Dialog: Klicke auf OK und dann möglichst zügig unten auf Render requests. In dieser Tabelle sucht man nun mit Ctrl+f nach seinem Namen und klickt daneben auf die beiden Koordinaten. Dort kann man auch den Status abfragen.

Darstellungsmodell

OpenStreetMap kennt verschiedene Renderer, allen voran Mapnik. Dazu kommen u.a. Osmarender und Kosmos. Alle verwenden je ein einziges Darstellungsmodell für die ganze Welt (inkl. Schrift). Bei Google Maps ist das länderspezifisch.

(Geo-)Datenmodell

OSM grenzt sich - wohl unfreiwillig aber selbstbewusst - ab von herkömmlichen GIS-Normen, indem eine topologische Knoten-Kanten-Struktur verwendet wird und alle Attribute als Key-Value-Paare ablegt. Nachfolgend eine detailliertere Beschreibung (aus [8]):

Konzeptionelles Schema

OSM-Schema als einfaches UML-Diagramm

Das OSM-Datenmodell in Kürze:

  • Nodes, Ways und Relations
  • Node enthält Koordinaten
  • Way enthält Liste von Nodes
  • Flächen = kein eigenständiger „Typ“: 1. Ways mit Tags oder 2. Ways und Relations, die innere Ränder haben können (Achtung Multipolygon: Andere Def. als bei GIS!)
  • Nodes, Ways und Relations…
    • können 0,1 oder mehrere Tags haben
    • enthalten die gemeinsamen Attribute: osm_id, user_id, user_name, last_modified, version, (changeset)
  • Tag = Key/Value-Paar (EAV-Modell)
  • Das „OSM-Schema“ im OSM-Sprachgebrauch => Kombination von Tags. Siehe OSM Wiki, taginfo oder OpenPOIMap.ch

Weiterführende Wiki-Seiten: Data Primitives. Eine Ausführliche Definition einer Fläche kann im OSM Wiki nachgeschlagen werden: http://wiki.openstreetmap.org/wiki/Talk:Relation:multipolygon#Advanced_multipolygons

Ein paar Beispiele einer Area wären, wenn in der Tag-Liste folgendes steht:

  • Parkplatz. Dieser würde mit amenity=parking getaggt werden.
  • Freizeitpark: Dieser würde mit leisure=park getaggt werden.
  • Wasser: natural=water
  • Wald: landuse=forest (oder natural=wood)
  • Tags: oder auch Attribute genannt, werden dazu verwendet, um in OSM weitere Informationen mit einen Node, Segment oder Way zu verknüpfen. Tags können von Benutzern frei gewählt werden, hier Map Features (deutsch) und hier die aktuelleren Map Features als Original.
  • Siehe dazu auch HowTo_OpenStreetMap#OSM-Flächen (Polygone).

Mehr Informationen zum Dateiformat und zu Konvertierungen siehe bei Software unten und OSM.

Physisches Schema

PostgreSQL-Schema von Brett Henderson: http://gweb.bretth.com/apidb06-pgsql-latest.sql

OSM-Schema als ER-Diagramm (Grafik: Andreas Hahn)

Flächen (Polygone)

Es gibt in OSM leider noch keinen Geometrie-Datentyp "Fläche" vergleichbar mit OGC's Simple Feature-Standard (Polygon) oder Interlis' SURFACE/AREA. Es gibt jedoch einige "Abmachungen":

  • Eine einfache Fläche wird durch einen "Closed Way" 'gemapped' (= Polygon).
  • Eine Fläche mit innerem Rand wird über eine zusätzliche Relation 'gemapped'. Flächen mit inneren Rändern werden zurzeit 'Multipolygon' genannt. HINWEIS: Multipolygon im aktuellen Sinne von OSM ist nicht zu verwechseln mit OGC's Definition von Multipolygon, welche mehrere "echte" Polygone mit allenfalls mehreren inneren Ränder zulässt.
  • Bei Multipolygon-Relations müssen *alle* beteiligten Flächen die selben Tags haben. D.h. man muss den inneren Bereich, einmal als inneren Rand der äußeren Fläche und einmal die innere Fläche separat mappen.
  • ACHTUNG: Die Definitionen von 'Fläche'/'Polygon' und 'Multipolygon' sowie das Taggen mit Relations ist noch im Fluss! vgl. http://trac.openstreetmap.org/ticket/969

ID's (osm_id)

This section is a informal discussion of OSM IDs.

OpenStreetMap IDs (OSM ID, osm-id) are set by the official OSM database after an edit. Each OSM element (node, way, and relation) has an own ID domain range and started initially at OSM ID 1. OSM ID's are of data type "unsigned integer" 64 bit (bigint, int8).

 NOTE: OSM IDs are declared as not being stable. 
 Yet, many software rely on them (probably because of lack of alternatives).
 A prominent solution is the OSM Permanent ID.

In many cases, mulitple objects from OpenStreetMap are aggregated by the (post-)processing software into a single object, like for road lines. In this case an ID will be selected randomly among the involved OpenStreetMap objects.

Converting ways to polylines or to polygons (like e.g. with osm2pgsql) are a special case of aggregation. Then, often the (post-)processing softwares signs the (way) ID to a negative one (which makes their types bigint/int8 signed).

Note that for newly created objects which have not yet received an OSM ID by the OSM database, locally produced negative ID numbers are used too, especially in an OSM changeset.

Another solution for assigning OSM IDs to newly (ad-hoc) created objects (e.g. per data process) could be to take e.g. the number 10 billions (10,000,000,000) as seed and to decrement it.

The following "Mapbox Streets OSM ID" formula is a solution to transform OpenStreetMap IDs to make them unique across node, way, and relation object, based on their object type (source: https://www.mapbox.com/vector-tiles/mapbox-streets-v7/ ):

 * node     (id × 10)     (eg. 123 => 1230)  
 * way      (id × 10) + 1 (eg. 123 => 1231)
 * relation (id × 10) + 4 (eg. 123 => 1234)

These are the osm_id min/max-ranges from Switzerland (208-04-08) which (no "MB Streets v7" formula applied there):

 id-element ; min[int8];  max[int8]
 node       ;    172206; 5538175622
 way        ;     78216;  577795918
 relations  ;       410;    8191267
 osm_point  ;    172251; 5538175621
 osm_line   ;  -8188414;  577795918
 osm_polygon;  -8191341;  577808739

This is the SQL query used to produce the above statistics using PostGIS Terminal:

select 'osm_nodes  ' as id, min(id) as min, max(id) as max
from osm_nodes
union
select 'osm_ways   ', min(id), max(id)
from osm_ways
union
select 'osm_rels   ', min(id), max(id)
from osm_rels
union
select 'osm_point  ', min(osm_id), max(osm_id)
from osm_point
union
select 'osm_line   ', min(osm_id), max(osm_id)
from osm_line
union
select 'osm_polygon', min(osm_id), max(osm_id)
from osm_polygon

Software & Webservices

Die OSM-Architektur (Deployment, logisch-physische Sicht)

Editier-Software:

  • iD ist webbasiert und der Standard (z.B. 'Edit'-Tab bei OpenStreetMap.org).
  • JOSM (Desktop) OSM-Daten-Editor.

Siehe auch HowTo OpenStreetMap.

Android-Software: siehe OpenStreetMap-Wiki.

Webservices:

Tipps & Tricks

Hinweise:

  • Die durchschnittliche Arbeitsleistung zum Erfassen von OSM-Daten eines 'OpenStreetMappers' ist 1km² pro Tag/Abend. Das ergibt 5.666 km² pro Woche.
  • Die GPS-Daten werden typischerweise nur als Hintergrundbild verwendet, d.h. es wird 'darübergezeichnet'.
  • Nur Nodes, Ways und Closed Ways taggen, keine Segments.
  • Die Betrachter-Ebene wird gecached: Die Kacheln, werden zur Zeit alle 48 Stunden flächendeckend erneuert. In der Zwischzeit hilft es, in verschiedenen Zoom Ebenen im Firefox Browser, mit einem Klick der rechten Maustaste auf eine veraltete Kachel zu klicken, dann "Grafik anzeigen" und "Neu laden" wählen.
  • Nutze die Daten (gemäss Open Commons-Lizenz), in Dokumenten (konvertiere z.B. SVG zu PNG), in E-Mails (über 'Permalink') und Webmapping-Applikationen (z.B. OpenLayers) oder in Navigationsgeräten (...).

HOWTOs und FAQs:

Verschiedenes:

Beispiele / Galerie

Die Beispiele hier wurden mit Hilfe des Geometa Directory's ermittelt, welches die Geo-Bookmarks-Eigenschaften von OSM und den geonames.org-Dienst ausnützt. Hier ein eigener Aufruf mit 'Wien' als Anfrage: http://88.198.44.148/directory/search.php/all/osm?place=Wien

Weblinks

Literatur/Vorträge: