I develop an Android app that lets people upload a picture and tag it. When the picture's EXIF data has GPS coordinates in Japan, I would like to add #japan to the tag suggestions.
Requirements:
- 100% Java library
- Input: latitude, longitude
- Output: Country name in English (even better if other languages are available)
- Size: Below 2 MB, as it is not a central feature and I want to keep the app small (the whole app is currently 2MB)
- Precision: About 100 kilometers.
- Response time: Less than half second even on a cheap phone
- Must work offline
- Free and open source
Tolerance:
- In border areas, giving several countries is OK, for instance for a picture taken in Luxembourg (tiny country) it could suggest France,Germany,Luxembourg,Belgium. Giving only one suggestion is OK too.
- Out-of-date borders is not a big problem. No update mechanism is needed as the app itself gets updated quite regularly.
- Behavior at sea is not important, so using one big rectangle (or circle) for New Zealand is OK, for instance.
Keyword: reverse geocoding