Path: blob/main/tools/import/transportationTestProblems.py
169674 views
#!/usr/bin/env python1# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2# Copyright (C) 2014-2025 German Aerospace Center (DLR) and others.3# This program and the accompanying materials are made available under the4# terms of the Eclipse Public License 2.0 which is available at5# https://www.eclipse.org/legal/epl-2.0/6# This Source Code may also be made available under the following Secondary7# Licenses when the conditions for such availability set forth in the Eclipse8# Public License 2.0 are satisfied: GNU General Public License, version 29# or later which is available at10# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1213# @file transportationTestProblems.py14# @author Michael Behrisch15# @date 2015-02-24161718from __future__ import print_function19from __future__ import absolute_import20import os21import sys22import subprocess23import csv24sys.path.append(os.path.join(os.environ["SUMO_HOME"], 'tools'))25import sumolib # noqa2627csvfile = csv.DictReader(open(sys.argv[1]), delimiter='\t')28with open("nodes.nod.xml", "w") as nodeout:29nodeout.write("<nodes>\n")30for nl in csvfile:31nodeout.write(' <node id="%s" x="%s" y="%s"/>\n' % (nl['Node'], nl['X'], nl['Y']))32nodeout.write("</nodes>\n")3334csvfile = csv.reader(open(sys.argv[2]), delimiter='\t')35with open("edges.edg.xml", "w") as edgeout:36edgeout.write("<edges>\n")37for el in csvfile:38if el and (el[0] == '' or el[0][0] not in "~<"):39edgeout.write(' <edge id="%s_%s" from="%s" to="%s"/>\n' % (2 * (el[1], el[2])))40edgeout.write("</edges>\n")4142subprocess.call([sumolib.checkBinary("netconvert"), "-n", nodeout.name, "-e", edgeout.name, '--proj.utm'])434445