Path: blob/main/tests/complex/traci/vehicle/alightingPersons/runner.py
169713 views
#!/usr/bin/env python1# -*- coding: utf-8 -*-2# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo3# Copyright (C) 2008-2025 German Aerospace Center (DLR) and others.4# This program and the accompanying materials are made available under the5# terms of the Eclipse Public License 2.0 which is available at6# https://www.eclipse.org/legal/epl-2.0/7# This Source Code may also be made available under the following Secondary8# Licenses when the conditions for such availability set forth in the Eclipse9# Public License 2.0 are satisfied: GNU General Public License, version 210# or later which is available at11# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html12# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1314# @file runner.py15# @author Mirko Barthauer16# @date 2024-02-141718from __future__ import print_function19import os20import sys2122if "SUMO_HOME" in os.environ:23sys.path.append(os.path.join(os.environ["SUMO_HOME"], "tools"))2425import traci # noqa26import sumolib # noqa27import traci.constants as tc # noqa2829sumoBinary = sumolib.checkBinary('sumo')30traci.start([sumoBinary,31"-n", "input_net2.net.xml",32"-a", "input_additional.add.xml",33"-r", "input_routes.rou.xml",34"--no-step-log",35] + sys.argv[1:])3637vehID = "bus"3839while traci.simulation.getMinExpectedNumber() > 0:40t = traci.simulation.getTime()41if t % 10 == 0:42passengerIDs = traci.vehicle.getPersonIDList(vehID)43nextStops = traci.vehicle.getStops(vehID, limit=1)44if len(nextStops) > 0:45stopID = nextStops[0].stoppingPlaceID46stopEdge = nextStops[0].lane.rsplit("_", 1)[1]47alightingPassengers = []48for passengerID in passengerIDs:49nextStage = traci.person.getStage(passengerID)50if nextStage.destStop == stopID:51alightingPassengers.append(passengerID)52print("time", t)53print(" next stop", stopID)54print(" alighting passengers", str(alightingPassengers))55traci.simulationStep()5657traci.close()585960