User:WhitePlume/Presets

From OpenStreetMap Wiki
Jump to navigation Jump to search

Eigene JOSM Presets/Vorlagen, z.B. für Bushaltestellen einer bestimmten Linie

Unter JOSM gibt es die Möglichkeit, Presets zu speichern und anzuwenden, um Buttons zur Verfügung zu haben und ein Menü zu öffnen, um eine Reihe von Tags schnell einzugeben und z.B. einem Punkt zuzordnen. So fand ich es praktisch, einen Preset für die Bushaltestellen zu schreiben, damit ich mit wenig Aufwand viele Haltestellen für eine einzelne Buslinie hinzufügen kann. Meine Vorgehensweise war Folgende:

Um Bushaltestellen einer bestimmten Buslinie schneller einzufügen, habe ich mir eine "Preset" Datei erstellt und sie in JOSM eingebunden. Da habe ich gleich meine Standardwerte eingefügt, wie z.B. Liniennummer und Operator, sowie Homepage (diese letzte Angabe ermöglicht später auch die Anzeige der Haltestellen und deren Liniennummer in OpenLinkMap.org, was ich recht praktisch fand. Auf den Webseiten stehen außerdem meist die Fahrpläne bereit - ebenfalls praktisch, solange sie in OSM-Anwendungen nicht eingebunden werden!). Ich benutze dann dieses Menü, solange ich die Eine Buslinie bearbeite. Wenn ich fertig bin und eine neue Linie verarbeiten will, brauche ich nur die Preset-Datei anzupassen, und JOSM einmal neu zu starten, um die neue Version zu laden.


Die Preset-Datei

