generated from mwc/lab_weather
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
#!/usr/bin/python
|
|
# coding: utf8
|
|
|
|
from __future__ import absolute_import
|
|
|
|
import logging
|
|
|
|
from geocoder.opencage import OpenCageResult, OpenCageQuery
|
|
from geocoder.location import Location
|
|
|
|
|
|
class OpenCageReverseResult(OpenCageResult):
|
|
|
|
@property
|
|
def ok(self):
|
|
return bool(self.address)
|
|
|
|
|
|
class OpenCageReverse(OpenCageQuery):
|
|
"""
|
|
OpenCage Geocoding Services
|
|
===========================
|
|
OpenCage Geocoder simple, easy, and open geocoding for the entire world
|
|
Our API combines multiple geocoding systems in the background.
|
|
Each is optimized for different parts of the world and types of requests.
|
|
We aggregate the best results from open data sources and algorithms so you don't have to.
|
|
Each is optimized for different parts of the world and types of requests.
|
|
|
|
API Reference
|
|
-------------
|
|
https://geocoder.opencagedata.com/api
|
|
"""
|
|
provider = 'opencage'
|
|
method = 'reverse'
|
|
|
|
_URL = 'http://api.opencagedata.com/geocode/v1/json'
|
|
_RESULT_CLASS = OpenCageReverseResult
|
|
|
|
def _build_params(self, location, provider_key, **kwargs):
|
|
location = Location(location)
|
|
return {
|
|
'query': location,
|
|
'key': provider_key,
|
|
}
|
|
|
|
if __name__ == '__main__':
|
|
logging.basicConfig(level=logging.INFO)
|
|
g = OpenCageReverse([45.4049053, -75.7077965])
|
|
g.debug()
|