forked from edward/owl-map
More detail for part_of, not just name
This commit is contained in:
parent
fd76bcaa37
commit
df2e514b02
|
@ -47,6 +47,10 @@ def get_bbox_centroid(bbox):
|
|||
centroid = database.session.query(func.ST_AsText(func.ST_Centroid(bbox))).scalar()
|
||||
return reversed(re_point.match(centroid).groups())
|
||||
|
||||
def drop_way_area(tags):
|
||||
if "way_area" in tags:
|
||||
del tags["way_area"]
|
||||
return tags
|
||||
|
||||
def get_part_of(thing, bbox):
|
||||
db_bbox = make_envelope(bbox)
|
||||
|
@ -61,7 +65,12 @@ def get_part_of(thing, bbox):
|
|||
model.Polygon.tags.has_key("name"),
|
||||
)
|
||||
|
||||
return [polygon.tags for polygon in q]
|
||||
return [{
|
||||
"type": polygon.type,
|
||||
"id": polygon.id,
|
||||
"tags": drop_way_area(polygon.tags),
|
||||
"area": polygon.area,
|
||||
} for polygon in q]
|
||||
|
||||
|
||||
def get_and_save_item(qid):
|
||||
|
@ -454,7 +463,7 @@ def find_osm_candidates(item, bounds):
|
|||
if address := address_from_tags(tags):
|
||||
cur["address"] = address
|
||||
|
||||
part_of = [i["name"] for i in get_part_of(osm, bounds) if i["name"] != name]
|
||||
part_of = [i for i in get_part_of(osm, bounds) if i["tags"]["name"] != name]
|
||||
if part_of:
|
||||
cur["part_of"] = part_of
|
||||
|
||||
|
|
Loading…
Reference in a new issue