Fx99 spielwiese

From OpenStreetMap Wiki
Jump to: navigation, search

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

2. erstelle das OpenLayer basierte CIRC3.js so, dass

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

Circ result.jpg
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.

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);

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:

Durch neue Tags in der Markerdatei RW-BB.gpx ist jetzt Folgenes möglich:

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:

Alternativ mit JOSM, wenn Grenze als Relation vorliegt:

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:

Rettungshubschrauber

nodes:emergency_service=airedit
nodes:aeroway=helipadedit
way:aeroway=helipadedit

Personal tools
Namespaces
Variants
Actions
site
Toolbox