2013-10-22 6 views
5

OSM(* .osm.pbf) - イタリア全体のデータをiPhoneアプリ用にオフラインで使用するために準備しようとしました。全国にたくさんのPOIがあるので、私は7から16のズームレベルが必要です。全国(OSM)のiOSオフラインマップ

Thisが私の出発点でした。このソリューションの問題は、データベースの膨大なファイルサイズです。

iOS 6/7のベクトルベースのオフラインマップの使用方法は、オープンソースのソリューションはありますか? または、データベースファイルのサイズを最小限に抑えることは可能ですか?

答えて

3

データベースのサイズは、保存する情報によって大きく異なります。 OSMは本当に多くの異なるfeaturesを持っていますが、あなたは小さなサブセットしか必要としません。 POIだけが必要な場合は、すべての高速道路、土地、湖と川、動力線、そしておそらくアウトラインを取り除くことができます。これは対応するtagsですべてelementsを削除することによって行うことができ、結果として得られるデータベースはずっと小さくなる。 osmfilterが役に立ちます。

OSM-based applications for iOSの長いリストがあり、そのうちのいくつかはオープンソースです。そして、vector tilesに関するwikiページがあります。しかし、tilesは、POIやその他の機能に関する情報を含まないビジュアルマップを表すだけであることに注意してください。

+0

情報とリンクをありがとうございます。私はマップ、特にオフラインマップのトピックを初めて熟知しています。私は主題が深く、出発点を見つけることが難しいと分かりました。いくつかの機能を落とすことは私にとって正しい解決策ではないようだ。ファイルサイズは依然として大きすぎました。あなたは私に別のポイントを教えてもらえますか? (おそらくベクトルベース)将来の拡張のためにオフラインルーティングを実装することは可能でしょうか? –

+1

ブラックリストを使用して特定のものを削除する代わりに、ホワイトリストをタグに使用する方が良いかもしれませんが、これには多少の労力が必要です。とにかく、あなたのユースケースに応じて、あなたが必要としているタグとしていないタグを知るために、wikiでいくつかの読書をしなければなりません。もちろん、後でオフラインルーティングに使用することもできます。保存するタグとドロップするタグによって異なります。それ以外では、あなたが私に尋ねようとしていることが分かりません。 – scai

6

現在のプロジェクトではオフラインマッピング機能が必要なので、私はこのトピックについて広範な研究を行ってきました。

私が見つけた利用可能なオープンソースツール&プロジェクトのいくつかを指摘することで、多くの時間を節約できます。

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

このプロジェクトは、もはや維持されます。ただし、osm.pbfファイルから直接読み取り、マップを正常にレンダリングします。この実装はハングしてしまい、最終的に国全体をロードしようとするとクラッシュするため、マップする領域のサイズを管理する必要があります。私はLA地域のサブセットに25MBのosm.pbfファイルを使用しました。私はレンダリングエンジンに最適化が必要だと思います。

Mapsforgeは、iOSに移植 - https://github.com/medvedNick/Mapsforge_iOS

をこの1つは高速で、ベクトルデータをレンダリングするより良い仕事をするようです。

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

これはベクトルマップとオフラインレンダリングとルーティングのためのオープンソースC++ライブラリです。それは積極的に維持されています(彼らのメーリングリストを参照)。私はMac OSX上でコンパイルするのが難しかったが、おそらくあなたはもっと良い運があるだろう。非常に有能で強力で移植性の高いライブラリであると思われます。 Fedora、Moblin、Ubuntu、Debian、Windows、Qt、そしてMac OSX/iOS上で動作しています。

幸運。これらのツールを使用して何らかのブレークスルーを達成した場合は、戻って結果を共有してください。私は同じものに取り組んでおり、私は自分でポインタを使うことができます。

1

この質問は少し古いですが、OSMベクトルマップの検索で表示されます。

WhirlyGlobe-Maplyツールキットは、OSM(およびその他の)データに基づいてベクターマップを表示できます。 OpenGL ESをベースとした非常に高速なオープンソースです。現在のバージョンは、開発中のAndroidポートを搭載したiOS向けです。

OSMデータからベクターマップを作成するためのツールチェーンもあります。詳細はhereをご参照ください。

関連する問題