X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/efafa5271957fb54b356ec1c90e8613f14de40d4..674185a0651a4f6719e7fe71e00cca147783a1f4:/test/bdd/steps/steps_osm_data.py diff --git a/test/bdd/steps/steps_osm_data.py b/test/bdd/steps/steps_osm_data.py index a48d9cd6..94f72796 100644 --- a/test/bdd/steps/steps_osm_data.py +++ b/test/bdd/steps/steps_osm_data.py @@ -11,6 +11,8 @@ from pathlib import Path from nominatim.tools.exec_utils import run_osm2pgsql +from geometry_alias import ALIASES + def get_osm2pgsql_options(nominatim_env, fname, append): return dict(import_file=fname, osm2pgsql=str(nominatim_env.build_dir / 'osm2pgsql' / 'osm2pgsql'), @@ -45,12 +47,8 @@ def write_opl_file(opl, grid): return fd.name -@given(u'the scene (?P.+)') -def set_default_scene(context, scene): - context.scene = scene - -@given(u'the ([0-9.]+ )?grid') -def define_node_grid(context, grid_step): +@given(u'the ([0-9.]+ )?grid(?: with origin (?P.*))?') +def define_node_grid(context, grid_step, origin): """ Define a grid of node positions. Use a table to define the grid. The nodes must be integer ids. Optionally @@ -61,8 +59,22 @@ def define_node_grid(context, grid_step): else: grid_step = 0.00001 + if origin: + if ',' in origin: + # TODO coordinate + coords = origin.split(',') + if len(coords) != 2: + raise RuntimeError('Grid origin expects orgin with x,y coordinates.') + origin = (float(coords[0]), float(coords[1])) + elif origin in ALIASES: + origin = ALIASES[origin] + else: + raise RuntimeError('Grid origin must be either coordinate or alias.') + else: + origin = (0.0, 0.0) + context.osm.set_grid([context.table.headings] + [list(h) for h in context.table], - grid_step) + grid_step, origin) @when(u'loading osm data')