User:EvanE/Workshop Relationen

From OpenStreetMap Wiki
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.