Fx99 spielwiese
Contents |
Kreise um Trackpunkte/Marker
Problemstellung
Um als wpt Punkte in einer gpx Datei vorliegende Punkte sollen transparente Kreise mit
einem vorgegebenen Durchmesser in eine OSM Karte eingezeichnet werden.
Die wpt Punkte werden als Marker angezeigt, zusätzlich wird noch eine als rte vorliegend
Kreisgrenze als schwarze Linie eingezeichnet.
siehe Forumsbeitrag
Lösungsansatz
1. modifiziere das OpenLayer basierte GPX.js so, dass
- Gemeindegrenze in einer Farbe dargestellt werden
2. erstelle das OpenLayer basierte CIRC3.js so, dass
- die Markerdatei ausgewertet und transparente Kreise darum gezeichnet werden.
Programm-Codes
Main-Program
aus ol_track.htm erzeugt circ_track3.htm
javascript subroutinen
aus javascript GPX.js erzeugt GPX4.js
neues javascript CIRC3.js
zusätzlich
Style sheet map.css
Remote Programm-Start
hier klicken
neue Version mit Lizenzhinweis
Ergebnis

Die Kreise haben einen Radius von ca. 3 km
Anwendung
Neues Verzeichnis erstellen und die Dateien circ_track3.htm, FGH.gpx, Gem-Finnentrop.gpx, GPX4.js, CIRC3.js sowie map.css aus http://hwri.funpic.de/OSM_circle/ in dieses Verzeichnis kopieren.
Die Datei circ_track3.htm dient zu Aufruf der Karte, in der Datei FGH.gpx sind die Standorte der Feuerwehrgerätehäuser hinterlegt.
- Die Startdatei circ_track3.htm kann auch umbenannt werden z.B. in start.htm Wichtig ist die Endung .htm
Gem-Finnentrop.gpx enthält die GPX Daten der Gemeindegrenze. Diese Daten können wie im Abschnitt >> Erzeugung der Gemeindegrenzen << erklärt, erstellt werden.
GPX4.js ist eine JavaScript Datei, die die entsprechenden Grenzen und Marker erzeugt. CIRC3.js ist eine JavaScript Datei, die die Kreise erzeugt. Die Größe der Kreise können in der Datei circ_track3.htm in der Zeile 59 (suche nach !! ) eingestellt werden.
var lgpx1 = new OpenLayers.Layer.CIRC("Kreise-4Minuten","FGH.gpx","#FFFF00",true,3000.0);
- Mittels des Wertes 3000 wird ein ca. 3 Kilometer großer Kreis erzeugt.
- Über den Parameter true oder false können Sie bestimmen ob die Kreise mit Farbe ausgefüllt (true) werden oder nicht(false).
- Der Parameter #FFFF00 steht für die gelbe Farbe der Kreise.
Sollte eine andere Farbe gewünscht werden, siehe http://www.homepage-buttons.de/tools/color-picker.html : zur gewünschten Farbe den entsprechenden HEX Wert anzeigen lassen.
Analoges gilt für die 8-Minuten Kreise:
var lgpx2 = new OpenLayers.Layer.CIRC("Kreise-8Minuten", "FGH.gpx","#FF7F00",true,6000.0);
Im Menü rechts lassen sich die Kreise dann ein- und ausschalten.
Ausblick
Folgende Features sind jetzt in einer Testversion RW-BB.htm eingebaut:
- Parametrisierung der Durchsichtigkeit der Kreise auf htm - Ebene
Durch neue Tags in der Markerdatei RW-BB.gpx ist jetzt Folgenes möglich:
- Auswahl von unterschiedlichen Markern Icons wie z.B. pin_blue.png
- Einbau von Links in die Marker Pop-ups
- Einbau von Bildern in die Marker Pop-ups
Die dazu notwendigen Tags sind im Anhang gelistet.
Desweiteren sind GPX4.js und CIRC3.js vereinfacht in GPXCIRC.js vereinigt.
Die Kreisgrenze KG-BB.gpx ist als trk angelegt, diese Version ist jetzt auch implementiert.
Anhang: weitere Erläuterungen
Erzeugung der Gemeindegrenzen
Die Gemeinde Grenzen als GPX File zu erzeugen geht wie folgt:
- Laden des entsprechende Kartenmaterial mit z.B. merkaartor vom OpenStreetMap
- markieren der benötigten Grenzen und exportieren als GPX Datei.
Alternativ mit JOSM, wenn Grenze als Relation vorliegt:
- Nummer der Relation herausfinden
- JOSM starten
- J: Datei - Objekt herunterladen - "relation" auswählen und Nummer eingeben
- J: Bearbeiten- Alles Auswählen
- J: Werkzeuge - Wege verbinden
- J: Datei- Speichern unter- GPX Dateien auswählen - Name eingeben - Speichern
- Kommentar eingeben etc. - exportiern und speichern
- fertig
Auf gar keinen Fall die so generierten Daten beim Schließen von josm hochladen! Auch wenn josm das standardmäßig anbietet!
Tags in Marker-Datei
<wpt lat="48.696038360778" lon="9.0154173374178">
<name>Rettungswache Sindelfingen</name>
<desc> Waldenbucher Str. 38 71065 Sindelfingen (am Goldberg)</desc>
<html>http://www.drk-rettungsdienst-bb.de/wir-ueber-uns/die-rettungswachen/rettungswache-sindelfingen.html</html>
<image>http://www.drk-rettungsdienst-bb.de/typo3temp/pics/04014cc058.jpg</image>
<icon> pin_blue.png </icon>
</wpt>
<name> erste Zeile im Pop-up (fett)
<desc> zweite Zeile im Pop-up
<html> link auf weitere Info, der Link kann relativ oder absolute sein, beim klicken geht neues Fenster auf
<image> erläuternes Bild, wird als Briefamrke im Pop-up gezeigt, beim klicken geht neues Fenster auf
<icon> Bitmap-Bild für alternativen Marker, die Datei kann lokal oder im Netz sein
Layer bei Aufruf der Karte aktiv / inaktiv
Durch das hinzufügen von lgpx.setVisibility(true) im jeweiligen Layer-Abschnitt ist dieser beim Start aktiviert, lgpx.setVisibility(false) deaktiviert den Layer beim Start
Beispiel:
// Add the Layer with GPX boundary
var lgpx = new OpenLayers.Layer.GPX("Gemeinde-Grenze","Gem-Finnentrop.gpx","black",false); // !! line color
map.addLayer(lgpx)
lgpx.setVisibility(true);
Mitarbeit
Dieses Projekt geht auf einen Forumsbeitrag von AB-Finnentrop zurück.
Er erstellte auch die erste Version der Skripte und GPX Dateien und gab wertvolle Hinweise beim Test und der Dokumentation.
Cookies und OpenLayer
Es besteht oft der Wunsch, nach Verlassen einer Karte (z.B. zu einem Link) nach der Rückkehr
wieder an die gleiche Stelle der Karte zu gelangen.
Dies gelingt innerhalb einer FF Session mit den in http://hwri.funpic.de/OSM_circle/RW-BB_cookie.htm
eingefügten java Befehlen. Hierzu nach "cookie" suchen.
Projektidee: OpenLayer basiertes Reisetagebuch/Präsention
Die Darstellung von Informationen in/auf einer Karte liefert die direkten geographischen Relationen.
Nachdem ich bisher bei Reisetagebüchern nur mal ein paar Karten mit Tracks in den Text und die Bilder eingebettet hatte, kam mir durch die Beschäftigung mit OpenLayer die Idee, es gerade anders herum zu machen:
Auf einer OSM Karte, alternativ auch eine Satelittenbild, wird die Reiseroute als tracks dargestellt,
die Farbe kann als Kennzeiche für das Transportmittel, Auto, Schiff, Fuß, Rad, etc. dienen.
Über verschiedene Marker werden POIs gekennzeichnet, beim Anklicken werden dann neue Fenster
mit weiteren Infos (Bilder, links) geöffnet.
Weiterhein sollen georeferenzierte Fotos ähnlich G-E als kleine Symbole angezeigt werden, die beim
Anklicken dann bildschirmgroß werden.
Hat jemand schon mal so ein System gemacht oder kennt eine Quelle?
Für sachdienliche Hinweise gibt es keine Belohnung, nur eine lobende Erwähnung im Forum.
Wenn ich das angehe, kann ich sicher auch Unterstützung brauchen, in erster Linie:
- Ideenlieferanten
- Tester und Kritiker
- ....
Rettungshubschrauber
nodes:emergency_service=airedit
nodes:aeroway=helipadedit
way:aeroway=helipadedit