2013-10-22 10 views
5

Ho provato a preparare OSM (* .osm.pbf) - i dati di tutta l'Italia per utilizzarlo offline per un'app per iPhone. Ho bisogno di livelli di zoom da 7 a 16 perché ci sono molti POI in tutto il paese.Mappa offline di iOS per l'intero paese (OSM)

This era il mio punto di partenza. Il problema con questa soluzione è l'enorme dimensione del file del database.

Esiste una soluzione open source per l'utilizzo di mappe offline basate su vettori per iOS 6/7? Oppure, è possibile ridurre al minimo la dimensione del file del database?

risposta

3

La dimensione del database dipende in gran parte dalle informazioni che si desidera memorizzare. OSM ha davvero un sacco di diversi features di cui avrete bisogno solo di un piccolo sottoinsieme. Se hai solo bisogno di POI, puoi filtrare tutte le autostrade, i terreni, i laghi e i fiumi, le linee elettriche e magari costruire i contorni. Questo può essere fatto facendo cadere tutto elements con il corrispondente tags e di conseguenza il database risultante sarà molto più piccolo. osmfilter potrebbe essere di aiuto.

C'è una lunga lista di OSM-based applications for iOS di cui alcuni sono open source. E c'è una pagina wiki su vector tiles. Tuttavia, tieni presente che lo tiles di solito rappresenta solo una mappa visiva senza contenere informazioni sui PDI o altre funzionalità.

+0

Grazie per le informazioni e link. Sono nuovo sull'argomento delle mappe, specialmente le mappe offline. Ho capito che il soggetto è profondo e difficile da trovare un punto di partenza. Lasciare alcune funzionalità non sembra la soluzione giusta per me. La dimensione del file era ancora troppo grande. Potresti darmi un altro punto di partenza? (forse basato su vettori) Sarebbe possibile implementare il routing offline per le future estensioni? –

+1

Potrebbe essere preferibile utilizzare una lista bianca per i tag invece di eliminare quelli specifici (tramite una lista nera), ma ciò richiede uno sforzo. In ogni caso, devi fare qualche lettura nel wiki per avere un'idea di quali tag ti serviranno e quali no, a seconda dei casi d'uso. E ovviamente puoi utilizzarlo in seguito per il routing offline, a seconda dei tag che mantieni e dei tag che trascini. A parte questo, non sono sicuro di cosa stia esattamente cercando di chiedermi. – scai

6

Ho svolto ricerche approfondite su questo argomento, perché il mio progetto attuale richiede funzionalità di mappatura offline.

Ti risparmierò un sacco di tempo indicandoti alcuni degli strumenti open source disponibili & progetti che ho trovato.

OpenStreetPad - https://github.com/beelsebob/OpenStreetPad/

Questo progetto non è più mantenuto. Tuttavia, legge direttamente dai file osm.pbf e rende correttamente le mappe. Dovrai gestire la dimensione della regione che vuoi mappare, perché questa implementazione sembra bloccarsi e alla fine si blocca se provi a caricarvi un intero paese. Ho usato un file osm.pbf 25mb per un sottoinsieme della regione di Los Angeles e ha funzionato alla grande. Penso che il motore di rendering abbia bisogno di ottimizzazione.

Mapsforge porting su iOS - https://github.com/medvedNick/Mapsforge_iOS

Questo è più veloce e sembra fare un lavoro migliore rendere i dati vettoriali.

libosmscout - http://wiki.openstreetmap.org/wiki/Libosmscout

Questo è un open-source libreria C++ per il rendering offline e il routing con mappe vettoriali. È mantenuto attivamente (vedi la loro mailing list). Ho avuto difficoltà a compilarlo su Mac OSX ma forse avresti miglior fortuna. Sembra essere una libreria molto capace, potente e portatile. L'hanno fatto girare su Fedora, Moblin, Ubuntu, Debian, Windows, Qt e Mac OSX/iOS.

Buona fortuna. Se raggiungi un qualche tipo di innovazione utilizzando questi strumenti, torna indietro e condividi i risultati. Sto lavorando alle stesse cose e potrei usare i puntatori da solo.

1

Questa domanda è un po 'vecchia, ma risulta nelle ricerche di mappe vettoriali OSM.

Il toolkit WhirlyGlobe-Maply può visualizzare mappe vettoriali basate su dati OSM (e altri). È open source, basato su OpenGL ES e molto veloce. La versione corrente è per iOS con una porta Android in fase di sviluppo.

C'è anche una catena di strumenti per aiutare a produrre mappe vettoriali da dati OSM. Leggi here per i dettagli.

Problemi correlati