Die Preset-Datei erstellen und einbinden geht so:

  • Einfache Textdatei mit Zeichensatzkodierung in UTF-8 (ohne BOM), z.B. mit Notepad++ (gibt's auch als PortableApp) --

(unter Windows gibt es Probleme mit Notepad oder auch Wordpad, da sie nicht die richtige Kodierung anwenden, selbst bei angeblichem UTF-8) -- z.B. my-presets.txt

  • Endung in .xml ändern
  • Z.B. im JOSM-Ordner abspeichern, dann in den JOSM-Einstellungen wie folgt einbinden:

In den Einstellungen/Preferences im Hauptmenü, den 3. der linken Reitern auswählen (mit dem Gitter und der Erdkugel), dann den 3. Reiter oben auswählen (Tagging Presets/Vorlagen). In der oberen Hälfte des Fensters können Vorlagen ausgewählt werden, manche sind schon vorgefertigt (in der linken Seite); rechts auf dem Button mit "+" kann eine lokale Datei ausgewählt werden. Hier die eigene Datei auswählen; beim nächsten Start von JOSM wird sie eingebunden. Um Änderungen in der Datei zu laden, muss dann JOSM neu gestartet werden, und fertig.

Siehe weitere Infos dazu in http://josm.openstreetmap.de/wiki/Help/Preferences/Map im Abschnitt über Tagging Presets.


Auswahl der Felder und Default-Werte

Alle Felder, die ich für einen Busstopp brauche, habe ich in dem Preset eingefügt und kann sie dann ggf. ausfüllen, wenn ich das Menü aufrufe. Ich habe einige Werte zur Auswahl eingefügt, um Tipfehler zu vermeiden, oder weil es Standardwerte sind. Was nicht so üblich ist, ich habe auch Default-Werte eingegeben, die für meine Linie den häufigsten Fall darstellen. Bei der Eingabe einer neuen Haltestelle überprüfe ich sie nur noch kurz. Diese Default-Werte werden jedoch nur bei neu zu erstellende Haltestellen ausgefüllt, nicht bei Änderungen, wenn die Haltestelle schon existiert. Die Auswahlfelder und -werte werden dann aber weiter angeboten.

Mainmenü oder Toolbar

In meinem Beispiel habe ich eine Menügruppe erstellt, die dann in den Presets/Attribute hinzugefügt wird (bzw. von JOSM geladen). Es ist auch möglich, ein One-Clic-Menü zu erstellen. Dafür lässt man den <group> Eintrag weg. In den Einstellungen kann man den Button dazu auch in der oberen Leiste von JOSM verschieben, um schneller ranzukommen.

Weitere Details zu meinem Beispiel

Ich habe, für meine einfache, ländliche Buslinie, keine reinen bus_stop oder platform-Tags benutzt, sondern das alte Modell von highway=bus_stop und das neue public_transport=stop_position vermischt, mit dem Vorhaben, später, wenn ich mehr Informationen über die Haltestellen gesammelt habe, die Daten zu entkoppeln und die public_transport=platform einzubinden. In Städte mit Straßenbahnen, U-Bahn und Umsteigemöglichkeiten würde es kein Sinn ergeben, es wäre dann besser, gleich ein Preset/Button für die stop_position und ein für platform zu erstellen.

Die Busrelation habe ich bisher per Hand erstellt, und alle bus_stop's dort nach und nach eingefügt, mit der Rolle stop.


Mein erster Entwurf

Hier folgt nun meinen ersten Entwurf einer solchen Datei, mit einigen Kommentaren versehen.

Viel Erfolg beim Ausprobieren und Verbessern!


<presets xmlns="http://josm.openstreetmap.de/tagging-preset-1.0">
<!--   Die erste Gruppe betrifft die Weihnachtsmärkte, die Vorlage habe ich aus dem Wiki 
  kopiert und leicht angepasst...  --> 
 <group name="XMAS" icon="http://www.tappenbeck.net/osm/maps/icons/xmas_tree.png">
  <item name="Weihnachtsbaum" icon="http://www.tappenbeck.net/osm/maps/icons/xmas_tree.png">
  <link href="http://wiki.openstreetmap.org/wiki/DE:Tag:xmas" /> 
<!--  Ueberschrift 
  --> 
  <label text="Weihnachtsbaum" /> 
<!--  Feste Werte 
  --> 
  <key key="xmas:feature" value="tree" /> 
<!--  Variable Werte 
  --> 
  <text key="xmas:location" text="Lage" default="" delete_if_empty="true" /> 
  </item>
  <item name="Weihnachtsmarkt" icon="http://www.tappenbeck.net/osm/maps/icons/xmas_market.png">
  <link href="http://wiki.openstreetmap.org/wiki/DE:Tag:xmas" /> 
<!--  Ueberschrift 
  --> 
  <label text="Weihnachtsmarkt" /> 
<!--  Feste Werte 
  --> 
  <key key="xmas:feature" value="market" /> 
<!--  Variable Werte 
  --> 
  <text key="xmas:name" text="Name" default="" delete_if_empty="true" /> 
  <text key="addr:street" text="In Straße:" default="" delete_if_empty="true" /> 
  <text key="xmas:location" text="Lage" default="" delete_if_empty="true" /> 
  <text key="xmas:day_date" text="Zeitraum" default="" delete_if_empty="true" /> 
  <text key="xmas:opening_hours" text="Öffnungszeiten" default="" delete_if_empty="true" /> 
  <text key="xmas:url" text="Webseite" default="" delete_if_empty="true" /> 
  <text key="xmas:note" text="Anmerkung" default="" delete_if_empty="true" /> 
  <text key="lastcheck" text="Ueberprueft am" default="2012-11-24" delete_if_empty="true" /> 
  <text key="operator" text="Organisatoren" default="" delete_if_empty="true" /> 
  </item>
  <item name="WeihnachtsEvent" icon="http://www.tappenbeck.net/osm/maps/icons/xmas_event.png">
  <link href="http://wiki.openstreetmap.org/wiki/DE:Tag:xmas" /> 
<!--  Ueberschrift 
  --> 
  <label text="WeihnachtsEvent" /> 
<!--  Feste Werte 
  --> 
  <key key="xmas:feature" value="event" /> 
<!--  Variable Werte 
  --> 
  <text key="xmas:name" text="Name" default="" delete_if_empty="true" /> 
  <text key="xmas:location" text="Lage" default="" delete_if_empty="true" /> 
  <text key="xmas:day_date" text="Zeitraum" default="" delete_if_empty="true" /> 
  <text key="xmas:opening_hours" text="Öffnungszeiten" default="" delete_if_empty="true" /> 
  <text key="xmas:url" text="Webseite" default="" delete_if_empty="true" /> 
  <text key="xmas:note" text="Anmerkung" default="" delete_if_empty="true" /> 
  </item>
 </group>
<!--  

Nun die Gruppe für meine Busstopps und Haltestellen  
  --> 
 <group name="Linie 22" 
icon="http://josm.openstreetmap.de/export/5601/josm/trunk/images/presets/platform_bus.png">
  <item name="Busstopp" 
icon="http://svn.openstreetmap.org/applications/share/map-icons/classic.small/transport/bus.png">
<!-- Wenn die Icons im JOSM-Ordner am Standard-Ort gespeichert sind, sollte ein relativer 
  Link ausreichen, ich hab's bisher aber nicht gefunden und habe einen Online-Link benutzt, 
  da ich meist Online arbeite oder zumindest starte. Das genaue Format des Icons weiss ich 
  noch nicht, probiert es einfach aus... --> 
<!--   <link href="http://wiki.openstreetmap.org/wiki/DE:Tag:public_transport" />   --> 
<!--  Ueberschrift --> 
  <label text="Busstopp Linie 22" /> 
<!--  Feste Werte   --> 
  <key key="bus" value="yes" /> 
  <key key="highway" value="bus_stop" /> 
  <key key="public_transport" value="stop_position" /> 
<!--  Variable Werte   --> 
  <text key="name" text="Name" default="" delete_if_empty="true" /> 
  <text key="network" text="Network" default="VBN" delete_if_empty="true" /> 
  <text key="operator" text="Operator" default="BSAG" delete_if_empty="true" /> 
  <text key="ref" text="Nummer der Linie" default="22" delete_if_empty="true" /> 
<!--  Folgende Werte gehören eigentlich auch dem Punkt für die platform  --> 
<!--  <space/> dort einfügen, wo Platzhalter gebraucht werden   --> 
  <combo key="shelter" text="Wetterschutz" values="yes, no" default="" delete_if_empty="true" /> 
  <combo key="bench" text="Bank" values="yes, no" default="" delete_if_empty="true" /> 
  <combo key="tactile_paving" text="Blindenmarkierungen" values="yes" default="no" 
delete_if_empty="true" /> 
  <combo key="wheelchair" text="Wheelchair" values="no, limited" default="yes" 
delete_if_empty="true" /> 
  <combo key="departures_board" text="Abfahrtanzeigetafel" values="yes, no" default="" 
delete_if_empty="true" /> 
  <text key="source" text="Source" default="local inspection with walking-papers" 
delete_if_empty="true" /> 
  <text key="website" text="Web" default="http://www.bsag.de" delete_if_empty="true" /> 
  <text key="lastcheck" text="Letzte Sichtung am" default="2011-12-01" delete_if_empty="true" /> 
<!--  nicht vergessen, solche Werte immer wieder zu aktualisieren oder zu überprüfen --> 
  </item>
 </group>
</presets>


Weiter führende Links, Anleitungen

NB: die Anleitung zur Syntax der Presets gibt's da: http://josm.openstreetmap.de/wiki/TaggingPresets oder deutsch: DE:Anpassen_der_Vorlagen_von_JOSM