load views as a SQL file and rename to 'secondary importance'

The only requirement for secondary importance is that a raster table
comes out of it. The generic name leaves open where the data comes
from.
This commit is contained in:
Sarah Hoffmann
2022-09-27 21:08:15 +02:00
parent 0ab0f0ea44
commit 3185fad918
4 changed files with 29 additions and 58 deletions

View File

@@ -115,7 +115,7 @@ class NominatimArgs:
address_levels: bool
functions: bool
wiki_data: bool
osm_views: bool
secondary_importance: bool
importance: bool
website: bool
diffs: bool

View File

@@ -63,8 +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('--secondary-importance', action='store_true',
help='Update secondary importance raster data')
group.add_argument('--importance', action='store_true',
help='Recompute place importances (expensive!)')
group.add_argument('--website', action='store_true',
@@ -117,6 +117,20 @@ class UpdateRefresh:
with connect(args.config.get_libpq_dsn()) as conn:
refresh.load_address_levels_from_config(conn, args.config)
# Attention: must come BEFORE functions
if args.secondary_importance:
with connect(args.config.get_libpq_dsn()) as conn:
# If the table did not exist before, then the importance code
# needs to be enabled.
if not conn.table_exists('secondary_importance'):
args.functions = True
LOG.warning('Import secondary importance raster data from %s', args.project_dir)
if refresh.import_secondary_importance(args.config.get_libpq_dsn(),
args.project_dir) > 0:
LOG.fatal('FATAL: Cannot update sendary importance raster data')
return 1
if args.functions:
LOG.warning('Create functions')
with connect(args.config.get_libpq_dsn()) as conn:
@@ -133,17 +147,6 @@ 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')

View File

@@ -58,8 +58,6 @@ class SetupAll:
group2.add_argument('--no-updates', action='store_true',
help="Do not keep tables that are only needed for "
"updating the database later")
group2.add_argument('--osm-views', action='store_true',
help='Import OSM views GeoTIFF')
group2.add_argument('--offline', action='store_true',
help="Do not attempt to load any additional data from the internet")
group3 = parser.add_argument_group('Expert options')
@@ -108,15 +106,11 @@ class SetupAll:
'Calculating importance values of locations will not '
'use Wikipedia importance data.')
LOG.warning('Importing OSM views GeoTIFF data')
data_path = Path(args.project_dir)
num = refresh.import_osm_views_geotiff(args.config.get_libpq_dsn(), data_path)
if num == 1:
LOG.error('OSM views GeoTIFF file not found. '
'Calculating importance values of locations will not use OSM views data.')
elif num == 2:
LOG.error('PostGIS version number is less than 3. '
'Calculating importance values of locations will not use OSM views data.')
LOG.warning('Importing secondary importance raster data')
if refresh.import_secondary_importance(args.config.get_libpq_dsn(),
args.project_dir) != 0:
LOG.error('Secondary importance file not imported. '
'Falling back to default ranking.')
if args.continue_at is None or args.continue_at == 'load-data':
LOG.warning('Initialise tables')