else:
coords = "'%s'::geometry" % coords.wkt
cols['geometry'] = coords
+ for k in cols:
+ if not cols[k]:
+ cols[k] = None
def _insert_place_table_nodes(places, force_name):
if not members:
members = None
- cur.execute("""INSERT INTO planet_osm_rels
- (id, way_off, rel_off, parts, members, tags, pending)
- VALUES (%s, %s, %s, %s, %s, %s, false)""",
+ cur.execute("""INSERT INTO planet_osm_rels
+ (id, way_off, rel_off, parts, members, tags)
+ VALUES (%s, %s, %s, %s, %s, %s)""",
(line['id'], len(parts['n']), len(parts['n']) + len(parts['w']),
parts['n'] + parts['w'] + parts['r'], members, tags))
world.conn.commit()
tags = None
nodes = [int(x.strip()) for x in line['nodes'].split(',')]
- cur.execute("""INSERT INTO planet_osm_ways
- (id, nodes, tags, pending)
- VALUES (%s, %s, %s, false)""",
+ cur.execute("""INSERT INTO planet_osm_ways (id, nodes, tags)
+ VALUES (%s, %s, %s)""",
(line['id'], nodes, tags))
world.conn.commit()
world.run_nominatim_script('setup', 'create-functions', 'create-partition-functions')
cur = world.conn.cursor()
cur.execute("""insert into placex (osm_type, osm_id, class, type, name, admin_level,
- housenumber, street, addr_place, isin, postcode, country_code, extratags,
- geometry) select * from place""")
+ housenumber, street, addr_place, isin, postcode, country_code, extratags,
+ geometry) select * from place""")
world.conn.commit()
world.run_nominatim_script('setup', 'index', 'index-noanalyse')
#world.db_dump_table('placex')
'--search', query]
if with_dups is not None:
cmd.append('--nodedupe')
- proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ proc = subprocess.Popen(cmd, cwd=world.config.source_dir,
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(outp, err) = proc.communicate()
assert (proc.returncode == 0), "query.php failed with message: %s" % err
world.page = outp
- world.response_format = 'json'
+ world.response_format = 'json'
+ world.request_type = 'search'
world.returncode = 200