XAPI-Knoten-Layer · Anleitung zum Selbstmachen

Springe zu: Seitenhierarchie.

Schnellstart

  1. Laden Sie das Zip-Archiv herunter. Es enthält sechs Dateien:
    • csvdir.php
    • csv.phtml
    • dyn/dogbags.csv
    • popupmarker.js
    • osm2csv.php
    • csv_xapi_php.phtml
  2. Packen Sie das Zip-Archiv in einem Verzeichnis auf Ihrem Server aus.
  3. Rufen Sie die Seite .../csv_xapi_php.phtml auf Ihrem Server auf:
    Die Seite zeigt die Inhalte des mitgelieferten dogbags.csv.
  4. Und so sollte es aussehen.

Aktualisieren der CSV-Datei

Sie können die CSV-Datei aus den aktuellen Inhalten der Datenbank von Openstreetmap neubauen lassen:

  1. Ändern Sie die Zugriffsrechte des Verzeichnis dyn so, dass der Webserver darin schreiben darf.
  2. Lösen Sie auf der Seite .../csv_xapi_php.phtml ein Shift-Reload aus.
  3. Das Script holt die aktuellen XML-Darstellungen der XAPI-Abfrage vom Server bei Openstreetmap ab, erzeugt daraus eine aktuelles CSV-Datei und stellt deren Inhalte in der Karte dar.

Erhöhen Sie die Sicherheit

Ein vom Server schreibbares (und damit praktisch Welt-schreibbares) Verzeichnis auf einem Webserver ist keine wirklich gute Idee. Deshalb:

  1. Legen Sie auf dem Server ein Verzeichnis an, in dem die CSV aufbewahrt werden sollen. Dieses Verzeichnis muss durch den Webserver schreibbar sein. Ich empfehle, es außerhalb des htdocs-Baumes anzulegen.
  2. Tragen Sie in der csvdir.php-Datei den Pfad dieses Verzeichnisses ein.
  3. Lösen Sie einmal ein Shift-Reload aus.

Anpassung

Sie können anpassen:

Die Anleitung dazu finden Sie als Kommentare in der Datei csv_xapi_php.phtml.

Weiterentwicklung

Was Sie bereits auf der Startseite sehen: Deutschland ist überladen mit Übersichtsmarkern. Der Grund: es gibt nur eine Ebene von Übersichtsmarkern; diese werden von zoom=0 bis zoom=10 benutzt. Was bei zoom=10 ok ist, führt bei zoom=0 zur Überladung.

Ich werde das ändern, und zwar für jede Zoomstufe getrennt die Übersichtsmarker bestimmen und dann zu jedem Übersichtsmarker speichern, in welchen Zoom-Stufen er angezeigt wird. Dazu muss ich das popupmarker.js modifizieren und die cluster()-Funktion im osmcsv.php erweitern.

Das passiert aber erst nach der Outdoor-Saison.☺

Wenn es soweit ist, brauchen Sie nur popupmarker.js und osmcsv.php durch die neue Version zu ersetzen, und ab dem nächsten Shift-Reload steht die erweiterte Funktionalität bereit.


tweet this   © 2010-2012 – zuletzt geändert am 03.08.2010
Verbraucherinformation: enthält XHTML1.0, CSS und eine Anbieterkennzeichnung.

Navigation