... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Eigene Karten einbinden u.a. auch für Offline-Betrieb
#1
Hallo,

mit div. Tools kann man basierend auf den Datem vom OpenStreetMap-Projekt Kacheln erzeugen, die dann im Filesystem/Webserver im Format uri::/Zoom/x/y.[jpg|png) vorliegen.

Mittels OpenLayers kann man seine eigene Karten in die eigene Webseite einbinden.

Ich benutze dieses häufig in Gegenden, wo es kein Internet gibt. D.h. die Kacheln liegen lokal auf meiner Festplatte und ich habe dann noch einen lokalen Webserver (hier geht auch einfach nur eine HTML-Datei ohne Server).

Besteht die Möglichkeit, z.B. über die Einstellungen eigene WMS-Kacheln einzubinden? (WMS heisst das Plugin in einem Tool).

z.B. Name der Karte und dann der Pfad:
Quote:http://myserver/tiles/own_osm/{zoom}/{x}/{y}.jpg
oder
Quote:file:///D:/Webserver/tiles/own_osm/{zoom}/{x}/{y}.jpg


Grüße
Coach
Reply
#2
Hallo Coach,

das bringt mich auf eine Reihe von Ideen. Bislang wurde nur pauschal nach Offline-Karten gefragt und da stehen die Lizenzbedingungen von Google dagegen.

RouteConverter verläßt sich im Moment intensiv auf die Google Maps API. Es gab einen Nutzer, der die Migration auf OpenStreetMap/OpenRouting versuchen wollte, doch das ist eingeschlafen. Was blieb ist, daß ich die Schnittstelle von RouteConverter in Java zum Webbrowser mit der HTML-Seite und JavaScript klarer gemacht habe: in Java ist kein Google Maps spezifischer Code mehr.

Angenommen, das Initialisieren der Karte wäre auch offline möglich, dann stellt sich weitere Fragen:
  • Wo kommen die Kacheln her?
  • Lädt der Nutzer oder RouteConverter sie herunter?
  • Speichert RouteConverter einfach alle Kacheln zwischen, die von Projekten wie OpenStreetMap stammen, wo diese Zwischenspeichern erlaubt ist?
  • Wie lange speichert man die Kacheldaten zwischen?
  • Funktioniert das Malen von Routen/Tracks/Wegpunktlisten auch offline?
  • Kann man offline auf den Zugriff auf Höheninformationen/Geocoding/Routenkatalog usw. verzichten?
  • Also: bleibt noch genug Wert über?
  • Oder ist das halb so wild, weil man ein bißchen Webtraffic akzeptieren kann, nur nicht die riesigen Kartenmengen der Kacheln?

(25.07.2012, 20:43)coach Wrote: mit div. Tools kann man basierend auf den Datem vom OpenStreetMap-Projekt Kacheln erzeugen, die dann im Filesystem/Webserver im Format uri::/Zoom/x/y.[jpg|png) vorliegen.

Wie heißen empfehlenswerte Tools?

(25.07.2012, 20:43)coach Wrote: Besteht die Möglichkeit, z.B. über die Einstellungen eigene WMS-Kacheln einzubinden? (WMS heisst das Plugin in einem Tool).

Was Du WMS-Kacheln nennst, deckt sich mit den Konstrukten in der Google Maps API. So wird z.B. die Mapnik-Karte eingebunden:

Code:
map.mapTypes.set(MAPNIK_MAPTYPE_ID, new google.maps.ImageMapType({
               getTileUrl: function(coordinates, zoom) {
                   return "http://" + getOpenStreetMapServerIndex() + ".tile.openstreetmap.org/" + zoom + "/" + coordinates.x + "/" + coordinates.y + ".png";
               },
               tileSize: DEFAULT_TILE_SIZE,
               maxZoom: 18,
               alt: "Mapnik rendering of OpenStreetMap data",
               name: MAPNIK_MAPTYPE_ID
           }));

(25.07.2012, 20:43)coach Wrote: z.B. Name der Karte und dann der Pfad:
Quote:http://myserver/tiles/own_osm/{zoom}/{x}/{y}.jpg
oder
Quote:file:///D:/Webserver/tiles/own_osm/{zoom}/{x}/{y}.jpg

