Closed syhwawa closed 4 months ago
In principle, you can use the cutter for any MATSim input data that is formatted in the right way. In the eqasim framework we make sure to follow a couple of clear conventions when we generate the MATSim data. For instance, every activity should have coordinates, a link ID, and a facility ID. And the coordinates should coincide with the coordinates of the facility. This way we make sure that everything is coherent when we look things up later in MATSim.
Also, we don't use teleportedModeFreespeedFactor
for routing in our scenarios, which seems to be the case for you. You may need to extend the code to properly cut these kind of modes, or you may just define them as network modes (networkModes
) with the respective data encoded in you MATSim network.
Yes, everything is cut to the provided perimeter. Have a look at chapter 4.2 here to see the whole concept: https://www.research-collection.ethz.ch/handle/20.500.11850/419837
Thanks for your reply and information! @sebhoerl
In principle, you can use the cutter for any MATSim input data that is formatted in the right way. In the eqasim framework, we make sure to follow a couple of clear conventions when we generate the MATSim data. For instance, every activity should have coordinates, a link ID, and a facility ID. The coordinates should coincide with the coordinates of the facility. This way we make sure that everything is coherent when we look things up later in MATSim.
Do you mean we should make a link ID, coordinates and facility ID within the created population so the cutter can cut the scenario? Does the cutter accept the empty facility file or if we have a way to ignore the facility?
Also, we don't use teleportedModeFreespeedFactor for routing in our scenarios, which seems to be the case for you. You may need to extend the code to properly cut these kinds of modes, or you may just define them as network modes (networkModes) with the respective data encoded in your MATSim network.
I think we may not use the teleportedModeFreespeedFactor
since I didn't find any setting related the those parameters. Do you think it will be another module which is not compatible with the required matsim config for cutting?
I would appreciate it if you could take a look or if you have any clues that I need to check for my matsim config. Thanks.
1) Yes, you need that information in the data. No, you really need the facilities (I think, but give it a try, maybe we just check for the IDs)
2) I checkd in the code in PopulationCutterModule
and this error message is created if there is one mode in the routing section that has a non-null
value for teleportedModeFreespeedFactor
. So probably this is the case in your configuration file.
Hello, I successfully used the ile_de_france jar file from the eqasim repo to cut a MATSim scenario, following the documentation.
Now, I'm considering if it's feasible to use this tool for scenarios outside of
switzerland
orile_de_france
, which could significantly enhance the efficiency of our simulations.I intend to test the scenario cutter using a small, open-source simulation project named Londinium on GitHub. Here are the MATSim config and population files I used for testing.
I'm curious whether the cutter requires specific MATSim configuration settings and plan inputs to be compatible. An error I encountered while cutting the test scenario suggested that each activity in the plans.xml might need an associated facility:
Here's an example activity from the test plan.xml:
Does it require the addition of a facility to the activity plan, like so?
I also wonder if specific MATSim configuration settings, such as the qsim mobility module, are necessary for compatibility with the cutter.
When I tried to comment out the validating statement in the
core/src/main/java/org/eqasim/core/scenario/validation/ScenarioValidator.java
, I met another error:It seems like it doesn't like some matsim config setting.
Could you please advise on any required modifications to the MATSim configuration and plans for successful testing scenario cutting?
Many thanks for your help in advance.