Offline Map ohne Server?

Hallo,

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?

lg,

Hallo vrdone,

Willkommen im Forum :slight_smile:

http://sourceforge.net/apps/mediawiki/osm4j/index.php?title=Main_Page

Ist noch rel. neu, kannst ja mal gucken, ob Dir was bringt :wink:

Ciao,
Frank

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.

Gruß,
ajoessen

Vielen Dank für eure schnellen Antworten.

Ich werde es mir ansehen, auf die schnelle habe ich jetzt leider noch nichts brauchbares gefunden.

Jo dies zeigt mir jedoch nur die einzelnen Tiles an. Ich müsste diese irgendwie richtig zusammensetzten damit ich ein zoombares ganzes habe.

Die Lösung zwei würde mir nur die Verzeichnisse Umlegen, jedoch hätte ich das selbe Problem wie bei Lösung 1.

lg,

Du kannst auch mal hier schauen: http://wiki.openstreetmap.org/wiki/Develop/Frameworks

Dafür verwenden wir openlayers.
www.openlayers.org
Ist javascript und läuft unter HTML.
Vielleicht lässt sich das auch unter java nutzen.

Gruß,
ajoessen

Auch noch zu empfehlen:

http://wiki.openstreetmap.org/wiki/JMapViewer

Das ist der Java Viewer, der im Editor josm steckt. Source ist im svn zugänglich.

Gruß,
ajoessen

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.

Bye
Frederik

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.

Ciao,
Frank

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.

Hallo

schau dir mal Mapsforge an. http://code.google.com/p/mapsforge/

MfG
Achim