CamHack25/engine.py
2025-11-01 11:55:47 +00:00

39 lines
829 B
Python
Executable file

#!/usr/bin/env python
import overpy
# brandname : overpass query filters
BRANDS: dict[str, str] = {
"greggs": "[\"brand:wikidata\"=\"Q3403981\"]",
}
def fetch_data(brand: str) -> list[tuple[float | None, float | None]]:
api = overpy.Overpass()
filters = BRANDS[brand]
query = api.query(f"nwr{filters}; out center;")
result = []
for way in query.ways:
result.append((way.center_lat, way.center_lon))
for node in query.nodes:
result.append((node.lat, node.lon))
for (lat, lon) in result:
if (lat is None) or (lon is None):
raise ValueError("Item missing coords!")
return result
def main():
print("Running query...")
greggs = fetch_data("greggs")
print(f"Query done - got {len(greggs)} Greggs!")
if __name__ == "__main__":
main()