2011-01-03 7 views
1

私はモバイルマッピングアプリケーション(現時点では、最終的にはAndroid)に取り組んでいます。オンラインサービスを使用せずに、緯度/経度から国/国に逆ジオコーディングを最適にサポートする方法に苦労しています。モバイルデバイスでのオフライン逆ジオコーディングの手法

Appleの逆ジオコーディングAPIは、Googleにバックエンドとして依存しており、接続している間はうまく動作します。私はOpen Street Mapsプロジェクトや他の多くのWebサービスを使って同様の機能を実現することができました。

私が本当に望むのは、アプリケーション内からオフラインでGPS座標を渡して、それらの座標で国や州を返すときでも呼び出すことができるCライブラリを作成することです。私は州レベルより細分化する必要はないので、データセットは巨大ではありません。

サーバーでこれを行う方法の例を見てきましたが、モバイルデバイスにはまったく適したものはありませんでした。

私はSpatialiteが解決策になるかもしれないと聞いたことがありますが、私はそれをiOSで動かす方法がわかりませんし、問題が残っているかどうか疑問です。

これを達成するために推奨される方法を教えてください。

+1

[Webアクセスを使用しない逆ジオコーディング](http://stackoverflow.com/questions/1425149/reverse-geocoding-without-web-access)の複製が可能です。 –

答えて

4

Radven

あなたはすべての管理エンティティ(米国の州、国など)のシェープファイル(緯度/経度のアウトライン)を取得する必要があります。これらのパブリックドメインのソースはたくさんあります。あなたはシェープファイルを持ったら、緯度/経度の形状内にあるかどうかをテストするためにシェープファイルリーダーを使用することができます

http://www.nws.noaa.gov/geodata/catalog/national/html/us_state.htm

:たとえば、NOAAは、あなたがダウンロードすることができ、米国の州と準州のためのシェープファイルを持っています。 Cにはオープンソースの読者がいますが、Googleだけです。私はシェープファイルのためにsourceforgeのものを見たが、これらを自分で使っていない。

OpenGeoCode.Org

0

でチームあなたは四分木に基づいたアプローチを探しているなら、Yggdrasilを試してみてください。カントリーポリゴンデータに基づいてクアッドツリーを生成します。 Rubyのサンプルスクリプトはhereです。

関連する問題