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,
|
country_code TEXT,
|
||||||
class TEXT,
|
class TEXT,
|
||||||
type 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.
|
-- Retrieve the data needed by the indexer for updating the place.
|
||||||
@ -71,6 +73,8 @@ BEGIN
|
|||||||
result.type := p.type;
|
result.type := p.type;
|
||||||
result.country_code := p.country_code;
|
result.country_code := p.country_code;
|
||||||
result.rank_address := p.rank_address;
|
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
|
-- Names of linked places need to be merged in, so search for a linkable
|
||||||
-- place already here.
|
-- place already here.
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
Wrapper around place information the indexer gets from the database and hands to
|
Wrapper around place information the indexer gets from the database and hands to
|
||||||
the tokenizer.
|
the tokenizer.
|
||||||
"""
|
"""
|
||||||
from typing import Optional, Mapping, Any
|
from typing import Optional, Mapping, Any, Tuple
|
||||||
|
|
||||||
class PlaceInfo:
|
class PlaceInfo:
|
||||||
""" This data class contains all information the tokenizer can access
|
""" This data class contains all information the tokenizer can access
|
||||||
@ -62,6 +62,15 @@ class PlaceInfo:
|
|||||||
return self._info.get('rank_address', 0)
|
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:
|
def is_a(self, key: str, value: str) -> bool:
|
||||||
""" Set to True when the place's primary tag corresponds to the given
|
""" Set to True when the place's primary tag corresponds to the given
|
||||||
key and value.
|
key and value.
|
||||||
|
Loading…
Reference in New Issue
Block a user