"""
Parses a vissim .inpx file and exports link geometrys as <poly> elements
Usage: vissim2poly.py inpxFile outputFile
"""
import os
import sys
sys.path.append(os.path.join(os.environ['SUMO_HOME'], 'tools'))
import sumolib
if __name__ == '__main__':
op = sumolib.options.ArgumentParser()
op.add_option("vissimNet", category="input", type=op.file,
help="provide the vissim file path")
op.add_option("outputFile", category="output", type=op.file,
help="provide the output file path")
args = op.parse_args()
vissimfile = args.vissimNet
outfile = args.outputFile
with open(outfile, 'w') as outf:
outf.write('<add>\n')
for link in sumolib.xml.parse(vissimfile, 'link'):
if link.geometry is None or link.geometry[0].linkPolyPts is None:
print("no polypoints for link %s" % link.no)
points = [(p.x, p.y, p.z) for p in link.geometry[0].linkPolyPts[0].linkPolyPoint]
shape = ' '.join([','.join(filter(None, xyz)) for xyz in points])
outf.write(' <poly id="%s" shape="%s" color="blue"/>\n' % (
link.no, shape))
outf.write('</add>\n')