Da sehe ich kein Problem. Entweder verwendet man eine file-URL ins Dateisystem oder man kann den von RouteConverter eh geöffneten Socket für die Kommunikationsrichtung vom Webbrowser zum Java-Prozeß entsprechend erweitern.
--
Christian
Reply
#3
(26.07.2012, 10:47)routeconverter Wrote: RouteConverter verläßt sich im Moment intensiv auf die Google Maps API. Es gab einen Nutzer, der die Migration auf OpenStreetMap/OpenRouting versuchen wollte, doch das ist eingeschlafen. Was blieb ist, daß ich die Schnittstelle von RouteConverter in Java zum Webbrowser mit der HTML-Seite und JavaScript klarer gemacht habe: in Java ist kein Google Maps spezifischer Code mehr.

Das ist doch schon einmal viel Wert. Dachte ich mir übrigens auch schon.

(26.07.2012, 10:47)routeconverter Wrote: [*]Wo kommen die Kacheln her?
[*]Lädt der Nutzer oder RouteConverter sie herunter?

Im einfachsten Fall generiert der Nutzer selber die Kacheln (tiles) oder er lädt die Daten selber herunter.

Das Generieren ist in der Tat erst einmal nicht ohne (guck dir die Links lieber nicht an): Mapnik, Mapserver ...

Ich hatte mal eine Seite gefunden, auf der offiziell Kacheln runtergeladen werden konnten. Der Zoom war nicht so hoch.

Opera, rechte Maustauste, Element untersuchen ... Klick

Oder das hier ist auch interessant - xyz2virtualearth.

(26.07.2012, 10:47)routeconverter Wrote: [*]Speichert RouteConverter einfach alle Kacheln zwischen, die von Projekten wie OpenStreetMap stammen, wo diese Zwischenspeichern erlaubt ist?
[*]Wie lange speichert man die Kacheldaten zwischen?

Das würde ich wohl nicht machen, weil der Nutzer ja alle Zoom-Stufen abfahren müßte, damit die Kacheln alle zwischengespeichert werden. Und dann noch bei neuen Kacheln .. zu viel Arbeit. Ich hatte vor langer Zeit mal Tools gefunden, deren Namen ich jetzt echt wirklich nicht mehr weiß, die Kacheln von div. Anbietern runtergeladen haben.

(26.07.2012, 10:47)routeconverter Wrote: [*]Funktioniert das Malen von Routen/Tracks/Wegpunktlisten auch offline?

Also bei mir schon. Ich habe OpenLayer, Kacheln auf dem lokalen Webserver (auf der Festplatte also) und male dann mit OpenLayer einfach eine Route. Such hier z.B. einmal nach Track.

Wenn du aber die Google Maps API benutzt, könnte / wird es sicher sein, dass die Library noch weitere Scripte o.ä. nachlädt. Dein Script unten sieht aber noch OpenLayer aus?

(26.07.2012, 10:47)routeconverter Wrote: [*]Kann man offline auf den Zugriff auf Höheninformationen/Geocoding/Routenkatalog usw. verzichten?

In meinem Fall schon, ich kann mir offline die Routen anschauen.

(26.07.2012, 10:47)routeconverter Wrote: [*]Also: bleibt noch genug Wert über?

Online hat man sogar den Mehrwert, eigenes Kartenmaterial einzusetzen.
Wie im Ursprungsposting geschrieben, würde ich halt die Definition eines eigenen Kartensatzes gut finden. Du kannst mir ja mal das HTML per PM schicken, welches du im "Browser" einbindest. Wobei - wie ich unten sehe - das nicht notwendig ist.

(26.07.2012, 10:47)routeconverter Wrote: [*]Oder ist das halb so wild, weil man ein bißchen Webtraffic akzeptieren kann, nur nicht die riesigen Kartenmengen der Kacheln?

Wenn du in den Einstellungen das Einbinden einer eigenen Karte zulassen würdest (Name, Pfad mit Platzhalter) würde ich mir dann z.B. ein "OpenStreetMap lokal" anlegen und kann dann selber entscheiden welche Daten ich nehme.

(26.07.2012, 10:47)routeconverter Wrote:
(25.07.2012, 20:43)coach Wrote: mit div. Tools kann man basierend auf den Datem vom OpenStreetMap-Projekt Kacheln erzeugen, die dann im Filesystem/Webserver im Format uri::/Zoom/x/y.[jpg|png) vorliegen.

