export centroid to tokenizer

May come in handy when developping sanitizers for an area smaller
than country size.
This commit is contained in:
Sarah Hoffmann
2022-07-31 22:10:58 +02:00
parent e427712cb0
commit b19c90b9a6
2 changed files with 15 additions and 2 deletions

View File

@@ -8,7 +8,7 @@
Wrapper around place information the indexer gets from the database and hands to
the tokenizer.
"""
from typing import Optional, Mapping, Any
from typing import Optional, Mapping, Any, Tuple
class PlaceInfo:
""" This data class contains all information the tokenizer can access
@@ -62,6 +62,15 @@ class PlaceInfo:
return self._info.get('rank_address', 0)
@property
def centroid(self) -> Optional[Tuple[float, float]]:
""" A center point of the place in WGS84. May be None when the
geometry of the place is unknown.
"""
x, y = self._info.get('centroid_x'), self._info.get('centroid_y')
return None if x is None or y is None else (x, y)
def is_a(self, key: str, value: str) -> bool:
""" Set to True when the place's primary tag corresponds to the given
key and value.