道路
netgenerate --grid --grid.x-number=2 --grid.y-number=2 --grid.y-length=5000 --grid.x-length=5000 --output-file=jam6.net.xml
交通を作るスクリプト
jam6_flow_wa.rb
car_number=3000; number_of_round=10000; str="" str2="" number_of_round.times{|i| str=str+" "+"1/0to0/0 0/0to1/0" } number_of_round.times{|i| str2=str2+" "+"0/0to1/0 1/0to0/0" } puts "<routes>" puts "<vType id=\"type1\" minGap=\"0\" tau=\"3\" sigma=\"1\"/>" car_number.times{|i| j=i%5000; puts "\t<vehicle id=\"#{i}\" depart=\"0\" departSpeed=\"max\" arrivalSpeed=\"0.00\" color=\"1,1,0\" departPos=\"#{j}\" type=\"type1\">" if i%2==0 puts "\t\t<route edges=\"#{str}\"/>" else puts "\t\t<route edges=\"#{str2}\"/>" end puts "\t</vehicle>" } puts "</routes>"
交通を作る
設定ファイル
jam6_wa.sumocfg
<configuration> <input> <net-file value="jam6.net.xml"/> <route-files value="jam_flow6_wa.rou.xml"/> </input> <time> <begin value="0"/> <end value="100000"/> </time> </configuration>
実行
sumo-gui -c jam6_wa.sumocfg
バッチ用スクリプト:
cat jam6_flow_wa.rb
car_number=ARGV[0].to_i; number_of_round=300; str="" str2="" number_of_round.times{|i| str=str+" "+"0/0to1/0 1/0to0/0" } number_of_round.times{|i| str2=str2+" "+"1/0to0/0 0/0to1/0" } puts "<routes>" puts "<vType id=\"type1\" minGap=\"0\" tau=\"3\" sigma=\"1\"/>" car_number.times{|i| j=i%5000; puts "\t<vehicle id=\"#{i}\" depart=\"0\" departSpeed=\"max\" arrivalSpeed=\"0.00\" color=\"1,1,0\" departPos=\"#{j}\" type=\"type1\">" if i%2==0 puts "\t\t<route edges=\"#{str}\"/>" else puts "\t\t<route edges=\"#{str2}\"/>" end puts "\t</vehicle>" } puts "</routes>"
sumo -c jam6b_wa.sumocfg --netstate-dump jam6b_wa.dump
car_number=ARGV[0].to_i; car_number_lane=car_number/2 #number_of_round=2000; # number_of_round=100; str="0/0to1/0" str2="0/0to1/0" number_of_round.times{|i| str=str+" "+"1/0to2/0 2/0to1/0" } number_of_round.times{|i| str2=str2+" "+"1/0to2/0 2/0to1/0" } puts "<routes>" puts "<vType id=\"type1\" minGap=\"0\" tau=\"3\" sigma=\"1\"/>" # #puts "<vType id=\"type1\" minGap=\"2.4\" tau=\"3\" sigma=\"0\"/>" car_number.times{|i| dx=(250.0)/(car_number_lane+0.0) j=i*dx+rand(); # puts "\t<vehicle id=\"#{i}\" depart=\"1\" departSpeed=\"max\" arrivalSpeed=\"0.00\" color=\"1,1,0\" departPos=\"#{j}\" type=\"type1\">" # puts "\t<vehicle id=\"#{i}\" depart=\"#{100*i}\" departSpeed=\"max\" arrivalSpeed=\"0.00\" color=\"1,1,0\" departPos=\"0\" type=\"type1\">" if i%2==0 puts "\t\t<route edges=\"#{str}\"/>" else puts "\t\t<route edges=\"#{str2}\"/>" end puts "\t</vehicle>" } puts "</routes>"
sumo-gui -c jam5_wa.sumocfg --time-to-teleport -1