match_types for TomTom metadata
This commit is contained in:
@@ -24,6 +24,13 @@ EMPTY_RESPONSE = [[], {}]
|
|||||||
|
|
||||||
SCORE_NORMALIZATION_FACTOR = 0.15
|
SCORE_NORMALIZATION_FACTOR = 0.15
|
||||||
PRECISION_SCORE_THRESHOLD = 0.5
|
PRECISION_SCORE_THRESHOLD = 0.5
|
||||||
|
MATCH_TYPE_BY_MATCH_LEVEL = {
|
||||||
|
'POI': 'point_of_interest',
|
||||||
|
'Street': 'street',
|
||||||
|
'Address Range': 'street',
|
||||||
|
'Cross Street': 'intersection',
|
||||||
|
'Point Address': 'street_number'
|
||||||
|
}
|
||||||
|
|
||||||
class TomTomGeocoder(Traceable):
|
class TomTomGeocoder(Traceable):
|
||||||
'''
|
'''
|
||||||
@@ -136,9 +143,11 @@ class TomTomGeocoder(Traceable):
|
|||||||
|
|
||||||
def _extract_metadata_from_result(self, result):
|
def _extract_metadata_from_result(self, result):
|
||||||
score = self._normalize_score(result['score'])
|
score = self._normalize_score(result['score'])
|
||||||
|
match_type = MATCH_TYPE_BY_MATCH_LEVEL.get(result['type'], None)
|
||||||
return {
|
return {
|
||||||
'relevance': score,
|
'relevance': score,
|
||||||
'precision': self._precision_from_score(score)
|
'precision': self._precision_from_score(score),
|
||||||
|
'match_types': [match_type] if match_type else []
|
||||||
}
|
}
|
||||||
|
|
||||||
def _normalize_score(self, score):
|
def _normalize_score(self, score):
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ class TestStreetFunctionsSetUp(TestCase):
|
|||||||
|
|
||||||
TOMTOM_METADATAS = {
|
TOMTOM_METADATAS = {
|
||||||
'Plaza España, Barcelona':
|
'Plaza España, Barcelona':
|
||||||
{'relevance': 0.85, 'precision': 'precise'},
|
{'relevance': 0.85, 'precision': 'precise', 'match_types': ['street']},
|
||||||
'Santiago Rusiñol 123, Valladolid':
|
'Santiago Rusiñol 123, Valladolid':
|
||||||
{'relevance': 0.448283494533, 'precision': 'interpolated'}
|
{'relevance': 0.448283494533, 'precision': 'interpolated', 'match_types': ['street']}
|
||||||
}
|
}
|
||||||
|
|
||||||
MAPBOX_METADATAS = {
|
MAPBOX_METADATAS = {
|
||||||
|
|||||||
Reference in New Issue
Block a user