Determine the urban district from coordinates
-
03-10-2019 - |
Question
I am looking for a database that allows to find the name of an urban district from the coordinates. I have tried to use Google Maps or Open Street Map to find that information, but they do not seem to be able to deliver this data.
I'm especially looking for a database for Germany
Cheers, Michael
Solution
- You should get data which covers longitude/latitude. try searching google "csv longitude latitude"
- get another csv list with cities and regions. try searching google "csv city region" or similar
import these in a database and write queries for longitude/latitude... find the city ... query city/region table ... et voila
At the current state, opengeodb provide geo coordinates and several other data (city name, zip) mainly for the german speaking area
GeoLite City
contain country, region, area code, metro code, city, and postal code information.
Coverage Worldwide
Accuracy Over 99.5% on a country level and 79% on a city level for the US within a 25 mile radius.
RS 2007-06-27: A very rich source for geodata (cities and towns, down to very small places) is fallingrain http://www.fallingrain.com/world/
RS 2007-07-02: Yet another rich source of geodata (except for the US) is http://earth-info.nga.mil/gns/html/namefiles.htm - ordered by country, zipped text files, one line per item. For Belgium for instance, it has 28359 items.
jdc 2007-07-02: Geodata for the US can be found here: http://geonames.usgs.gov/domestic/download_data.htm
OTHER TIPS
In OpenStreetMap the urban districts are tagged as place , perhaps place=suburb ? You'll find these tags applied to either a node (a single centroid point) or a way (an enclosing polygon)
OpenStreetMap reverse geo-coding can be done using a search service called Nominatim.
For example it can find which 'suburb' you're pointing at for a given lat/lon http://nominatim.openstreetmap.org/reverse?format=xml&lat=49.488&lon=10.9639&zoom=18&addressdetails=1
For heavy use you can set up your own Nominatim instance (it's open source software). Alternatively you might look at just extracting place data from OpenStreetMap. Start with a planet.osm download or extract for germany, and look at using the Osmosis tool to get the 'place=' tags.