DE:Osmolt

From OpenStreetMap Wiki
Jump to navigation Jump to search
Osmolt-GUI

broom

Dieser Artikel oder Abschnitt kann veraltete Informationen enthalten. Enthaltene Informationen können nicht mehr korrekt oder nicht weiter von Bedeutung sein.
Wenn du aktuelle Informationen beitragen kannst, hilf bitte bei der Aktualisierung oder teile diese auf der Diskussionsseite mit. (Discussion)

Osmolt (OpenStreetMap und OpenLayers-Text) ist ein Programm, um eigene interaktive Karten für eine Website zu erstellen. Für einen ausgewählten geografischen Bereich können aus der OSM-Datenbank POIs gesucht werden, die dann lokal in einer Datei gespeichert und auf der Karte angezeigt werden. Jeder Punkt ist klickbar, zugehörige Eigenschaften werden in einem PopUp-Fenster angezeigt. Das Programm erstellt alle für die Website erforderlichen Dateien.

Karten-Beispiele

Liste der Karten

Kinder-Karte Hamburg
Fahrrad-Verlieh Stuttgart
Döner-Imbiss Berlin

Code

Programm "Osmolt" (ausführbares java-Archiv)
Source Code (für Entwickler)

Anleitung

Diese Anleitung bezieht sich auf die aktuelle Version 2.1

Das Programm hat eine grafische Benutzeroberfläche (GUI) und ist meist selbsterklärend.

Um auf der Karte zu navigieren muss die Strg-Taste gehalten werden.

Die Karten werden aus Osmolt-Einträgen zusammen gesetzt. Diese bestehen neben den Attributen aus folgenden Elementen:

  1. Filter
  2. Titel
  3. Beschreibung

Osmolt benutzt intern einen XML-Baum zur Steuerung. Dieser kann als Steuer-Datei abgespeichert werden, um später die Karte zu aktualisieren.

Filter

Der Filter bestimmen für welche Punkte der Filter gilt.

Sie sind baumartig aufgebaut, bestehen aus Knoten (AND und OR - Verknüpfungen, im folgenden 'logical') und Blättern (Schlüssel/Wert-Paar, im folgenden 'restriction').

Knoten und Blättern können ausgeschlossen (negiert) werden.

Das Wurzelelement eine Und-Verknüpfung sein muss.

Im einfachsten Fall besteht ein Filter aus einem logical und einer restriction:

and
   key=value

in diesem Fall werden alle Punkte und Linien angezeigt, die diese Eigenschaft haben: key=value

Auch kompliziertere Einschränkungen :

and
  cuisine=kebab
  or
    amenity=restaurant
    amenity=fast_food

Eine restriction besteht aus einem Schlüssel, einem Wert und einem Typ. Bitte entnehmt die Korrekten Schlüssel-Wert-Paare aus den DE:Map_Features.

Folgende Typen können angegeben werden:

  • equal: Gleichheit: die Restriktion (res) gibt dann 'wahr' zurück, wenn das OSM-Objekt (obj) einen Key besitzt, sodass (obj.key == res.key) && (obj.value == res.value).
  • amongothers: unter anderem: die Restriktion (res) gibt dann 'wahr' zurück, wenn das OSM-Objekt (obj) einen Key besitzt, sodass (obj.key == res.key), der Wert mehrere Elemente hat (durch ',' oder ';' getrennt) und eines der Elemente exakt gleich res.value ist.
  • regex: Regulärer Ausdruck: die Restriktion (res) gibt dann 'wahr' zurück, wenn das OSM-Objekt (obj) einen Key besitzt, der gleich dem Key der Restriktion ist und der reguläre Ausdruck res.value auf obj.value zutrifft.
  • anything: Vorhanden: die Restriktion (res) gibt dann 'wahr' zurück, wenn das OSM-Objekt (obj) einen Key besitzt, der gleich dem Key der Restriktion ist der Wert ist dabei irrelevant


todo:hier weitermachen


Ein Filter ist die Zusammenfassung aller relevanten Informationen die zum erstellen eines Punktes (PIO) auf der gewünschten Karte benötigt werden.

Die Filter lassen sich beliebig anpassen und auch abspeichern.

Dabei können bei einem Durchlauf mehrere Filter angewendet werden.



Wenn zu einem Punkt weitere Daten vorhanden sind, kann man diese durch Klick auf das Icon im PopUp anzeigen (z.B. Name, Betreiber, Öffnungszeiten, etc).

Osmolt kopiert alle erforderlichen Dateien in das Ausgabeverzeichnis. Zur Anzeige der Karte als Website wird von Osmolt eine komplette HTML-Seite generiert. Diese HTML-Seite wird dann einfach i Browser auferufen oder von anderen Seiten verlinkt. Eine Hilfe ist im Programm integriert.

Wer spezielle Filter anlegen will, zb alle post_box, aber nicht die von der Post, muss noch etwas auf eine Anleitung warten, oder selbst ausprobieren, oder diese etwas veraltete Anleitung benutzen.

Hintergrund

Osmolt lädt für den ausgewählten rechteckigen Kartenbereich (BoundingBox) alle Daten von der XAPI herunter, die das angegebene Schlüssel-Wert-Paar haben, und schaut für jedes gefundene Objekt nach, ob es zu dem angegebenen Filter passt. Wenn ja, generiert Osmolt anschließend eine Zeile für die CSV-Datei. Dann wird eine HTML-Datei generiert, die die OSM-Karte als Basiskarte darstellt, die Punkte aus der CSV-Datei liest, und diese in einer zweiten Ebene (mit OpenLayers) als Popup darstellt.

Für die oben gezeigte Karte benötigte Osmolt weniger als eine Minute (wenn die XAPI entsprechend schnell genug ist).

Die englische Übersetzung ist im Moment kaputt und wird in einem späteren Release nutzbar sein.

Ich würde mich über Feedback und Bugreports auf SourceForge freuen. Oder per OSM-Mail.

Siehe auch