Requirement : I am currently working on an app that has over 30000 records. The requirement is to have location based/aware searching. For eg. within 5mi from my present location.
How will this service be accessed : This service will be accessed from both web and iOS app.
Development platforms :
- Web : Cakephp, php and python
- DB : MySql
- iOS : objective-c
- External libraries currently being used : Google Maps Javascript Api v3
Location based searching
I have been doing some research on this subject, and I will be employing Haversine Formula for this. But for Haversine formula to be effective, I need to have reverse geo code for all my records in my DB. The only reverse geocoding service I have ever used is from Google, and I know for a fact that they don't allow this without displaying the results on their map.
Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited.
- Are there other APIs or services I can use to reverse geo code all those records ?
- 30000 is a large number. I will obviously be employing cron job for this over a period of time, but as this request will be from same IP, can this be an issue ?
Any help on this will be highly appreciated.
Update 1 #
I found this SO question which recommends OpenStreetMap Nominatim