Precision metadata for Mapbox
This commit is contained in:
@@ -5,6 +5,7 @@ Python client for the Mapbox Geocoder service.
|
|||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
from mapbox import Geocoder
|
from mapbox import Geocoder
|
||||||
|
from cartodb_services import PRECISION_PRECISE, PRECISION_INTERPOLATED
|
||||||
from cartodb_services.metrics import Traceable
|
from cartodb_services.metrics import Traceable
|
||||||
from cartodb_services.tools.exceptions import ServiceException
|
from cartodb_services.tools.exceptions import ServiceException
|
||||||
from cartodb_services.tools.qps import qps_retry
|
from cartodb_services.tools.qps import qps_retry
|
||||||
@@ -74,8 +75,14 @@ class MapboxGeocoder(Traceable):
|
|||||||
return [longitude, latitude]
|
return [longitude, latitude]
|
||||||
|
|
||||||
def _extract_metadata_from_result(self, result):
|
def _extract_metadata_from_result(self, result):
|
||||||
|
if result[ENTRY_GEOMETRY].get('interpolated', False):
|
||||||
|
precision = PRECISION_INTERPOLATED
|
||||||
|
else:
|
||||||
|
precision = PRECISION_PRECISE
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'relevance': self._normalize_relevance(float(result['relevance']))
|
'relevance': self._normalize_relevance(float(result['relevance'])),
|
||||||
|
'precision': precision
|
||||||
}
|
}
|
||||||
|
|
||||||
def _normalize_relevance(self, relevance):
|
def _normalize_relevance(self, relevance):
|
||||||
|
|||||||
@@ -91,9 +91,10 @@ class TestStreetFunctionsSetUp(TestCase):
|
|||||||
}
|
}
|
||||||
|
|
||||||
MAPBOX_METADATAS = {
|
MAPBOX_METADATAS = {
|
||||||
'Plaza España, Barcelona': {
|
'Plaza España, Barcelona':
|
||||||
'relevance': 0.75
|
{'relevance': 0.666, 'precision': 'precise'},
|
||||||
}
|
'Santiago Rusiñol 123, Valladolid':
|
||||||
|
{'relevance': 0.666, 'precision': 'precise'} # TODO: wrong
|
||||||
}
|
}
|
||||||
|
|
||||||
METADATAS = {
|
METADATAS = {
|
||||||
|
|||||||
Reference in New Issue
Block a user