Wie heißen empfehlenswerte Tools?

Siehe oben!

(26.07.2012, 10:47)routeconverter Wrote:
(25.07.2012, 20:43)coach Wrote: Besteht die Möglichkeit, z.B. über die Einstellungen eigene WMS-Kacheln einzubinden? (WMS heisst das Plugin in einem Tool).

Was Du WMS-Kacheln nennst, deckt sich mit den Konstrukten in der Google Maps API. So wird z.B. die Mapnik-Karte eingebunden:

Code:
map.mapTypes.set(MAPNIK_MAPTYPE_ID, new google.maps.ImageMapType({
               getTileUrl: function(coordinates, zoom) {
                   return "http://" + getOpenStreetMapServerIndex() + ".tile.openstreetmap.org/" + zoom + "/" + coordinates.x + "/" + coordinates.y + ".png";
               },
               tileSize: DEFAULT_TILE_SIZE,
               maxZoom: 18,
               alt: "Mapnik rendering of OpenStreetMap data",
               name: MAPNIK_MAPTYPE_ID
           }));

(25.07.2012, 20:43)coach Wrote: z.B. Name der Karte und dann der Pfad:
Quote:http://myserver/tiles/own_osm/{zoom}/{x}/{y}.jpg
oder
Quote:file:///D:/Webserver/tiles/own_osm/{zoom}/{x}/{y}.jpg

Da sehe ich kein Problem. Entweder verwendet man eine file-URL ins Dateisystem oder man kann den von RouteConverter eh geöffneten Socket für die Kommunikationsrichtung vom Webbrowser zum Java-Prozeß entsprechend erweitern.

Das wäre klasse.

Also ich hatte ihr nicht wegen eines Wechsels von Online- zu Offline-Karten gefragt, sondern wollte Online- und Offline-Karten haben.

In den Einstellungen könntest du ggf. anbieten:
* Default Karten, die maximal noch an- und abschaltbar sind
* Zusätzliche Karten, die über Namen und Pfad definiert werden


Grüße
Coach
Reply
#4
Hallo Christian,

die Offline-Anzeige hätte definitiv ihren Reiz - auch wenn nur ein kleiner Teil der Funktionen gehen würde.
Im Moment habe ich noch parallel Viking auf dem Notebook, damit ich mir die geloggten Routen direkt ohne Internet anschauen kann.

(26.07.2012, 10:47)routeconverter Wrote: [*]Funktioniert das Malen von Routen/Tracks/Wegpunktlisten auch offline?

Bei den Routen hätte ich so meine Zweifel, dass das funktionieren wird. Irgendeiner muss die Strassen usw. ja kennen.
Wenn es jedoch gehen würde, dass dann einfach die Punkte mit einer geraden Linie verbunden würden, so wäre das bei Tracks für mich echt super.

Gruß
Thomas
Reply
#5
Noch ein kleiner Nachtrag.

Zum Testen die OpenSeeMaps.

Und hier findet man einzelne Kacheln.

Coach
Reply
#6
(26.07.2012, 12:10)coach Wrote:
(26.07.2012, 10:47)routeconverter Wrote: [..] in Java ist kein Google Maps spezifischer Code mehr.

Das ist doch schon einmal viel Wert. Dachte ich mir übrigens auch schon.

Du überschätzt mich: es gibt doch noch Reste fürs Routing, aber dort wollte ich auf das Feedback warten, das dann nicht kam.

(26.07.2012, 12:10)coach Wrote: Im einfachsten Fall generiert der Nutzer selber die Kacheln (tiles) oder er lädt die Daten selber herunter.

Das Generieren ist in der Tat erst einmal nicht ohne (guck dir die Links lieber nicht an): Mapnik, Mapserver ...

Selbst generieren ist eine Hürde, die die allermeisten RouteConverter-Nutzer nicht nehmen könnten.

Automatisiertes Abrufen wäre nicht das Problem, doch die meisten Server-Betreiber möchten das nicht, da sie nicht alle Kacheln für alle Zoom-Stufen vorhalten.

