Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import overpy
- api = overpy.Overpass()
- result = api.query("""area[name="Aachen"]->.a;(rel(area.a)["building"];way(area.a)["building"];);(._;>;);out;""")
- import multiprocessing as mp
- def transfer(i,send_end):
- way = result.ways[i]
- bldg = {'id':way.id,
- 'nodeid':[way.nodes[h].id for h in range(len(way.nodes))],
- 'coords':[(way.nodes[j].lat, way.nodes[j].lon) for j in range(len(way.nodes))],
- 'tags':way.tags}
- send_end.send(bldg)
- if __name__=='__main__':
- jobs = []
- pipe_list = []
- for i in range(10000):
- recv_end, send_end = mp.Pipe(False)
- p = mp.Process(target=transfer,args=(i,send_end))
- jobs.append(p)
- pipe_list.append(recv_end)
- p.start()
- for proc in jobs:
- proc.join()
- result_list = [x.recv() for x in pipe_list]
- OSError: [Errno 24] Too many open files
Add Comment
Please, Sign In to add comment