Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/tests/complex/traci/inductionloop/persons_internalDet/runner.py
169689 views
1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3
# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
4
# Copyright (C) 2008-2025 German Aerospace Center (DLR) and others.
5
# This program and the accompanying materials are made available under the
6
# terms of the Eclipse Public License 2.0 which is available at
7
# https://www.eclipse.org/legal/epl-2.0/
8
# This Source Code may also be made available under the following Secondary
9
# Licenses when the conditions for such availability set forth in the Eclipse
10
# Public License 2.0 are satisfied: GNU General Public License, version 2
11
# or later which is available at
12
# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
13
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
14
15
# @file runner.py
16
# @author Michael Behrisch
17
# @author Daniel Krajzewicz
18
# @date 2011-03-04
19
20
21
from __future__ import print_function
22
from __future__ import absolute_import
23
import os
24
import sys
25
26
if "SUMO_HOME" in os.environ:
27
sys.path.append(os.path.join(os.environ["SUMO_HOME"], "tools"))
28
import traci # noqa
29
import sumolib # noqa
30
31
traci.start([sumolib.checkBinary('sumo'), "-c", "sumo.sumocfg"] + sys.argv[1:])
32
for step in range(3):
33
print("step", step)
34
traci.simulationStep()
35
print("inductionloops", traci.inductionloop.getIDList())
36
print("inductionloop count", traci.inductionloop.getIDCount())
37
loopID = "0"
38
print("examining", loopID)
39
print("vehNum", traci.inductionloop.getLastStepVehicleNumber(loopID))
40
print("meanSpeed", traci.inductionloop.getLastStepMeanSpeed(loopID))
41
print("vehIDs", traci.inductionloop.getLastStepVehicleIDs(loopID))
42
print("occupancy", traci.inductionloop.getLastStepOccupancy(loopID))
43
print("meanLength", traci.inductionloop.getLastStepMeanLength(loopID))
44
print("timeSinceDet", traci.inductionloop.getTimeSinceDetection(loopID))
45
print("vehData", traci.inductionloop.getVehicleData(loopID))
46
print("position", traci.inductionloop.getPosition(loopID))
47
print("laneID", traci.inductionloop.getLaneID(loopID))
48
49
traci.inductionloop.setParameter(loopID, "foo", "42")
50
print("parameter", traci.inductionloop.getParameter(loopID, "foo"))
51
print("parameter from XML '%s'" % traci.inductionloop.getParameter(loopID, "loadedFromXML"))
52
53
traci.inductionloop.subscribe(loopID)
54
print(traci.inductionloop.getSubscriptionResults(loopID))
55
for step in range(3, 6):
56
print("step", step)
57
traci.simulationStep()
58
print(traci.inductionloop.getSubscriptionResults(loopID))
59
60
for i in range(94):
61
print("step=%s occ=%s num=%s detVehs=%s vehData=%s" % (
62
traci.simulation.getTime(),
63
traci.inductionloop.getLastStepOccupancy(loopID),
64
traci.inductionloop.getLastStepVehicleNumber(loopID),
65
traci.inductionloop.getLastStepVehicleIDs(loopID),
66
traci.inductionloop.getVehicleData(loopID),
67
))
68
traci.simulationStep()
69
70
traci.close()
71
72