(26.07.2012, 12:10)coach Wrote: Ich hatte mal eine Seite gefunden, auf der offiziell Kacheln runtergeladen werden konnten. Der Zoom war nicht so hoch.

Ich habe auf die Schnelle keine ergooglen können.

(26.07.2012, 12:10)coach Wrote: Opera, rechte Maustauste, Element untersuchen ... Klick

Das ist doch sehr aufwändig.

(26.07.2012, 12:10)coach Wrote: Das würde ich wohl nicht machen, weil der Nutzer ja alle Zoom-Stufen abfahren müßte, damit die Kacheln alle zwischengespeichert werden. Und dann noch bei neuen Kacheln .. zu viel Arbeit. Ich hatte vor langer Zeit mal Tools gefunden, deren Namen ich jetzt echt wirklich nicht mehr weiß, die Kacheln von div. Anbietern runtergeladen haben.

Wäre toll, wenn Du Dich erinnerst.

(26.07.2012, 12:10)coach Wrote: Wenn du aber die Google Maps API benutzt, könnte / wird es sicher sein, dass die Library noch weitere Scripte o.ä. nachlädt. Dein Script unten sieht aber noch OpenLayer aus?

Es ist für die Google Maps API, die ist ziemlich gut und hat die OpenLayer-Macher bestimmt inspiriert.

(26.07.2012, 12:10)coach Wrote: Wenn du in den Einstellungen das Einbinden einer eigenen Karte zulassen würdest (Name, Pfad mit Platzhalter) würde ich mir dann z.B. ein "OpenStreetMap lokal" anlegen und kann dann selber entscheiden welche Daten ich nehme.

Ich muß da nichts zulassen: Du könntest den Sourcecode clonen und das kurzerhand selbst einbauen.

(26.07.2012, 12:10)coach Wrote: Also ich hatte ihr nicht wegen eines Wechsels von Online- zu Offline-Karten gefragt, sondern wollte Online- und Offline-Karten haben.

In den Einstellungen könntest du ggf. anbieten:
* Default Karten, die maximal noch an- und abschaltbar sind
* Zusätzliche Karten, die über Namen und Pfad definiert werden

Das ist ein bißchen schwierig. Schau Dir mal die routeconverter.html an und wie dort Karten definiert werden. Oder guck in diesen Thread.
--
Christian
Reply
#7
(26.07.2012, 12:43)routeconverter Wrote: Selbst generieren ist eine Hürde, die die allermeisten RouteConverter-Nutzer nicht nehmen könnten.

Das denke ich mir auch. Und am Ende hat man zwar die Kacheln offline, aber durch die Google Maps API muss man ja schon wieder online sein.

(26.07.2012, 12:43)routeconverter Wrote:
(26.07.2012, 12:10)coach Wrote: Wenn du in den Einstellungen das Einbinden einer eigenen Karte zulassen würdest (Name, Pfad mit Platzhalter) würde ich mir dann z.B. ein "OpenStreetMap lokal" anlegen und kann dann selber entscheiden welche Daten ich nehme.

Ich muß da nichts zulassen: Du könntest den Sourcecode clonen und das kurzerhand selbst einbauen.

Okay. Jetzt steig ich aus ;-)

(26.07.2012, 12:43)routeconverter Wrote:
(26.07.2012, 12:10)coach Wrote: Also ich hatte ihr nicht wegen eines Wechsels von Online- zu Offline-Karten gefragt, sondern wollte Online- und Offline-Karten haben.

In den Einstellungen könntest du ggf. anbieten:
* Default Karten, die maximal noch an- und abschaltbar sind
* Zusätzliche Karten, die über Namen und Pfad definiert werden

Das ist ein bißchen schwierig. Schau Dir mal die routeconverter.html an und wie dort Karten definiert werden. Oder guck in diesen Thread.

Ich finde die routeconverter.html nicht. Wenn ich RC.exe versuche zu entzippen oder selbst bei GitHub schaue ... nichts.

Nur das Anpassen der routeconverter.html könnte ich mir noch vorstellen, aber RC selber bauen ...

Egal .. hätte ja sein können. Muss ich mir ggf. ein PHP-Skript programmieren, das meine NMEA Daten parst und diese dann in OpenLayer anzeigen ... Wenn Zeit ist :-)

