Hello, The fastest and most efficient): call duarouter once will all the trip files. duaIterate does the same thing using subprocess.call but it does this seperately for each file. The only downside is that you have to use your own code the seperate the trips into separate files (if needed) since duarouter will create a single output file. Note, that net.getShortestPath only considers distances not speeds. This could lead to unexpected routes if there are some slow shortcuts in your network. You can also build routes using traci.simulation.findRoute
regards, Jakob Am Mo., 8. März 2021 um 13:06 Uhr schrieb Chris Abraham <[email protected] >: > After scouring the docs the whole day, the only solution I can think of is > to use getShortestPath() from sumolib.net.Net > <https://sumo.dlr.de/daily/pydoc/sumolib.net.html#Net>, and build a > rou.xml file from its outputs. Does that sound possible? I was hoping for > an easier way. Also I wanted to double check that the function is maintained > before I start coding. > > Chris > > On Mon, 8 Mar, 2021 at 07:37, Chris Abraham <[email protected]> wrote: > > Hello all, > > I currently have around 2000 trip files, each describing the trip that a > vehicle makes via a series of stops, as follows: > > <trip id="Taxi1_Day1" type="eTaxi" depart="53564" from="173819953" > to="802374502#1"> > <stop lane="173819953_0" until="53565"/> > <stop lane="68612608#0_0" until="53650"/> > ⋮ > </trip> > > Each trip file has around 750 stops. My aim is to generate a simulation > corresponding to each trip file, which routes between the stops of that > trip file. All the trip files correspond to the same network file, which > is around 480 MB big. I want to do the route generation from Python > preferably. > > My current approach is to run duaIterate.main() (from $SUMO_TOOLS/assign) > for each of the trips. However, this is taking very long. I think the > problem is that duaIterate.main() takes a lot of time to load the network > each time. It also takes almost all of my RAM to load the network, so I > can't run the process for multiple trip files concurrently. It would be > great if duaIterate.main() provided a way to pass in the network *object* > (i.e. sumolib.net.Net), rather than the *path* to the network file. > > If I could do that, I think it would take much quicker, and I could > run multiple duaIterate processes concurrently, without running out of ram. > Do you know if it is possible, or if there is a better approach? > > Regards, > Chris > > _______________________________________________ > sumo-user mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/sumo-user >
_______________________________________________ sumo-user mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
