MATSIM
RunPCreateDrivingAgents.java
Go to the documentation of this file.
1 package tutorial.programming.example08DemandGeneration;
2 
3 import org.matsim.api.core.v01.Coord;
4 import org.matsim.api.core.v01.Id;
11 import org.matsim.core.config.Config;
18 
20 
21  public static void main(String[] args) {
22  Config config = ConfigUtils.createConfig();
23 
24  config.controler().setLastIteration(0);
25 
26  ActivityParams home = new ActivityParams("home");
27  home.setTypicalDuration(16 * 60 * 60);
28  config.planCalcScore().addActivityParams(home);
29  ActivityParams work = new ActivityParams("work");
30  work.setTypicalDuration(8 * 60 * 60);
31  config.planCalcScore().addActivityParams(work);
32 
33  Scenario scenario = ScenarioUtils.createScenario(config);
34 
35  new MatsimNetworkReader(scenario.getNetwork()).readFile("input/network.xml");
36 
37  fillScenario(scenario);
38 
39  Controler controler = new Controler(scenario);
41  controler.run();
42 
43 
44  }
45 
46  private static Population fillScenario(Scenario scenario) {
47  Population population = scenario.getPopulation();
48 
49  for (int i = 0; i < 1000; i++) {
50  Coord coord = new Coord((double) (454941 + i * 10), (double) (5737814 + i * 10));
51  Coord coordWork = new Coord((double) (454941 - i * 10), (double) (5737814 - i * 10));
52  createOnePerson(scenario, population, i, coord, coordWork);
53  }
54 
55  return population;
56  }
57 
58  private static void createOnePerson(Scenario scenario,
59  Population population, int i, Coord coord, Coord coordWork) {
60  Person person = population.getFactory().createPerson(Id.createPersonId("p_"+i));
61 
62  Plan plan = population.getFactory().createPlan();
63 
64 
65  Activity home = population.getFactory().createActivityFromCoord("home", coord);
66  home.setEndTime(9*60*60);
67  plan.addActivity(home);
68 
69  Leg hinweg = population.getFactory().createLeg("car");
70  plan.addLeg(hinweg);
71 
72  Activity work = population.getFactory().createActivityFromCoord("work", coordWork);
73  work.setEndTime(17*60*60);
74  plan.addActivity(work);
75 
76  Leg rueckweg = population.getFactory().createLeg("car");
77  plan.addLeg(rueckweg);
78 
79  Activity home2 = population.getFactory().createActivityFromCoord("home", coord);
80  plan.addActivity(home2);
81 
82  person.addPlan(plan);
83  population.addPerson(person);
84  }
85 
86 }
87 
abstract void addLeg(final Leg leg)
abstract void addActivity(final Activity act)
ControlerConfigGroup controler
Definition: Config.java:87
static Config createConfig(final String filename)
static void createOnePerson(Scenario scenario, Population population, int i, Coord coord, Coord coordWork)
Activity createActivityFromCoord(String actType, Coord coord)
final PlanCalcScoreConfigGroup planCalcScore()
Definition: Config.java:444
static Scenario createScenario(final Config config)
void setEndTime(final double seconds)