User:Hanekomi/EMAHarztliste

From OpenStreetMap Wiki
Jump to navigation Jump to search

Für eine Website, auf deren Forum immer wieder die Frage aufkommt, wo man in der Nähe einen Arzt mit einer bestimmten Fachqualifikation finden kann, habe ich mir, als im Netz schließlich eine Liste mit Adressen auftauchte, überlegt, dass man diese in Kartenform visualisieren sollte. Dabei wollte ich die Lage der Adressen nicht alle von Hand herausfinden, sondern dafür ebenfalls auf Openstreetmap zurückgreifen. (Da ich mit http://gazetteer.openstreetmap.org/ Schwierigkeiten hatte – beispielsweise finde ich damit nicht einmal den 7-Bit-ASCII-kompatiblen Straßennamen „Tschechenbogen“ in Leipzig, obwohl die Straße offenbar schon seit längerer Zeit in der Datenbank ist; inzwischen ist auf der Hauptseite allerdings stattdessen ein anderes Werkzeug eingebunden, das ihn findet ... –, habe ich mir letztlich von geofabrik.de „Deutschland heruntergeladen“ und (da ich mir nicht auch noch ein Datenbanksystem installieren will) ein paar rustikale Stückchen Code gebastelt, die die Straßenkoordinaten in der gepackten Riesen-XML-Datei, zusammen mit den Anhaltspunkten aus der Postleitzahlentabelle vom ADFC-Server, tatsächlich in den meisten Fällen finden.) Da aber Hausnummern in der Datenbank damals noch sehr selten waren (inzwischen werden sie ja rapide mehr ...), beschloss ich, die Adressen als Kästchen zu markieren, die die gesamte betroffene Straße umgeben. Deswegen hat diese Anwendung jetzt die (mir bisher anderweitig nicht bekannte) Funktionalität, Markierungen nicht als Punkte, sondern als Rechtecke mit individueller Breite und Höhe zu kennen. (Irgendwo habe ich so etwas mal hochtrabend „4D“ genannt gelesen.) Außerdem habe ich eine weitere Eigenschaft eingebaut, die ich in der Standard-Weboberfläche vermisse (wobei die allgemein gesehen natürlich überlegen ist: variable Fenstergröße, Schieben und Zoomen mit der Maus, ersatzweise Darstellung skalierter Tiles beim Warten auf neue sind z. B. alles Dinge, die meine Anwendung nicht kann), nämlich dass man die Vor- und Zurück-Tastenkombinationen bzw. -Knöpfe des Browsers beim Herumsurfen auf der Karte ihrer Bestimmung gemäß verwenden kann. (Das habe ich allerdings damit erkauft, dass jede Bewegung auf der Karte eine neue Anfrage an den Server schickt, auf dem das Skript liegt, und immer dasselbe kleine HTML-Dokumentchen zurück bekommt, was der Browser wegen geänderter Parameter in der URL aber nicht wissen kann und deshalb nicht cachen kann. Der Server muss aber nichts „machen“, die Berechnungen werden alle am Client vorgenommen bzw. sind schon beim Erstellen der auf den Server zu legenden Seiten mit diversen awk-Skripten erfolgt.) Was noch interessieren könnte, ist ein Streckenlängenmesswerkzeug – unhandlich zu bedienen, aber ich wollte endlich mal eins haben und habe die Gelegenheit benutzt, eins zu basteln. Es ist bei der Koordinatenanzeige hinter dem Link „Verbesserungen?“ rechts oben versteckt, die ich eingeführt habe, um den Nutzern Gelegenheit zu geben, die (hausnummern)genaue Position von Adresse zu melden, die sie kennen.

Die Anwendung ist unter http://emahliste.jemah.de/ im Netz.

Falls sich jemand dafür interessiert, Teile von dem System selbst weiterzuverwenden: Der Code ist nicht besonders sauber, weil ich beim Programmieren nur meine eigene Aufgabenstellung im Blick hatte, deshalb habe ich auch noch nicht die Formalitäten eingebaut, die ihn unter eine Freie Lizenz stellen, aber bei Anfragen versuche ich gern weiterzuhelfen.