views:

183

answers:

4

Is there an easy way to get the name of the country on whose territory a given point is located?

I don't care too much about accuracy nor about ambiguities given by political disputes. Just need a good enough approximation.

+2  A: 

How about using google's reverse geo-encoding service?

HTH,
Kent

Kent Boogaart
+2  A: 

Try the Yahoo! APIs.

Latitude and Longitude

Latitude and longitude can be specified for the location parameter. Latitude and longitude may be expressed as decimal degrees or degrees-minutes-seconds, with either leading or trailing directionals or leading signs. If directionals are provided, longitude may appear before latitude. If directionals are not provided, longitude may appear before latitude if it is outside the range -90 to 90. Otherwise, the latitude must appear first. Punctuation marks (commas, degrees, minutes, seconds) are ignored.

Examples: 

•50.3 -120.5
•50.3, -120.5
•-120.5 50.3
•50.3 N 120.5 W
•120.5 W 50.3 N
•50 18 0 -120 30 0
•50 18 0 N 120 30 0 W
•50° 18' 0" N 120° 30' 0" W

The response element will give you the country, as well as many other elements.

GalacticJello
A: 

Just for the reference, geonames.org also has a nice webservice, but it's rate limited (which was an issue in my case since I had to look up a big batch of coordinates).

Example: http://ws.geonames.org/findNearbyPlaceName?lat=47.3&lng=9

ionut bizau
A: 

You could also look at the services from tinygeocoder.

Another alternative is to download the country maps from natural earth (or another source). Using Geotools you could search whether the point is inside one of the countries.

Joachim Van der Auwera