Offline Map fürs Handy - Ideen gesucht

Hallo liebe Mapper

Wer am Handy eine Karte benutzt hat vielleicht schon bemerkt, dass diese nicht funktioniert wenn man im Funkloch sitzt.
Ideal wäre natürlich wenn man die komplette OSM Datenbank am Handy hätte, aber das wird wohl so bald nicht gehen.

Solange die Handys noch beschränkt sind, wäre aber ein Zwischenschritt möglich.
Für einen Slippymap sollten zumindest ein paar Tiles am Handy gespeichert werden.
Am besten natürlich die Tiles die man braucht.

Google Maps verwendet einen recht großen Cache (ca. 1 GByte). Ich hab das im Burma verwendet und hab es sehr brauchbar
gefunden. Dazu habe ich daheim die Stecke am iPhone angeschaut und in Burma waren die Cache Daten dann brauchbarer als
jede Landkarte die ich gefunden hab.

Den Cache zu laden war aber sehr langweilig und zudem haben doch immer wieder Daten gefehlt.
Diesen Prozess würde ich jetzt gerne automatisieren.

Alle Tiles eines Landes zu landen geht natürlich nicht. Die Datenmenge ist zu groß.
Folgende Ideen hätte ich aber:

o einzelne Städte/Dörfer laden
o Wenn das Routing funktioniert, die berechnete Strecke virtuell abfahren und dadurch perloaden
o Laden abhängig von der Bebauungsdichte. Die Autobahn brauch ich ja nicht mit zoomlevel 18

Wenn man die Tileserver von osm.org verwendet, dann wird man recht schnell gesperrt wenn man
zu viel preloadet. Wenn ich einen eigenen Tileserver anbiete, dann wird der das wohl auch nicht so
ohne weiteres funktionieren. Es soll also nur wirklich das nötigste geladen werden.

Wer hat Ideen zu dem Thema?

lg Bernhard

PS:

So eine Map hab ich jetzt auch programmiert fürs Iphone:
http://www.khtml.org/test/offlinemap/ (+ “Zum Home-Bildschirm”)
Die Karte funktioniert nur am iPhone. Am Firefox, Chrome, Android,… geht es NICHT.
Am Safari funktioniert es ein bisschen - bringt aber sicher keinen Geschwindigkeitsvorteil.

Am iPhone werden max. 50MByte gespeichert. Alte Daten fallen wieder raus.
Das ganze soll eine native app werden und dann geht es auch mit 1GByte.
Zum testen des offline modes in den “flugmodus” schalten.

http://wiki.openstreetmap.org/wiki/Software/Mobile_phones#Map_display_features unter der Spalte “Stores map data on board” schauen.

Es gibt viele (verschiedene) Loesungen OSM daten Offline auf den meisten gaengigen Handy Plattformen zu nutzen. Manche speichern Tiles, andere renderen vector daten und und enthalten gleich noch offline turn-by-turn navigation.

Wenn es nicht die Slippy Map sein muß kannst du dir mal GpsMid anschauen. Damit hast du eine Karte offline am Handy und kannst auch navigieren, Strecken aufzeichen, und ein klein wenig OSM-Daten online editieren.

Jap für embedded devices gibt es ein Binärformat
http://wiki.openstreetmap.org/wiki/OSM_Mobile_Binary_Protocol

Soweit ich das sehe ist dieses Binärformat eigentlich nur eine bessere Komprimierung der Daten die sonst per XML übertragen werden.
Um darauf zugreifen können braucht man doch erst wieder eine Datenbank.

Wenn ich z.B. ganz Europa mit diesem Binärformat am Handy speichern könnte, dann wäre es
trotzdem nicht möglich auf Daten zuzugreifen die sich an bestimmten Koordinaten befinden.

Oder gibt es für dieses Binärformat ein Interface ähnlich wie SQL?

Nein wie du sagst ist es nur ein eingedampftes Austauschformat. Für die Sachen die du machen willst, brauchst du optimierte Datenstrukturen, schau mal unter Spatial Indexies
http://en.wikipedia.org/wiki/Spatial_index