Avoid matching tram stops with buildings
This commit is contained in:
parent
ed113d8d71
commit
238fbeef05
|
@ -174,6 +174,8 @@ def get_item_tags(item):
|
|||
osm_list = set()
|
||||
|
||||
skip_isa = {row[0] for row in database.session.query(model.SkipIsA.item_id)}
|
||||
if item.is_tram_stop():
|
||||
skip_isa.add(41176) # building (Q41176)
|
||||
|
||||
seen = set(isa_list) | skip_isa
|
||||
while isa_items:
|
||||
|
|
|
@ -45,7 +45,6 @@ class Item(Base):
|
|||
def wd_url(self):
|
||||
return f"https://www.wikidata.org/wiki/{self.qid}"
|
||||
|
||||
|
||||
def get_claim(self, pid):
|
||||
return [i["mainsnak"]["datavalue"]["value"] if "datavalue" in i["mainsnak"] else None
|
||||
for i in self.claims.get(pid, [])]
|
||||
|
@ -145,13 +144,18 @@ class Item(Base):
|
|||
|
||||
return dict(d) or None
|
||||
|
||||
def get_isa_qids(self):
|
||||
return {v["id"] for v in self.get_claim("P31") if v}
|
||||
|
||||
def is_street(self):
|
||||
street_items = {
|
||||
'Q79007', # street
|
||||
'Q21000333', # shopping street
|
||||
}
|
||||
return any(v and v["id"] in street_items for v in self.get_claim("P31"))
|
||||
return bool(street_items & self.get_isa_qids())
|
||||
|
||||
def is_tram_stop(self):
|
||||
return 'Q2175765' in self.get_isa_qids()
|
||||
|
||||
# class Claim(Base):
|
||||
# __tablename__ = "claim"
|
||||
|
|
Loading…
Reference in a new issue