Danke für die schnellen Antworten
Coach
Reply
#8
(26.07.2012, 15:52)coach Wrote:
(26.07.2012, 12:43)routeconverter Wrote:
(26.07.2012, 12:10)coach Wrote: Wenn du in den Einstellungen das Einbinden einer eigenen Karte zulassen würdest (Name, Pfad mit Platzhalter) würde ich mir dann z.B. ein "OpenStreetMap lokal" anlegen und kann dann selber entscheiden welche Daten ich nehme.

Ich muß da nichts zulassen: Du könntest den Sourcecode clonen und das kurzerhand selbst einbauen.

Okay. Jetzt steig ich aus ;-)

Wie? Du traust Dich eigene Kartenkacheln zu generieren aber ein bißchen git clone/mvn install schreckt Dich ab? Ist detailliert in der README.txt erklärt.

(26.07.2012, 15:52)coach Wrote: Ich finde die routeconverter.html nicht. Wenn ich RC.exe versuche zu entzippen oder selbst bei GitHub schaue ... nichts.

Nur das Anpassen der routeconverter.html könnte ich mir noch vorstellen, aber RC selber bauen ...

Mein Problem dabei ist, daß das Hinzufügen weiterer Karten eine ganze Menge Parameter erfordert.
Wenn ich dafür eine Konfiguration baue, muß ich eine eigene Konfigurationssprache in XML erfinden - oder nutze gleich JavaScript.
--
Christian
Reply
#9
(26.07.2012, 16:21)routeconverter Wrote: Wie? Du traust Dich eigene Kartenkacheln zu generieren aber ein bißchen git clone/mvn install schreckt Dich ab? Ist detailliert in der README.txt erklärt.

Ja, jeider. Beim Kacheln generieren gab es etwas Support beim OSM-Stammtisch. Aber größtes Manko ist ganz klar die Zeit.

Wie schön wäre auch für viele anderen Pojekte ein fertiges Virtuelles Images für VirtualPC o.ä. mit OS und dann der komplett installierten Entwicklungsumgebung :-)

(26.07.2012, 16:21)routeconverter Wrote: Mein Problem dabei ist, daß das Hinzufügen weiterer Karten eine ganze Menge Parameter erfordert.
Wenn ich dafür eine Konfiguration baue, muß ich eine eigene Konfigurationssprache in XML erfinden - oder nutze gleich JavaScript.

Schade, aber das kann man ja halt von außen nicht einschätzen.

Momentan habe ich schon ein System (Synology-Diskstation = NAS) mit integriertem Webserver, MySQL und PHP (alles Default). Hier läuft mein eigenes CoachMap ;-) Für mich läuft das, aber ich wollte halt RC meinen Offline-Kumpels geben, damit sie die Tracks mit den Tiefen (mein anderes Post) offline anschauen können und mir dann mailen.

Coach
Reply
#10
(26.07.2012, 12:43)routeconverter Wrote:
(26.07.2012, 12:10)coach Wrote: Im einfachsten Fall generiert der Nutzer selber die Kacheln (tiles) oder er lädt die Daten selber herunter.

Das Generieren ist in der Tat erst einmal nicht ohne (guck dir die Links lieber nicht an): Mapnik, Mapserver ...

Selbst generieren ist eine Hürde, die die allermeisten RouteConverter-Nutzer nicht nehmen könnten.

Ich generiere mir meine Karten mit maperitive, damit kann man eigene Kacheln für beliebige Zoomstufen erstellen. Das Kartendesign kann man nach eigenen Wünschen anpassen.

Allerdings ist es etwas aufwendiger, wenn man erst aus einer großen Datei mit osmosis einen Ausschnitt ausschneiden muss. Ich muss aber zugeben, dass man sich in das Programm schon etwas einlesen muss.

(26.07.2012, 12:10)coach Wrote: Ich hatte vor langer Zeit mal Tools gefunden, deren Namen ich jetzt echt wirklich nicht mehr weiß, die Kacheln von div. Anbietern runtergeladen haben.

Ich habe dazu bisher immer den Mobile Atlas Creator verwendet. Allerdings wird das Programm vom OSM-Server nicht in allen Zoomstufen bedient, dafür kann die Software die mit maperitive erzeugten Kartenkacheln verwenden.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)