私が持っているPBFファイル国に関する以下の情報が含まれています。
それぞれ独自の経度、緯度、プロパティを持つノード。2Dスペースにポイントを格納するために使用されます。
それぞれのプロパティを持つ方法は、ノードを介して接続されます。道路、境界を保存するために使用されます。
このファイルの圧縮形式は80 MBですが、圧縮解除してDBに保存すると、592 MBになります。
ええ、それはベルギーだけの国のためのものです。フランス、ドイツ、イタリアを一緒に保管することを想像してください。
たとえば、アントワープからブリュッセルを通ってシャルルロワまでの単一の高速道路を見てみましょう。これは、高速道路のすべてのターンを格納するための大量のノードで構成されますが、これらすべてのターンが必要ですか?疑わしい。
私が何ができるようになりたいのか教えてみましょう:
さまざまなズームレベルで地図を表示したい。少なくとも大都市、小都市、街路レベル。
2点間のルーティング情報を取得できるようにしたい。
GPS位置に最も近い道路を計算できるようにしたい。
データベース内のインデックスを使用して、場所を検索します。
ただし、最も重要なのは、データベースがモバイルデバイスに保存されるため、データベースが大きくなりすぎないことです。
そこで、2つの手法の組み合わせについて考えました。
すべての個々のノードの保存/処理を回避するための、表示目的の画像タイル。
道路に関する情報とともに、ルート情報の道路の端点を保存します。
この問題は、この情報だけではGPS位置に最も近い道路を計算できないことです。高速道路の曲がりを想像すると、2つの端点だけで高速道路にいると判断できません。エンドポイント間で中間ノードを保存することを考えていましたが、生成には非常にコストがかかると思います。また、道路の端点(Tスプリットのようなもの)を決定することは、T字型スプリットの上部に中点を保存する必要があるかどうかを理解する必要があるため、それほど簡単なことではありません。
したがって、画像タイルを使用すると表示が簡単です。しかし、ルーティングとGPS位置検索を行う簡単な方法を見つけることができません。どのようなストレージテクニックを検討する必要がありますか?80 MB
ファイルがのデータベースに変わるのは少し不便592 MB
ですが、そのサイズをできるだけ小さくしたいと思います...
これをできるだけ効率的に行うにはどうすればよいですか?ディスクとCPUに関して。WP7をターゲットにしています...