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()
|
centroid = database.session.query(func.ST_AsText(func.ST_Centroid(bbox))).scalar()
|
||||||
return reversed(re_point.match(centroid).groups())
|
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):
|
def get_part_of(thing, bbox):
|
||||||
db_bbox = make_envelope(bbox)
|
db_bbox = make_envelope(bbox)
|
||||||
|
@ -61,7 +65,12 @@ def get_part_of(thing, bbox):
|
||||||
model.Polygon.tags.has_key("name"),
|
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):
|
def get_and_save_item(qid):
|
||||||
|
@ -454,7 +463,7 @@ def find_osm_candidates(item, bounds):
|
||||||
if address := address_from_tags(tags):
|
if address := address_from_tags(tags):
|
||||||
cur["address"] = address
|
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:
|
if part_of:
|
||||||
cur["part_of"] = part_of
|
cur["part_of"] = part_of
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue