2013-10-22 5 views
5

Ich habe versucht, die OSM (* .osm.pbf) - Daten von ganz Italien für die Verwendung offline für eine iPhone-App vorzubereiten. Ich brauche Zoomstufen von 7 bis 16, da es im ganzen Land viele POIs gibt.iOS Offline-Karte für das ganze Land (OSM)

This war mein Ausgangspunkt. Das Problem mit dieser Lösung ist die große Dateigröße der Datenbank.

Gibt es eine Open-Source-Lösung für vektorbasierte Offline-Kartennutzung für iOS 6/7? Oder ist es möglich, die Größe der Datenbankdatei zu minimieren?

Antwort

3

Die Größe der Datenbank hängt stark davon ab, welche Informationen Sie speichern möchten. OSM hat wirklich viele verschiedene features, von denen Sie nur eine kleine Teilmenge benötigen. Wenn Sie nur POIs benötigen, können Sie alle Autobahnen, Landnutzungen, Seen und Flüsse, Stromleitungen und vielleicht Gebäudeumrisse herausfiltern. Dies kann erreicht werden, indem alle elements mit den entsprechenden tags gelöscht werden und als Konsequenz wird die resultierende Datenbank viel kleiner sein. osmfilter könnte hilfreich sein.

Es gibt eine lange Liste von OSM-based applications for iOS, von denen einige Open Source sind. Und es gibt eine Wiki-Seite über vector tiles. Denken Sie jedoch daran, dass tiles normalerweise nur eine visuelle Karte darstellen, ohne Informationen über POIs oder andere Funktionen zu enthalten.

+0

Vielen Dank für die Informationen und Links. Ich bin neu mit dem Thema Karten besonders offline Karten. Ich habe herausgefunden, dass das Thema tief und schwierig ist, einen Ausgangspunkt zu finden. Einige Funktionen aufzugeben scheint mir nicht die richtige Lösung zu sein. Die Dateigröße war immer noch zu groß. Könnten Sie mir noch einen weiteren Punkt geben? (möglicherweise vektorbasiert) Wäre es möglich, Offline-Routing für zukünftige Erweiterungen zu implementieren? –

+1

Es könnte besser sein, eine Whitelist für Tags zu verwenden, anstatt bestimmte zu löschen (über eine Blacklist), aber das erfordert etwas Aufwand. Wie auch immer, Sie müssen ein wenig im Wiki lesen, um eine Idee zu bekommen, welche Tags Sie benötigen und welche nicht, je nach Anwendungsfall. Natürlich können Sie dies später für das Offline-Routing verwenden, abhängig davon, welche Tags Sie behalten und welche Tags Sie löschen. Abgesehen davon bin ich mir nicht sicher, was du genau fragst. – scai

6

Ich habe umfangreiche Untersuchungen zu diesem Thema durchgeführt, weil mein aktuelles Projekt Offline-Mapping-Funktionen erfordert.

Ich werde Sie viel Zeit sparen, indem Sie auf einige der verfügbaren Open-Source-Tools & Projekte, die ich gefunden habe, zeigen.

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

Dieses Projekt wird nicht mehr gepflegt. Es liest jedoch direkt aus osm.pbf-Dateien und rendert die Karten erfolgreich. Sie müssen die Größe der Region verwalten, die Sie zuordnen möchten, da diese Implementierung zu hängen scheint und schließlich zum Absturz führt, wenn Sie versuchen, ein ganzes Land in diese Region zu laden. Ich habe eine 25mb osm.pbf-Datei für eine Teilmenge der LA-Region verwendet und es hat super funktioniert. Ich denke, dass die Rendering-Engine optimiert werden muss.

Mapsforge auf iOS portiert - https://github.com/medvedNick/Mapsforge_iOS

Dieser schneller und scheint einen besseren Job machen die Vektordaten zu tun.

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

Dies ist ein Open-Source-C++ Bibliothek für die Offline-Wiedergabe und Routing mit Vektorkarten. Es wird aktiv gepflegt (siehe Mailingliste). Ich hatte Probleme, es auf Mac OSX zu kompilieren, aber vielleicht hast du mehr Glück. Scheint eine sehr fähige, leistungsfähige und portable Bibliothek zu sein. Sie haben es auf Fedora, Moblin, Ubuntu, Debian, Windows, Qt und Mac OSX/iOS laufen lassen.

Viel Glück. Wenn Sie mit diesen Tools einen Durchbruch erzielen, kommen Sie bitte zurück und teilen Sie Ihre Ergebnisse. Ich arbeite an denselben Sachen und ich könnte selbst Zeiger benutzen.

1

Diese Frage ist ein wenig alt, aber es taucht bei der Suche nach OSM-Vektorkarten auf.

Das WhirlyGlobe-Maply Toolkit kann Vektorkarten basierend auf OSM (und anderen) Daten anzeigen. Es ist Open Source, basierend auf OpenGL ES und sehr schnell. Die aktuelle Version ist für iOS mit einem Android-Port in Entwicklung.

Es gibt auch eine Werkzeugkette, die hilft, Vektorkarten aus OSM-Daten zu erstellen. Lesen Sie here für Details.

Verwandte Themen