]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/clicmd/refresh.py
Integrated OSM views into importance computation
[nominatim.git] / nominatim / clicmd / refresh.py
index dce28d983a1365656c43b3e57bc79eb20c8befc8..d03d682f89ba7fb6b850877b445c55b83e2300ed 100644 (file)
@@ -63,6 +63,8 @@ class UpdateRefresh:
                            help='Update the PL/pgSQL functions in the database')
         group.add_argument('--wiki-data', action='store_true',
                            help='Update Wikipedia/data importance numbers')
+        group.add_argument('--osm-views', action='store_true',
+                           help='Update OSM views/data importance numbers')
         group.add_argument('--importance', action='store_true',
                            help='Recompute place importances (expensive!)')
         group.add_argument('--website', action='store_true',
@@ -83,7 +85,7 @@ class UpdateRefresh:
                            help='Enable debug warning statements in functions')
 
 
-    def run(self, args: NominatimArgs) -> int: #pylint: disable=too-many-branches
+    def run(self, args: NominatimArgs) -> int: #pylint: disable=too-many-branches, too-many-statements
         from ..tools import refresh, postcodes
         from ..indexer.indexer import Indexer
 
@@ -131,6 +133,17 @@ class UpdateRefresh:
                 LOG.fatal('FATAL: Wikipedia importance dump file not found')
                 return 1
 
+        if args.osm_views:
+            data_path = Path(args.project_dir)
+            LOG.warning('Import OSM views GeoTIFF data from %s', data_path)
+            num = refresh.import_osm_views_geotiff(args.config.get_libpq_dsn(), data_path)
+            if num == 1:
+                LOG.fatal('FATAL: OSM views GeoTIFF file not found')
+                return 1
+            if num == 2:
+                LOG.fatal('FATAL: PostGIS version number is less than 3')
+                return 1
+
         # Attention: importance MUST come after wiki data import.
         if args.importance:
             LOG.warning('Update importance values for database')