]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/data/place_info.py
Merge pull request #3212 from lonvia/more-tests
[nominatim.git] / nominatim / data / place_info.py
index ab895352314581bacb84e23f13ebfa6aada2fe70..91e77a588514ca4c2cd457d95286ca49883dd7e0 100644 (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
@@ -55,13 +55,22 @@ class PlaceInfo:
 
     @property
     def rank_address(self) -> int:
-        """ The [rank address][1] before ant rank correction is applied.
+        """ The [rank address][1] before any rank correction is applied.
 
             [1]: ../customize/Ranking.md#address-rank
         """
         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.