mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-24 13:31:37 +03:00
export centroid to tokenizer
May come in handy when developping sanitizers for an area smaller than country size.
This commit is contained in:
parent
e427712cb0
commit
b19c90b9a6
@ -16,7 +16,9 @@ CREATE TYPE prepare_update_info AS (
|
||||
country_code TEXT,
|
||||
class TEXT,
|
||||
type TEXT,
|
||||
linked_place_id BIGINT
|
||||
linked_place_id BIGINT,
|
||||
centroid_x float,
|
||||
centroid_y float
|
||||
);
|
||||
|
||||
-- Retrieve the data needed by the indexer for updating the place.
|
||||
@ -71,6 +73,8 @@ BEGIN
|
||||
result.type := p.type;
|
||||
result.country_code := p.country_code;
|
||||
result.rank_address := p.rank_address;
|
||||
result.centroid_x := ST_X(p.centroid);
|
||||
result.centroid_y := ST_Y(p.centroid);
|
||||
|
||||
-- Names of linked places need to be merged in, so search for a linkable
|
||||
-- place already here.
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user