Ich versuche mich gerade daran eine OSM in ein Java Programm einzubinden.
Das Applet und die Einbindung der Map habe ich bereits, jedoch wird die Map online abgefragt.
Ich benötige jedoch eine Offline Variante. Hierfür habe ich mir schon den Kosmos Tile Map Server angesehen. Abgesehen davon das der Server bei mir bis jetzt noch nie gestartet ist, benötigt diese Lösung auch wieder ein Netzwerk mit Server und Client.
Ich benötige jedoch eine reine offline Variante. Die Aktualität der Karten spielt keine Rolle.
Nun meine Fragen an euch, ist es überhaupt möglich eine reine offline OSM mit JAVA einzubinden? Welche Tools oä benötige ich dafür?
von Java habe ich wenig Ahnung, aber Tiles offline zu nutzen ist eigentlich kein Problem.
Lösung 1:
Du ersetzt den Aufruf http:// durch file:///
also z.B. “file:///D:/Tiles/myMapnik/${z}/${x}/${y}.png” Für ein lokales Verzeichnis unter Windows auf Laufwerk D:
Zumindest mit Javascript funktioniert das.
Lösung 2:
Du installierst dir Apache, und setzt den Startpfad in der Datei httpd.conf (im Verzeichnis Apache/conf) entsprechend:
DocumentRoot “D:/Tiles”
Dann kanst du über http:/localhost/ auf die Tiles zugreifen.
Alle hier erwaehnten Moeglichkeiten sind aber reine Viewer fuer Rasterkacheln, d.h. man muss die auch erstmal irgendwo herbekommen. Da ein Bulk-Download vom OSM-Server unerwuenscht ist, muss man sich diese Tiles vorher selbst produzieren, und dazu eben wieder Mapnik, Maperitive o.ae. einsetzen. Die Alternative sind Vektor-Renderer, die die Karte aus den Rohdaten bei Bedarf “live” erst zeichnen. Da gibt es als freien Java-Code z.B. http://wiki.openstreetmap.org/wiki/Mapsforge, aber ich weiss nicht, ob sich das gut in nicht-Android-Applikationen einbauen laesst.
Das stimmt so nicht, auch bei mapsforge müssen die Daten (per osmosis-task) erstmals vor-gerendert werden,
welches auf dem PC geschieht.
die (xml-)Daten sofort und unverändert auf dem handy selbst zu verarbeiten (“live”) wird nicht gemacht.
Eine Möglichkeit zum direkten Rendering aus einer PostgreSQL/PostGIS Datenbank wäre noch GeoTools. Damit können Daten aus dem osm2pgsql Schema gelesen und “live” gerendert werden. Das Styling erfolgt per SLD (Styled Layer Descriptor), für das es einen Mapnik Konverter mapnik2geotools gibt - mit dem “Mapnik” osm.xml Stil hakt es allerdings noch ein bisschen.
Ein konkretes Beispiel für OSM habe ich nicht gefunden, bastle momentan aber selbst damit rum.