Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
from __future__ import print_function
from __future__ import absolute_import
import os
import sys
if 'SUMO_HOME' in os.environ:
tools = os.path.join(os.environ['SUMO_HOME'], 'tools')
sys.path.append(tools)
else:
sys.exit("please declare environment variable 'SUMO_HOME'")
import sumolib # noqa
import traci # noqa
sumoBinary = sumolib.checkBinary("sumo")
traci.start([sumoBinary,
'-n', 'input_net.net.xml',
'-r', 'input_routes.rou.xml',
'--no-step-log',
# '-S', '-Q'
])
vehID = 'v0'
traci.simulationStep()
while traci.simulation.getTime() < 75:
pos = traci.vehicle.getPosition3D(vehID)
pos2 = (pos[0] + 20, pos[1])
traci.vehicle.moveToXY('v0', '', 0, pos2[0], pos2[1], keepRoute=2)
traci.simulationStep()
pos3 = traci.vehicle.getPosition3D(vehID)
from sumolib import checkBinary
ToC_vehicle = "ToC_veh"
timeTillMRM = 10
# this is the main entry point of this script
if __name__ == "__main__":
options = get_options()
# this script has been called from the command line. It will start sumo as a
# server, then connect and run
if options.nogui:
sumoBinary = checkBinary('sumo')
else:
sumoBinary = checkBinary('sumo-gui')
# this is the normal way of using traci. sumo is started as a
# subprocess and then the python script connects and runs
traci.start([sumoBinary, "-n", "input_net.net.xml", "-r", "input_routes.rou.xml", "--no-step-log", "true"])
# Wait until the vehicle enters
while ToC_vehicle not in traci.vehicle.getIDList():
traci.simulationStep()
printToCParams(ToC_vehicle, extra=True)
traci.close()
# @author Daniel Krajzewicz
# @author Michael Behrisch
# @date 2011-07-01
from __future__ import absolute_import
from __future__ import print_function
import os
import sys
import time
sys.path.append(os.path.join(os.environ["SUMO_HOME"], "tools"))
import sumolib # noqa
import traci # noqa
sumoBinary = sumolib.checkBinary(sys.argv[1])
if sys.argv[1] == "sumo":
addOption = []
else:
addOption = ["-S", "-Q"]
traci.start([sumoBinary, "-c", "sumo.sumocfg"] + addOption)
time.sleep(10)
step = 0
while step <= 100:
traci.simulationStep()
vehs = traci.vehicle.getIDList()
if vehs.index("horiz") < 0 or len(vehs) > 1:
print("Something is false")
step += 1
traci.simulationStep()
traci.close()
from __future__ import print_function
import os
import subprocess
import sys
sys.path.append(os.path.join(
os.path.dirname(sys.argv[0]), '..', '..', '..', '..', '..', "tools"))
import traci # noqa
import sumolib # noqa
PORT = 8813
DELTA_T = 1000
netconvertBinary = sumolib.checkBinary('netconvert')
sumoBinary = sumolib.checkBinary('sumo')
edges = [
["beg", ['',
'']],
["preBeg", ['',
'']]
]
rerouter = [
["closing", ''],
["destProb", '',
''],
["routeProb", '',
'']
]
if ((options.oldapi_prefix and options.osm_file) or
not (options.oldapi_prefix or options.osm_file)):
optParser.error(
"exactly one of the options --osm-file and --oldapi-prefix must be supplied")
if options.typemap and not path.isfile(options.typemap):
# fail early because netconvert may take a long time
optParser.error('typemap file "%s" not found' % options.typemap)
if not (options.vehicle_classes in vclassRemove):
optParser.error('invalid vehicle class "%s" given' %
options.vehicle_classes)
if not path.isdir(options.output_directory):
optParser.error('output directory "%s" does not exist' %
options.output_directory)
netconvert = sumolib.checkBinary('netconvert', bindir)
polyconvert = sumolib.checkBinary('polyconvert', bindir)
netconvertOpts = [netconvert]
if options.pedestrians:
netconvertOpts += ['--sidewalks.guess', '--crossings.guess']
if options.netconvert_typemap:
netconvertOpts += ["-t", options.netconvert_typemap]
netconvertOpts += options.netconvert_options.split(',') + ['--osm-files']
polyconvertOpts = ([polyconvert] + options.polyconvert_options.split(',') +
['--type-file', options.typemap, '--osm-files'])
prefix = options.oldapi_prefix
if prefix: # used old API
num = options.tiles
tiles = ",".join(["%s%s_%s.osm.xml" % (prefix, i, num)
for i in range(num)])
def main():
options = parse_args()
copy_tags = options.copy.split(',') if options.copy else []
if options.direct:
type = '.xml'
xmldiff(options.source,
options.dest,
options.outprefix + type,
type,
copy_tags)
else:
if not options.use_prefix:
netconvert = sumolib.checkBinary("netconvert", options.path)
options.source = create_plain(options.source, netconvert)
options.dest = create_plain(options.dest, netconvert)
for type in PLAIN_TYPES:
xmldiff(options.source + type,
options.dest + type,
options.outprefix + type,
type,
copy_tags)
def main(args=None):
argParser = initOptions()
options = argParser.parse_args(args=args)
if not options.net:
argParser.error("Option --net-file is mandatory")
if (not options.trips and not options.routes and not options.flows) or (options.trips and options.routes):
argParser.error(
"Either --trips, --flows, or --routes have to be given!")
duaBinary = sumolib.checkBinary("duarouter", options.path)
sumoBinary = sumolib.checkBinary("sumo", options.path)
if options.addweights and options.weightmemory:
argParser.error(
"Options --addweights and --weight-memory are mutually exclusive.")
# make sure BOTH binaries are callable before we start
try:
subprocess.call(duaBinary, stdout=subprocess.PIPE)
except OSError:
sys.exit(
"Error: Could not locate duarouter (%s).\nMake sure its on the search path or set environment variable DUAROUTER_BINARY\n" % duaBinary)
try:
subprocess.call(sumoBinary, stdout=subprocess.PIPE)
except OSError:
sys.exit(
"Error: Could not locate sumo (%s).\nMake sure its on the search path or set environment variable SUMO_BINARY\n" % sumoBinary)
for l in csvfile:
nodeout.write(' \n' %
(l['node'], l['X'], l['Y']))
nodeout.write("\n")
csvfile = csv.reader(open(sys.argv[2]), delimiter='\t')
with open("edges.edg.xml", "w") as edgeout:
edgeout.write("\n")
for l in csvfile:
if l and l[0][0] not in "~<":
edgeout.write(
' \n' % (2 * (l[0], l[1])))
edgeout.write("\n")
subprocess.call(
[sumolib.checkBinary("netconvert"), "-n", nodeout.name, "-e", edgeout.name])
def start_sumo(sumo_binary, config_file, already_running):
"""
Starts or restarts sumo with the given configuration file
:param sumo_binary: SUMO binary to be called from command line (sumo or
sumo-gui)
:param config_file: sumo configuration file
:param already_running: if set to true then the command simply reloads
the given config file, otherwise sumo is started from scratch
:type sumo_binary: str
:type config_file: str
:type already_running: bool
"""
arguments = ["-c"]
sumo_cmd = [sumolib.checkBinary(sumo_binary)]
arguments.append(config_file)
if already_running:
traci.load(arguments)
else:
sumo_cmd.extend(arguments)
traci.start(sumo_cmd)
def main():
argParser = initOptions()
options = argParser.parse_args()
if not options.net or not options.routes or not options.detvals:
argParser.error(
"--net-file, --routes and --detector-values have to be given!")
if options.mesosim:
sumoBinary = sumolib.checkBinary("meso", options.path)
else:
sumoBinary = sumolib.checkBinary("sumo", options.path)
calibrator = ["java", "-cp", options.classpath, "-Xmx1G",
"cadyts.interfaces.sumo.SumoController"]
log = open("cadySumo-log.txt", "w+")
# calibration init
starttime = datetime.now()
evalprefix = None
if options.evalprefix:
evalprefix = options.evalprefix
# begin the calibration
if options.fmaprefix:
call(calibrator + ["INIT", "-varscale", options.varscale, "-freezeit", options.freezeit,
"-measfile", options.detvals, "-binsize", options.aggregation, "-PREPITS", options.PREPITS,