From 5a8b0500d84301b683c850da93327e58723f8c85 Mon Sep 17 00:00:00 2001 From: John Sebastian Peterson Date: Sat, 17 May 2025 14:53:32 +0300 Subject: [PATCH] list tower:type=communication to do I need a map of signal penetration fromthese points from digital elevation model --- examples/cell_towers.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 examples/cell_towers.py diff --git a/examples/cell_towers.py b/examples/cell_towers.py new file mode 100755 index 00000000000..12f395ec4d3 --- /dev/null +++ b/examples/cell_towers.py @@ -0,0 +1,33 @@ +#!/bin/env python + +# Retrieves a list of cell towers for a named area. + +import overpass +api = overpass.API(debug=False) + +import sys +pos=sys.argv[1] +rad=sys.argv[2] + +# query = 'node["tower:type"=communication]around(around:1234,61,23)' +# query = 'node[man_made=mast](around:12345,61,23)' +query = 'node[man_made=mast](around:{},{})'.format(rad,pos) +print(query, file=sys.stderr) +# exit(0) + +# result = api.Get(query, responseformat="csv(::towers)", verbosity="meta") +# result = api.Get(query, responseformat="json(::towers)", verbosity="meta") +result = api.Get(query, responseformat="json") +import json +print(json.dumps(result)) +exit(0) + +towers = {"type": []} +del result[0] # header +for row in result: + uid = int(row[0]) + username = row[1] + if uid in towers["type"]: + continue + towers["type"].append(uid) +print(towers)