User:EvanE/Workshop Relationen
Jump to navigation
Jump to search
Diese Seite dient als Unterlage/Zusammenfassung für die Relationen-Workshops am 1.11.2010 in Königswinter, am 12.11.2010 in Bonn und am 18.11.2010 in Troisdorf. Für Details siehe Bonn/Veranstaltungen.
Der Workshop richtet sich an Mapper mit Erfahrungen in OSM und dem Editor JOSM, die einen Einstieg in das komplexe Thema Relationen suchen.
- Von daher sind die Teile zu "OpenStreetMap allgemein" und "JOSM allgemein" bewusst knapp gehalten.
- Die Teile zu den Relationen und ihrer Bearbeitung in JOSM sind als ausformulierte Stichwortliste zu sehen und nicht als ausführliche Anleitung. Sie dienen vor allem dazu, dem Workshop eine Struktur zu geben, an dem Vortrag und praktische Übungen ausgerichtet werden.
- Natürlich kann dieser Text auch zur Information vor Teilnahme an einem der Workshops verwendet werden.
- Dieser Text zielt nicht darauf ab, eine Anleitungzum eigenständigen Lernen zu sein. Dennoch kann er dazu genutzt werden sich in einer strukturierten Weise dem Thema Relationen zu nähern. Notwendig dazu sind ein Rechner mit installierten JOSM und ein Gebiet in dem sich passende Beispiele finden. Die Unterstützung durch einen erfahrenen Mapper wird dabei hilfreich sein.
Dies sind die Unterlagen für die Relationen-Workshops
Diesen Text daher bitte nicht verändern.
Anmerkungen und Änderungswünsche können auf der
Diskussionsseite eingetragen werden.
Gerne kann dieser Text als Grundlage für eine andere Version
von Unterlagen für Workshops oder Schulungen genutzt werden.
Änderungen am folgenden Text sind mit Pfeilen markiert:
---> Ergänzung <--- Löschung <--> Änderung
Was ist OpenStreetMap?
OpenStreetMap (kurz OSM) ist eine Sammlung freier Geodaten. Mapper erfassen freie Daten (selbst erfasst oder aus freigegebenen Quellen) und stellen sie unter einer freien Lizenz zur Veröffentlichungen zur Verfügung. Diese Daten können in vielfältiger Weise genutzt werden. Als Beispiel seien Karten- und Routing-Anwendungen, Location- Service oder thematische Karten genannt. Aber auch statistische Auswertungen und vieles mehr ist möglich. Insbesondere wird keine mögliche Anwendung ausgeschlossen. OSM ist ein internationales Projekt. Daher entstammen praktisch alle Begriffe in OSM der englischen Sprache.
Welche Datentypen gibt es in OSM?
- Der erste Datentyp sind die Punkte (OSM=nodes). Diese enthalten als einzige die Geokoordinaten. - Als zweites sind die Linien (OSM=ways) zu nennen. Linien sind eine geordnete Liste von Knoten, die eine lineare Struktur beschreiben. Linien haben eine klare Richtung, die durch die Reihenfolge der Knoten vorgegeben ist. Achtung: Es gibt keinen Datentyp für Flächen! Flächen werden durch eine geschlossene Linie beschrieben. Geschlossen heißt, dass Anfangs- und Endpunkt identisch sind. Eine geschlossene Linie muss nicht zwingend eine Fläche sein (Kreisverkehr), dies hängt von den Eigenschaften der Linie ab. - Der dritte Datentyp sind die Relationen (OSM=relations). Relationen sind eine Zusammenfassung von Objekten. Die Relation ist notwendig, wenn Objekte einen Zusammenhang haben, der mit anderen Mitteln nicht oder nur schlecht darstellbar ist. Insbesondere können Relationen unterschiedliche Objekte enthalten, sowohl Punkte und Linien als auch Relationen sind möglich. Achtung: Objekte mit gleichen Eigenschaften benötigen keine Relation!
Eigenschaften von Objekten
Die Datentypen Punkte, Linien und Relationen beschreiben geome- trische Objekte über die, den Punkten zugeordneten Koordinaten. Es hat jedoch wenig Sinn, wenn man nicht weis, was z.B. eine Linie bedeuten soll. Daher können jedem Objekt Eigenschaften zugeordnet werden, die festlegen welche Bedeutung ein Objekt hat. Eigenschaften werden als Paar von Schlüssel und Wert verwaltet. Es gibt implizite Eigenschaften, die zur Verwaltung der Datenbank notwendig sind, und explizite Eigenschaften, die die Bedeutung eines Objektes beschreiben sollen. (z.B. Straße/Fluss/Zaun/...) Implizite Eigenschaften: - Datum - Version - User-ID - Changeset - visible - ... Implizite Eigenschaften sind im Normalfall nicht direkt sichtbar. Punkte haben als Standard-Eigenschaft die Geokoordinaten. Explizite Eigenschaften: - Ein Punkt kann nur ein Punkt sein ohne eigene explizite Eigenschaften oder ein eigenständiges Objekt sein, wie eine Ampel, ein Hindernis, ein Geschäft, ein eine Hotel usw. - Eine Linie (Abfolge von Punkten) sollte mindestens eine explizite Eigenschaft haben. Ansonsten weis niemand, was diese Linie darstellt. Eine Linie kann eine Straße, ein Fluss, ein Zaun, eine Grenze und vieles andere sein. Ein Objekt kann viele Eigenschaften gleichzeitig haben. Eine Linie kann eine Straße sein, mehrere Fahrspuren haben, eine zulässige Höchstgeschwindigkeit besitzen, eine bestimmte Oberfläche haben, einen Namen und/oder eine Referenz-Nummer haben. Diese verschiedenen Aspekte werden durch Schlüssel-Wert Paare (Taggs) dargestellt. Für obiges Beispiel: highway=primary lanes=3 maxspeed=80 surface=paved name=Hauptstraße ref=B 21
Der Editor JOSM
JOSM (Java OpenStreetMap Editor) ist ein Offline-Editor mit sehr vielen Möglichkeiten OSM-Daten zu erzeugen, zu ändern, auszuwählen und zu prüfen.
Die Arbeitsumgebung von JOSM
Die grafische JOSM-Umgebung stellt alle Mittel zur Verfügung, die benötigt werden, um komfortabel mit den OSM-Daten zu arbeiten. Die Bereiche der Arbeitsumgebung von JOSM sind: - Menüleiste (ganz oben) Hier stehen Befehle als Standard Dropdown-Menüs zur Verfügung. - Symbol-Leiste (oben) Wichtige Befehle stehen als Symbol zur Verfügung. - Werkzeug- & Infobox-Leiste (links) Hier können wichtige Befehle ausgewählt werden und die Anzeige der Info-Paletten umgeschaltet werden. - Arbeitsfeld (Mitte) Hier wird in einem Ausschnitt der aktiven Datenebene die Daten entsprechend ihrer geometrischen Anordnung, ihres Daten-Typs und einem Teil ihrer Eigenschaften dargestellt. - Info-Paletten (rechts) Hier werden verschiedene Informationen zu den selektierten Objekten angezeigt. - Statuszeile (ganz unten) Zeigt diverse Informationen zu den Objekten an, die sich unter dem Maus-Cursor befinden oder gerade eingetragen werden. Wichtige Arbeitsmodi - Auswählen (s_elect) - Hinzufügen (a_dd) - Löschen (d_elete) - ... Wichtige Werkzeuge - Verbinden von Wegen (c_onnect) - Auftrennen von Wegen (split into p_arts) - Verbundene Wege trennen (un_g_lue) - ... Wichtige Info-Paletten: Diese werden über die Infobox-Leiste links ein- und ausgeblendet: - Daten-Ebenen em (Daten, GPX-Tracks, Karte, Luftbilder, ...) - Eigenschaften (zeigt Taggs und Mitgliedschaften) - Auswahl (Liste aller aktuell selektierten Objekte) - Objekte filtern (Liste mit Filter-Kriterien) - Datenprüfung (Liste mit den Ergebnissen der Datenprüfung) - ...
Plugins für JOSM
JOSM kann durch Plugins an vielfältige Bedürfnisse/Arbeitsweisen angepasst werden. Ebenso lassen sich viele Aspekte von JOSM durch vielfältige Einstellungen an den eigenen Arbeitsstil anpassen. Wichtige Plugins: - Validator (Überprüft die Daten auf Fehler/Probleme)) - WMS (Satelliten-/Luftbilder als Hintergrundebene) - Remote Control (Aufruf von JOSM über eine Webseite) - ... Plugins können JOSM eigene Info-Paletten hinzufügen (Validator).
Was sind Relationen?
Relationen sind Zusammenfassungen von meist unterschiedlichen Objekten, die eine Gemeinsamkeit haben, die nicht sinnvoll über die Eigenschaften der beteiligten Objekte erfasst werden können. Beispiel: Abbiege-Beschränkung.
Was gehört zu einer Relation?
- Eigenschaften Wie alle OSM Daten-Typen haben auch Relationen Eigenschaften. Zwingend ist die Angabe eines Typs (type=...), damit man weis, um was für eine Art Relation es sich handelt. Abhängig vom Typ einer Relation sind bestimmte Dinge bei Eigenschaften, Mitgliedern und Rollen notwendig, möglich oder nicht möglich. Alle Eigenschaften, z.B. der Name, beziehen sich auf die Relation als Ganzes und nicht direkt auf die Objekte, die Mitglieder in der Relation sind. - Mitglieder (member) Mitglieder sind Referenzen auf Objekte anhand der je Datentyp eindeutigen Objekt-ID. Alle OSM-Datentypen (Punkte, Linien, Relationen) können Mitglied einer Relation sein. Mitglieder können in einer beliebigen Reihenfolge oder in einer für den Mapper sinnvollen Reihenfolge vorliegen. Die Reihenfolge der Objekte erzwingt keine Ordnung für die Relation. Als Beispiel hat eine Site-Relation überhaupt keine Ordnung ihrer Mitglieder. - Rollen (roles) Mitgliedern können Rollen (roles) zugewiesen werden. Eine Rolle legt fest, in welcher Art ein Mitglied zu einer Relation gehört. Ob Rollen verwendet werden, hängt von der Art der Relation ab.
Etablierte Relationen
- Multiplygone beschreiben Flächen in Flächen. (inner, outer) [Rheinauen, Ennert, Telekom] - Abbiege-Beschränkung (from, via, to) [Abbiege-Spuren] - site-Relation (---) [???] - associatedStreet (street, house) [Tannenbusch] - Routen beschreiben Wege, die über viele OSM-Wege verlaufen. (---, forward, backward) [Bus-, Tram-, Rad-Routen] - Grenz-Relation (---) [Stadtteil-Grenzen, ...] - Haltestellen (---) [???] Schreibweise: (Rollen) [Beispiele] Mit '---' wird eine leere Rolle gekennzeichnet.
Arbeiten mit Relationen in JOSM allgemein
Wie findet man Relationen in JOSM?
- In der Info-Palette Eigenschaften werden die Mitgliedschaften aller selektierten Objekte angezeigt. Per Kontext-Menü kann die Relation als Objekt selektiert oder in der Info-Palette Relationen ausgewählt werden. Ein Doppelklick startet den Relationen-Editor für die Relation. - Die Info-Palette Relationen über die Infobox-Leiste (Symbol mit Zahnrad) einschalten. Dort dann nach der Relation suchen. Eigenschaften kann man einer Relation wie jedem anderen Objekt zuweisen, indem man die Relation zum selektierten Objekt macht und die Eigenschaften hinzufügt/ändert.
Arbeiten mit der Info-Palette Relationen
Ein Einfach-Klick markiert eine Relation in der Info-Palette, Ein Doppelklick macht die Relation zum selektierten Objekt. Voraussetzung für alle folgenden Angaben: Die Info-Palette Relationen ist eingeschaltet (sichtbar) und die Relation ist in der Info-Palette markiert. Per Kontext-Menü (Ctrl-Klick / rechte Maustaste) sind folgende Optionen verfügbar: - Elemente der Relation herunter laden - Unvollständige Elemente der Relation herunter laden - Elemente der Relation als Objekte auswählen Unterhalb der Liste der Relationen befinden sich mehrere Buttons mit folgenden Funktionen: - Neue Relation erstellen (Zahnrad mit Plus) - Editor mit der markierten Relation öffnen (Blatt+Stift) - Markierte Relation duplizieren (zwei Blätter mit Pfeil) - Markierte Relation löschen (Mülleimer) - Markierte Relation als Objekt auswählen (Auswahlrechteck)
Der Relationen-Editor von JOSM
Der Relationen-Editor dient dazu die Mitglieder von Relationen zu verwalten, hinzu zu fügen, zu löschen und anzuordnen. Der Relationen-Editor kann immer nur eine Relation bearbeiten. Allerdings kann man für mehrere Relationen jeweils einen eigenen Relationen-Editor, also mehrere parallel, aufrufen. Änderungen im Relationen-Editor werden erst übernommen, wenn dies explizit angestoßen wird. Solange dies nicht der Fall ist, können die Änderungen immer durch Abbruch ungeschehen gemacht werden. Aufruf - Relation in der Info-Palette Eigenschaften doppelt anklicken. - Relation in der Info-Palette Relationen durch Klick markieren, danach den Button Editor anklicken.
Teile des Relationen-Editors
Buttons (ganz oben) - Aktualisierung übernehmen. - Relation duplizieren - Relation löschen. Tabulator-Reiter (fast ganz oben) - Merkmale und Eigenschaften (Bearbeiten der Mitglieder und Eigenschaften) - Eltern-Relationen (Relationen in denen diese Relation Mitglied ist) - Kind-Relationen (Relationen die in dieser Relation Mitglied sind) Mit diesem Reiter wird man am meisten arbeiten, die anderen dienen mehr der Information. Bereich Merkmale (oben quer) Hier werden die Eigenschaften der Relation als Schlüssel-Wert Paare eingetragen. Achtung: Die Eigenschaften gelten im allgemeinen nur für die Relation und nicht für ihre Mitglieder. Bereich Elemente (linke Seite) Im Bereich Elemente werden die Mitglieder einer Relation verwaltet. Er besteht aus der Button-Leiste links und einer Liste mit den Spalten: Rollen (links), Objekte (Mitte) und Linienart (rechts). Bereich Auswahl (rechte Seite) In der Auswahl-Liste werden die Objekte angezeigt, welche in der aktiven Daten-Ebene selektiert sind (diese erscheinen in der Info-Palette Auswahl). Buttons (ganz unten) Die drei Buttons dienen dazu, den Relationen-Editor mit/ohne Übernahme der Änderungen zu beenden (OK/Abbrechen) oder die Hilfe-Funktion aufzurufen.
Bereich Elemente
Im Bereich Elemente werden die Mitglieder einer Relation verwaltet. Er besteht aus einer Button-Leiste links und einer Liste mit den Spalten: - Rollen Die möglichen Rollen hängen vom Typ der Relation ab. Sie können notwendig sein, optional sein oder ganz entfallen. Siehe Abschnitt 3b) für die Rollen in etablierten Relationen. - Referenz auf Objekte Die Objekte in der Elemente-Liste sind Verweise auf Punkte, Linien, Relationen. Die Eigenschaften der Objekte sind nicht in der Relation gespeichert sondern in den Eigenschaften der Objekte. - Art von Linien. Dies können einzelne Linien, verbundene Linien, geschlossene Linien (auch über mehrere Einzel-Linien) sein. Dies ist hilfreich, wenn man Linienzüge (mehrere Linien) oder geschlossene Linien aus mehreren Teilen hat, und diese so anordnen will, wie sie zusammen gehören. ---> Bei verbundenen Linien wird die Zeichen-Richtung der Linie ---> durch einen kleinen Pfeil angezeigt. Das gilt auch bei ---> geschlossen Linien aus mehreren Teilen. Elemente werden durch - einfachen Klick in der Elemente-Liste ausgewählt - Doppel-Klick selektiert sie in der aktiven Daten-Ebene - mit Shift-Klick wird ein Bereich ausgewählt - mit Ctrl-Klick wird der Auswahl-Status umgekehrt. Ctrl-Klick kann auch dazu benutzt werden, nicht hintereinander liegende Elemente auszuwählen. Ein einfacher Klick in die Rollenspalte erlaubt es, die Rolle eines Elementes zu setzen oder zu ändern. Wenn man mit der Maus (Mouse-Over) langsam auf/über ein Objekt in der Elemente-Liste fährt, werden die Eigenschaften dieses Objektes angezeigt. Klick mit der rechten Maustaste zeigt das Kontext-Menü. Einzige Auswahl ist "Zoom auf", womit das Element in der aktiven Daten- Ebene selektiert wird und das Arbeitsfenster auf dieses Objekt zentriert und im Maßstab angepasst wird. Das Eingabe-Feld "Rolle anwenden" unterhalb der Elemente-Liste erlaubt es, auf einfache Weise die Rolle für alle ausgewählten Elemente zu setzen. Links neben der Elemente-Liste sind Buttons, die Aktionen auf den ausgewählten Elementen der Liste ausführen: - Aufwärts/abwärts verschieben - Löschen - Sortieren (funktioniert nur bei Linien) - Reihenfolge umdrehen - Alle/ausgewählte unvollständige Elemente herunter laden Es sei darauf hingewiesen, dass die Reihenfolge der Elemente (Mitglieder) der Relation keine Bedeutung für die Verarbeitung der Relation hat. Für einen Benutzer kann eine 'logische' Reihenfolge (z.B. Linien / Haltestellen in Fahrtrichtung) die Bearbeitung jedoch erleichtern.
Bereich Auswahl
Im Bereich Auswahl werden die Objekte aufgelistet, die in der aktiven Daten-Ebene selektiert sind. Wie in der Elemente-Liste werden bei langsamen Mouse-Over die Eigenschaften des Objektes angezeigt, über dem die Maus sich befindet. Die in der aktiven Daten-Ebene selektierten Objekte können vor Aufruf des Relationen-Editors selektiert werden oder wenn der Relationen-Editor bereits aktiv ist. Auf diese Weise können Objekte in der Auswahl-Liste nachträglich hinzugefügt/entfernt werden. Links neben der Auswahl-Liste sind Buttons, mit denen alle Objekte in der Auswahl-Liste in die Elemente-Liste übernommen werden können. Sollte es dabei zu Doppeleinträgen in der Elemente-Liste kommen, gibt JOSM eine Warnung aus. Folgende Buttons stehen zur Verfügung: - Vor dem Anfang / nach dem Ende der Elemente-Liste einfügen. - Vor/nach den ausgewählten Elementen einfügen. - Objekte in der Auswahl-Liste in der Elemente-Liste auswählen. Damit werden Duplikate hervorgehoben. - Ausgewählte Elemente in die Auswahl-Liste übernehmen. Die Elemente werden in der aktiven Datenebene selektiert. - Duplikate aus der Elemente-Liste entfernen.
Erzwungene Änderungen an Relationen
Es gibt Fälle in denen Relationen angepasst werden müssen. Das sind wahrscheinlich die Situationen, die viele Mapper erst dazu bringen, sich mit Relationen zu beschäftigen. - Wenn ein Linie, die Teil einer Relation ist, aufgeteilt wird, muss die neue Linie auch in die Relation aufgenommen werden. Das erledigt JOSM in der Regel automatisch. Eine Meldung weist auf diesen Vorgang hin. Falls dies Verhalten nicht erwünscht ist, muss per Hand nachgearbeitet werden. - Wenn Linien verbunden werden, kommt es oft zu Konflikten, wegen - unterschiedlicher Eigenschaften der Linien - unterschiedlichen Mitgliedschaften in Relationen In beiden Fällen präsentiert JOSM einen Dialog, in dem diese Konflikte aufgelöst werden können. Im Zweifelsfall kann man das Verbinden abbrechen. - Wenn ein Objekt dupliziert wird, wird das Duplikat automatisch in die Relationen des Ausgangsobjektes aufgenommen. Falls das nicht erwünscht ist, müssen die Duplikate per Hand aus den Relationen entfernt werden. - Wenn ein Objekt gelöscht wird, muss dieses Objekt aus allen Relationen entfernt werden, in denen es Mitglied ist. <--> Das erledigt JOSM meist automatisch. ---> Bei Problemen gibt JOSM eine Warnung aus, dass man die ---> Situation per Hand bereinigen muss.