generated from mwc/lab_weather
38 lines
958 B
Python
38 lines
958 B
Python
#!/usr/bin/python
|
|
# coding: utf8
|
|
|
|
from __future__ import absolute_import
|
|
from geocoder.osm import OsmQuery
|
|
from geocoder.location import Location
|
|
|
|
|
|
class OsmReverse(OsmQuery):
|
|
"""
|
|
Nominatim
|
|
=========
|
|
Nominatim (from the Latin, 'by name') is a tool to search OSM data by name
|
|
and address and to generate synthetic addresses of OSM points (reverse geocoding).
|
|
|
|
API Reference
|
|
-------------
|
|
http://wiki.openstreetmap.org/wiki/Nominatim
|
|
"""
|
|
provider = 'osm'
|
|
method = 'reverse'
|
|
|
|
def _build_params(self, location, provider_key, **kwargs):
|
|
params = {
|
|
'q': str(Location(location)),
|
|
'format': 'jsonv2',
|
|
'addressdetails': 1,
|
|
'limit': kwargs.get('limit', 1)
|
|
}
|
|
if('lang_code' in kwargs):
|
|
params['accept-language'] = kwargs.get('lang_code')
|
|
return params
|
|
|
|
|
|
if __name__ == '__main__':
|
|
g = OsmReverse("45.3, -75.4")
|
|
g.debug()
|