私はさまざまな場所のデータベース(Sqlite3)にさまざまな緯度と経度を格納しています。今私は現在の緯度と経度を持っています。どのように私は現在の位置から最も近い場所を知ることができますか? お勧めします。緯度/経度から周辺の場所を取得するにはどうすればよいですか?
答えて
逆ジオコーディングについてお話していると思います。そのために提供されているAppleクラス、MKReverseGeocoderがあります。また、here,hereなどのようなハウツーディスカッションもたくさんあります。
構文はおそらく変更する必要がありますが、this question that uses MySQLを見てください。基本的には、現在の点を中心にして矩形を作成したいと考えています。この新しいボックスの境界を使用して、SQLクエリを実行できます。
私はあえて@Kongressの答えはここで最高です - しかし、私は前に対処したコンセプト自体であるので、私はリングにこの1つをチャックするつもりです。
私は対称-cでビルドする方法を教えてくれませんが、私たちの緯度/経度逆引きルックアップでは、私たちのデータベースの緯度経度(> 250,000)からK-DTreeを作りました。デスクトップハードウェアでのナノ秒ルックアップ。あなたは本当に便利にするために、メモリ内のインスタンスをキャッシュすることが本当に必要であるが、iPhoneで、それはかなり高速である可能性が高い - メモリは心配かもしれない。それを構築するのに少し時間がかかります(私たちは約1.5秒で構築されます)。
単なるアイデアです。
リプレイをありがとう。私は次のクエリとして解決策を見つけたが、ACOS関数はsqlite3.elect Lat、Lon、acos(sin($ lat)* sin(radians(Lat))+ cos($ lat)* cos(radians(Lat) )cos(ラジアン(Lon) - $ lon))$ R My distからの距離ORDER BY dist DESC – Arvind
正確に「場所」を構成するものは何ですか? lat/lngペア?住所番?近くの店舗名ですか?つまり、lat/lngペアに近い場所には、.00000000001を緯度に追加することで取得できます。 –