OpenStreetMap: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
K (Wie steht es mit der Qualitaet?)
(Sektion OSM ID hinzugefügt)
Zeile 173: Zeile 173:
 
* 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.
 
* 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
 
* 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 (osm_od) ===
 +
 +
OpenStreetMap IDs (osm_id's) are of data type bigint/int8 signed.
 +
 +
In many cases, mulitple objects from OpenStreetMap will be combined into a single object, like for road lines. In this case an ID will be selected randomly among the involved OpenStreetMap objets.
 +
 +
In addition, when converting ways to polylines or areas (like e.g. with osm2pgsql), the respective ID will get a negative sign whic makes their types bigint/int8 unsigned.
 +
 +
Note that for newly created object which have not yet been inserted into the OSM database, often locally produced negative ID numbers are chosen too.
 +
 +
The following "MB Streets v7" formula are 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[text]  ;min[int8];max[int8]
 +
  osm_nodes  ;  172206;5538175622
 +
  osm_ways  ;    78216; 577795918
 +
  osm_rels  ;      410;  8191267
 +
  osm_point  ;  172251;5538175621
 +
  osm_line  ; -8188414; 577795918
 +
  osm_polygon; -8191341; 577808739
 +
 +
This is the query used to produce the above statistics using [[PostGIS Terminal]]:
 +
<pre>
 +
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
 +
</pre>
  
 
== Software & Webservices ==
 
== Software & Webservices ==

Version vom 8. April 2018, 19:26 Uhr

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 47 N /8.82 E

Slippy Map heisst die Karte auf der Startseite von OpenStreetMap. Sie stellt die Daten von Mapnik (default) und Osmarender (siehe "+" rechts oben) dar. Mapnik ist ein in Renderer, der in C++ geschrieben ist und Osmarender ein Renderer in Python(?) mit SVG output, der mit Hilfe des 'tiles@home'-Projekts hergestellt wird, also mit freier Kapazität von privaten Rechnern.

Es gibt zurzeit drei wichtige Karten-Editoren (hier ein Vergleich): Potlatch (Webapplikation, Flash), JOSM (Desktopapplikation, Java) und Merkaartor (Desktopapplikation, C++).

Anwendungen: siehe z.B.

OpenStreetMap an der HSR

Aktive Projekte mit Daten von OpenStreetMap:

Experimentelle und externe Projekte:

Abgeschlossene (d.h. archivierte) Projekte:

Aktivitäten: FOSSGIS 2013 an der HSR, OpenPOIMap 2012, Versch. OSM-Treffen 2012, OpenStreetMap-Workshop 2011, 2. Mapping Party Rapperswil Juli 2011, 1. Micro Mapping Party Rappi 2009 mit Video auf juhui.tv.

Was ist OpenStreetMap?

OpenStreetMap ist nicht primär ein Kartenprojekt, obwohl das natürlich der zugänglichste Weg ist, die Daten zu 'sehen'. Die erfassten Geodaten liegen erst einmal konsistent geordnet in einer Datenbank. Gewisse Skripte erzeugen aus Teilen dieser Datenbank dann grafische Ausgabe in Form von Kartendarstellungen oder in Form von Navigationsanweisungen, wie z.B. hier für Fussgänger: OpenRouteService.

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]

Statistik

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?
  • "Governance" - Wer bestimmt?
  • Lizenz: Was bedeutet CC-BY-SA bzw. ODbL?

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 (osm_od)

OpenStreetMap IDs (osm_id's) are of data type bigint/int8 signed.

In many cases, mulitple objects from OpenStreetMap will be combined into a single object, like for road lines. In this case an ID will be selected randomly among the involved OpenStreetMap objets.

In addition, when converting ways to polylines or areas (like e.g. with osm2pgsql), the respective ID will get a negative sign whic makes their types bigint/int8 unsigned.

Note that for newly created object which have not yet been inserted into the OSM database, often locally produced negative ID numbers are chosen too.

The following "MB Streets v7" formula are 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[text]   ;min[int8];max[int8]
 osm_nodes  ;   172206;5538175622
 osm_ways   ;    78216; 577795918
 osm_rels   ;      410;   8191267
 osm_point  ;   172251;5538175621
 osm_line   ; -8188414; 577795918
 osm_polygon; -8191341; 577808739

This is the 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 ist neben dem Potlatch der zurzeit am häufigsten verwendete (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: