"""
Generates a PoI-file containing a PoI for each bus stop in the given net.
"""
from __future__ import absolute_import
from __future__ import print_function
import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import sumolib.net
from sumolib.xml import parse
if len(sys.argv) < 3:
print("Usage: " + os.path.basename(__file__) + " <NET> <STOPS>", file=sys.stderr)
sys.exit()
print("Reading net...")
try:
net = sumolib.net.readNet(sys.argv[1])
except IOError as e:
print(e, file=sys.stderr)
sys.exit()
stops = sys.argv[2]
print("Writing output...")
with open('pois.add.xml', 'w') as f:
f.write('<?xml version="1.0"?>\n')
f.write('<additional>\n')
for stop in parse(stops, 'busStop'):
lane = net.getLane(stop.lane)
pos = (float(stop.startPos) + float(stop.endPos)) / 2
xypos = sumolib.geomhelper.positionAtShapeOffset(lane.getShape(), pos)
lon, lat = net.convertXY2LonLat(xypos[0], xypos[1])
f.write(' <poi id="%s" type="%s" color="1,0,0" layer="100" lon="%s" lat="%s"/>\n' % (
stop.id, stop.name, lon, lat))
f.write('</additional>\n')