要件:私は現在、30000を超えるレコードを持つアプリに取り組んでいます。要件は、ロケーションベース/認識検索を行うことです。たとえば。私の現在の場所から5マイル以内。
このサービスへのアクセス方法:このサービスには、WebアプリとiOSアプリの両方からアクセスします。
開発プラットフォーム:
- Web:Cakephp、php、python
- DB:MySql
- iOS:Objective-c
- 現在使用されている外部ライブラリ:Google Maps Javascript Api v3
ロケーションベースの検索
私はこのテーマについていくつかの研究を行っており、これにはHaversineFormulaを採用する予定です。しかし、Haversineの式を有効にするには、DB内のすべてのレコードに対して逆地理コードを使用する必要があります。私が今まで使用した唯一の逆ジオコーディングサービスはGoogleからのものであり、結果を地図に表示せずにこれを許可していないことを知っています。
注:ジオコーディングAPIは、Googleマップと組み合わせてのみ使用できます。地図に表示せずに結果をジオコーディングすることは禁止されています。
- これらすべてのレコードを地理コードを逆にするために使用できる他のAPIまたはサービスはありますか?
- 30000は大きな数字です。私は明らかに一定期間このためにcronジョブを使用しますが、この要求は同じIPからのものであるため、これは問題になる可能性がありますか?
これに関するどんな助けも高く評価されるでしょう。
アップデート1#
OpenStreetMapNominatimを推奨するこのSOの質問を見つけました