MATSIM
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
tutorial.programming.example08DemandGeneration.RunPPopulationGenerator Class Reference
Inheritance diagram for tutorial.programming.example08DemandGeneration.RunPPopulationGenerator:
Inheritance graph
[legend]

Public Member Functions

void run ()
 

Static Public Member Functions

static void main (String[] args)
 

Private Member Functions

void fillZoneData ()
 
void generatePopulation ()
 
void generateHomeWorkHomeTrips (String from, String to, int quantity)
 
Leg createDriveLeg ()
 
Coord shoot (Coord source)
 
Activity createWork (Coord workLocation)
 
Activity createHome (Coord homeLocation)
 
Id< PersoncreateId (String source, String sink, int i, String transportMode)
 

Private Attributes

Map< String, CoordzoneGeometries = new HashMap<>()
 
CoordinateTransformation ct = TransformationFactory.getCoordinateTransformation(TransformationFactory.WGS84, TransformationFactory.WGS84_UTM33N)
 
Scenario scenario
 
Population population
 

Detailed Description

"P" has to do with "Potsdam" and "Z" with "Zurich", but P and Z are mostly used to show which classes belong together.

Definition at line 24 of file RunPPopulationGenerator.java.

Member Function Documentation

static void tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.main ( String[]  args)
static

Definition at line 34 of file RunPPopulationGenerator.java.

References tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.run().

34  {
35  RunPPopulationGenerator potsdamPop = new RunPPopulationGenerator();
36  potsdamPop.run();
37  }

Here is the call graph for this function:

void tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.run ( )

Definition at line 40 of file RunPPopulationGenerator.java.

References org.matsim.core.config.ConfigUtils.createConfig(), org.matsim.core.scenario.ScenarioUtils.createScenario(), tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.fillZoneData(), tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generatePopulation(), org.matsim.api.core.v01.Scenario.getNetwork(), org.matsim.api.core.v01.Scenario.getPopulation(), and org.matsim.api.core.v01.population.PopulationWriter.write().

Referenced by tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.main().

Here is the call graph for this function:

void tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.fillZoneData ( )
private

Definition at line 49 of file RunPPopulationGenerator.java.

Referenced by tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.run().

49  {
50  // Add the locations you want to use here.
51  // (with proper coordinates)
52  zoneGeometries.put("home1", new Coord((double) 0, (double) 1));
53  zoneGeometries.put("work1", new Coord((double) 50, (double) 0));
54  }
void tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generatePopulation ( )
private

Definition at line 56 of file RunPPopulationGenerator.java.

References tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generateHomeWorkHomeTrips().

Referenced by tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.run().

56  {
57  generateHomeWorkHomeTrips("home1", "work1", 20); // create 20 trips from zone 'home1' to 'work1'
58  //... generate more trips here
59  }

Here is the call graph for this function:

void tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generateHomeWorkHomeTrips ( String  from,
String  to,
int  quantity 
)
private

Definition at line 61 of file RunPPopulationGenerator.java.

References org.matsim.api.core.v01.population.Plan.addActivity(), org.matsim.api.core.v01.population.Plan.addLeg(), org.matsim.api.core.v01.population.Population.addPerson(), org.matsim.api.core.v01.population.HasPlansAndId< T extends BasicPlan, I >.addPlan(), org.matsim.api.core.v01.TransportMode.car, tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createDriveLeg(), tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createHome(), tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createId(), org.matsim.api.core.v01.population.PopulationFactory.createPerson(), org.matsim.api.core.v01.population.PopulationFactory.createPlan(), tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createWork(), org.matsim.api.core.v01.population.Population.getFactory(), tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.shoot(), and org.matsim.core.utils.geometry.CoordinateTransformation.transform().

Referenced by tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generatePopulation().

61  {
62  for (int i=0; i<quantity; ++i) {
63  Coord source = zoneGeometries.get(from);
64  Coord sink = zoneGeometries.get(to);
65  Person person = population.getFactory().createPerson(createId(from, to, i, TransportMode.car));
66  Plan plan = population.getFactory().createPlan();
67  Coord homeLocation = shoot(ct.transform(source));
68  Coord workLocation = shoot(ct.transform(sink));
69  plan.addActivity(createHome(homeLocation));
70  plan.addLeg(createDriveLeg());
71  plan.addActivity(createWork(workLocation));
72  plan.addLeg(createDriveLeg());
73  plan.addActivity(createHome(homeLocation));
74  person.addPlan(plan);
75  population.addPerson(person);
76  }
77  }
Id< Person > createId(String source, String sink, int i, String transportMode)

Here is the call graph for this function:

Leg tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createDriveLeg ( )
private
Coord tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.shoot ( Coord  source)
private

Definition at line 84 of file RunPPopulationGenerator.java.

Referenced by tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generateHomeWorkHomeTrips().

84  {
85  // Insert code here to blur the input coordinate.
86  // For example, add a random number to the x and y coordinates.
87  return source;
88  }
Activity tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createWork ( Coord  workLocation)
private
Activity tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createHome ( Coord  homeLocation)
private
Id<Person> tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.createId ( String  source,
String  sink,
int  i,
String  transportMode 
)
private

Definition at line 102 of file RunPPopulationGenerator.java.

Referenced by tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.generateHomeWorkHomeTrips().

102  {
103  return Id.create(transportMode + "_" + source + "_" + sink + "_" + i, Person.class);
104  }

Member Data Documentation

Map<String, Coord> tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.zoneGeometries = new HashMap<>()
private

Definition at line 26 of file RunPPopulationGenerator.java.

CoordinateTransformation tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.ct = TransformationFactory.getCoordinateTransformation(TransformationFactory.WGS84, TransformationFactory.WGS84_UTM33N)
private

Definition at line 28 of file RunPPopulationGenerator.java.

Scenario tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.scenario
private

Definition at line 30 of file RunPPopulationGenerator.java.

Population tutorial.programming.example08DemandGeneration.RunPPopulationGenerator.population
private

Definition at line 32 of file RunPPopulationGenerator.java.


The documentation for this class was generated from the following file: