代码之家  ›  专栏  ›  技术社区  ›  Sam1324

如何使用SUMO randomTrips脚本获得x秒模拟的n辆车?

  •  3
  • Sam1324  · 技术社区  · 9 年前

    我正在使用Veves模拟器,为了创建具有路径的汽车,我正在使用以下命令:

    python c:/DLR/Sumo/tools/randomTrips.py -n test.net.xml -e 1200 -l
    python c:/DLR/Sumo/tools/randomTrips.py -n test.net.xml -r test.rou.xml -e 1200 -l
    

    这个命令在1200秒的模拟中生成了1200辆车,但我想在100秒的模拟过程中生成1200辆车。我该怎么做?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Michael    9 年前

    只是为了回答这个问题(主要是重新表述朱利安·海诺夫斯基在评论中所说的话)

    randomTrips.py -n net.net.xml -o passenger.trips.xml -e 100
    

    --validate 但这将删除无效行程(最终可能少于100次)。然后你可以简单地玩一下这个数字。

    要让所有时间从0秒开始,可以使用正则表达式替换来编辑trips文件,将所有出发时间替换为0秒。在*nix上,可能会执行以下操作:

    sed -i 's/depart="[0-9]*/depart="0/' passenger.trips.xml
    

    sumo -n net.net.xml -r passenger.trips.xml -e 1200
    
        2
  •  0
  •   Jayati Deshmukh    5 年前

    可以使用--begin,-end和--period选项生成在指定时间段内随机分布的车辆数量。

    例如,为了在100秒的模拟中生成1200辆车,可以使用以下命令:

    python randomTrips.py -n net.net.xml -r net.rou.xml -o net.trip.xml --begin=0 --end=100 --period=0.083333
    

    简言之

    number of generated vehicles = (end - begin) / period
    
    推荐文章