MATSIM
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
org.matsim.pt.router.TransitRouterConfig Class Reference
Inheritance diagram for org.matsim.pt.router.TransitRouterConfig:
Inheritance graph
[legend]

Public Member Functions

 TransitRouterConfig (final Config config)
 
 TransitRouterConfig (final ScoringConfigGroup pcsConfig, final RoutingConfigGroup routingConfig, final TransitRouterConfigGroup trConfig, final VspExperimentalConfigGroup vspConfig)
 
void setUtilityOfLineSwitch_utl (final double utilityOfLineSwitch_utl_sec)
 
double getUtilityOfLineSwitch_utl ()
 
void setMarginalUtilityOfTravelTimeWalk_utl_s (final double marginalUtilityOfTravelTimeWalk_utl_s)
 
double getMarginalUtilityOfTravelTimeWalk_utl_s ()
 
void setMarginalUtilityOfTravelTimePt_utl_s (final double marginalUtilityOfTravelTimeTransit_utl_s)
 
void setMarginalUtilityOfTravelDistanceWalk_utl_m (final double marginalUtilityOfTravelDistanceWalk_utl_m)
 
double getMarginalUtilityOfTravelTimePt_utl_s ()
 
void setMarginalUtilityOfTravelDistancePt_utl_m (final double marginalUtilityOfTravelDistanceTransit_utl_m)
 
double getMarginalUtilityOfWaitingPt_utl_s ()
 
void setMarginalUtilityOfWaitingPt_utl_s (final double effectiveMarginalUtilityOfWaiting_utl_s)
 
double getMarginalUtilityOfTravelDistancePt_utl_m ()
 
double getMarginalUtilityOfTravelDistanceWalk_utl_m ()
 
void setBeelineWalkSpeed (final double beelineWalkSpeed)
 
double getBeelineWalkSpeed ()
 
double getSearchRadius ()
 
void setSearchRadius (double searchRadius)
 
double getExtensionRadius ()
 
void setExtensionRadius (double extensionRadius)
 
double getBeelineWalkConnectionDistance ()
 
void setBeelineWalkConnectionDistance (double beelineWalkConnectionDistance)
 
double getAdditionalTransferTime ()
 
void setAdditionalTransferTime (double additionalTransferTime)
 
final Double getBeelineDistanceFactor ()
 
double getDirectWalkFactor ()
 
boolean isCacheTree ()
 
void setCacheTree (boolean cacheTree)
 

Private Attributes

double searchRadius = 1000.0
 
double extensionRadius = 200.0
 
double beelineWalkConnectionDistance = 100.0
 
double additionalTransferTime = 0.0
 
double beelineWalkSpeed
 
double marginalUtilityOfTravelTimeWalk_utl_s
 
double marginalUtilityOfTravelTimeTransit_utl_s
 
double marginalUtilityOfWaitingPt_utl_s
 
double marginalUtilityOfTravelDistanceWalk_utl_m
 
double marginalUtilityOfTravelDistanceTransit_utl_m
 
double utilityOfLineSwitch_utl
 
Double beelineDistanceFactor
 
final double directWalkFactor
 
boolean cacheTree
 

Static Private Attributes

static final Logger log = LogManager.getLogger( TransitRouterConfig.class )
 

Detailed Description

Design decisions:

Definition at line 42 of file TransitRouterConfig.java.

Constructor & Destructor Documentation

◆ TransitRouterConfig() [1/2]

org.matsim.pt.router.TransitRouterConfig.TransitRouterConfig ( final Config  config)

Definition at line 105 of file TransitRouterConfig.java.

References org.matsim.core.config.Config.routing(), org.matsim.core.config.Config.scoring(), org.matsim.core.config.Config.transitRouter(), and org.matsim.core.config.Config.vspExperimental().

105  {
106  this(config.scoring(), config.routing(), config.transitRouter(), config.vspExperimental());
107  }
Here is the call graph for this function:

◆ TransitRouterConfig() [2/2]

org.matsim.pt.router.TransitRouterConfig.TransitRouterConfig ( final ScoringConfigGroup  pcsConfig,
final RoutingConfigGroup  routingConfig,
final TransitRouterConfigGroup  trConfig,
final VspExperimentalConfigGroup  vspConfig 
)

Definition at line 109 of file TransitRouterConfig.java.

References org.matsim.core.gbl.Gbl.assertNotNull(), org.matsim.pt.router.TransitRouterConfig.beelineDistanceFactor, org.matsim.pt.config.TransitRouterConfigGroup.getAdditionalTransferTime(), org.matsim.core.config.groups.RoutingConfigGroup.TeleportedModeParams.getBeelineDistanceFactor(), org.matsim.pt.config.TransitRouterConfigGroup.getDirectWalkFactor(), org.matsim.pt.config.TransitRouterConfigGroup.getExtensionRadius(), org.matsim.core.config.groups.ScoringConfigGroup.getMarginalUtilityOfMoney(), org.matsim.core.config.groups.ScoringConfigGroup.getMarginalUtlOfWaitingPt_utils_hr(), org.matsim.pt.config.TransitRouterConfigGroup.getMaxBeelineWalkConnectionDistance(), org.matsim.core.config.groups.ScoringConfigGroup.getModes(), org.matsim.core.config.groups.ScoringConfigGroup.getPerforming_utils_hr(), org.matsim.core.config.groups.ScoringConfigGroup.getScoringParametersPerSubpopulation(), org.matsim.pt.config.TransitRouterConfigGroup.getSearchRadius(), org.matsim.core.config.groups.RoutingConfigGroup.getTeleportedModeParams(), org.matsim.core.config.groups.RoutingConfigGroup.TeleportedModeParams.getTeleportedModeSpeed(), org.matsim.core.config.groups.ScoringConfigGroup.getUtilityOfLineSwitch(), org.matsim.pt.config.TransitRouterConfigGroup.isCacheTree(), org.matsim.api.core.v01.TransportMode.non_network_walk, org.matsim.api.core.v01.TransportMode.pt, org.matsim.pt.router.TransitRouterConfig.setAdditionalTransferTime(), org.matsim.pt.router.TransitRouterConfig.setBeelineWalkConnectionDistance(), org.matsim.pt.router.TransitRouterConfig.setExtensionRadius(), org.matsim.core.config.ConfigGroup.setLocked(), org.matsim.core.config.groups.ScoringConfigGroup.setLocked(), org.matsim.pt.router.TransitRouterConfig.setSearchRadius(), org.matsim.api.core.v01.TransportMode.transit_walk, and org.matsim.api.core.v01.TransportMode.walk.

111  {
112  pcsConfig.setLocked(); routingConfig.setLocked() ; trConfig.setLocked() ; vspConfig.setLocked() ;
113 
114  if (pcsConfig.getScoringParametersPerSubpopulation().size()>1){
115  LogManager.getLogger(getClass()).warn("More than one subpopulation is used in plansCalcScore. "
116  + "This is not currently implemented in the TransitRouter (but should work for scoring),"
117  + " so the values for the \"default\" subpopulation will be used. (jb, Feb 2018)");
118  }
119 
120  // walk:
121  {
122  TeleportedModeParams params = routingConfig.getTeleportedModeParams().get( TransportMode.transit_walk );
123  if ( params==null ) {
124  params = routingConfig.getTeleportedModeParams().get( TransportMode.non_network_walk );
125  }
126  if ( params==null ) {
127  params = routingConfig.getTeleportedModeParams().get( TransportMode.walk) ;
128  }
129  if ( params==null ) {
130  log.error( "teleported mode params do not exist for " + TransportMode.transit_walk + ", " + TransportMode.non_network_walk + ", nor "
131  + TransportMode.walk + ". At least one of them needs to be defined for TransitRouterConfig. Aborting ...");
132  // yyyy I do not know which of this is conceptually the correct one. It should _not_ be walk since that may be routed on the network, see below. kai, mar'25
133  }
134  Gbl.assertNotNull( params );
135  this.beelineDistanceFactor = params.getBeelineDistanceFactor();
136  this.beelineWalkSpeed = params.getTeleportedModeSpeed() / beelineDistanceFactor;
137  }
138  // yyyyyy the two above need to be moved away from walk since otherwise one is not able to move walk routing to network routing!!!!!! Now trying access_walk ... kai,
139  // apr'19
140 
141  this.marginalUtilityOfTravelTimeWalk_utl_s = pcsConfig.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() /3600.0 - pcsConfig.getPerforming_utils_hr()/3600. ;
142 
143  this.marginalUtilityOfTravelDistanceWalk_utl_m = pcsConfig.getMarginalUtilityOfMoney() *
144  pcsConfig.getModes().get(TransportMode.walk).getMonetaryDistanceRate() +
145  pcsConfig.getModes().get(TransportMode.walk).getMarginalUtilityOfDistance();
146 
147  // pt:
148  this.marginalUtilityOfTravelTimeTransit_utl_s = pcsConfig.getModes().get(TransportMode.pt).getMarginalUtilityOfTraveling() /3600.0 - pcsConfig.getPerforming_utils_hr()/3600. ;
149 
150  this.marginalUtilityOfTravelDistanceTransit_utl_m = pcsConfig.getMarginalUtilityOfMoney() *
151  pcsConfig.getModes().get(TransportMode.pt).getMonetaryDistanceRate() +
152  pcsConfig.getModes().get(TransportMode.pt).getMarginalUtilityOfDistance();
153 
154  this.marginalUtilityOfWaitingPt_utl_s = pcsConfig.getMarginalUtlOfWaitingPt_utils_hr() / 3600.0 - pcsConfig.getPerforming_utils_hr()/3600. ;
155 
156  this.utilityOfLineSwitch_utl = pcsConfig.getUtilityOfLineSwitch();
157 
158  // router:
159  this.setSearchRadius(trConfig.getSearchRadius());
160  this.setExtensionRadius(trConfig.getExtensionRadius());
161  this.setBeelineWalkConnectionDistance(trConfig.getMaxBeelineWalkConnectionDistance());
162  this.setAdditionalTransferTime(trConfig.getAdditionalTransferTime());
163  this.directWalkFactor = trConfig.getDirectWalkFactor() ;
164  this.cacheTree = trConfig.isCacheTree();
165  }
void setExtensionRadius(double extensionRadius)
void setAdditionalTransferTime(double additionalTransferTime)
void setBeelineWalkConnectionDistance(double beelineWalkConnectionDistance)
Here is the call graph for this function:

Member Function Documentation

◆ setUtilityOfLineSwitch_utl()

void org.matsim.pt.router.TransitRouterConfig.setUtilityOfLineSwitch_utl ( final double  utilityOfLineSwitch_utl_sec)

Definition at line 167 of file TransitRouterConfig.java.

167  {
168  this.utilityOfLineSwitch_utl = utilityOfLineSwitch_utl_sec;
169  }

◆ getUtilityOfLineSwitch_utl()

double org.matsim.pt.router.TransitRouterConfig.getUtilityOfLineSwitch_utl ( )

The additional utility to be added when an agent switches lines. Normally negative

The "_utl" can go as soon as we are confident that there are no more utilities in "Eu". kai, feb'11

Definition at line 176 of file TransitRouterConfig.java.

References org.matsim.pt.router.TransitRouterConfig.utilityOfLineSwitch_utl.

Referenced by ch.sbb.matsim.routing.pt.raptor.RaptorUtils.createParameters().

176  {
177  return this.utilityOfLineSwitch_utl;
178  }

◆ setMarginalUtilityOfTravelTimeWalk_utl_s()

void org.matsim.pt.router.TransitRouterConfig.setMarginalUtilityOfTravelTimeWalk_utl_s ( final double  marginalUtilityOfTravelTimeWalk_utl_s)

◆ getMarginalUtilityOfTravelTimeWalk_utl_s()

double org.matsim.pt.router.TransitRouterConfig.getMarginalUtilityOfTravelTimeWalk_utl_s ( )

◆ setMarginalUtilityOfTravelTimePt_utl_s()

void org.matsim.pt.router.TransitRouterConfig.setMarginalUtilityOfTravelTimePt_utl_s ( final double  marginalUtilityOfTravelTimeTransit_utl_s)

◆ setMarginalUtilityOfTravelDistanceWalk_utl_m()

void org.matsim.pt.router.TransitRouterConfig.setMarginalUtilityOfTravelDistanceWalk_utl_m ( final double  marginalUtilityOfTravelDistanceWalk_utl_m)

◆ getMarginalUtilityOfTravelTimePt_utl_s()

double org.matsim.pt.router.TransitRouterConfig.getMarginalUtilityOfTravelTimePt_utl_s ( )
Returns
the marginal utility of travel time by public transit.

Definition at line 199 of file TransitRouterConfig.java.

References org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfTravelTimeTransit_utl_s.

◆ setMarginalUtilityOfTravelDistancePt_utl_m()

void org.matsim.pt.router.TransitRouterConfig.setMarginalUtilityOfTravelDistancePt_utl_m ( final double  marginalUtilityOfTravelDistanceTransit_utl_m)

◆ getMarginalUtilityOfWaitingPt_utl_s()

double org.matsim.pt.router.TransitRouterConfig.getMarginalUtilityOfWaitingPt_utl_s ( )

◆ setMarginalUtilityOfWaitingPt_utl_s()

void org.matsim.pt.router.TransitRouterConfig.setMarginalUtilityOfWaitingPt_utl_s ( final double  effectiveMarginalUtilityOfWaiting_utl_s)

Definition at line 211 of file TransitRouterConfig.java.

211  {
212  this.marginalUtilityOfWaitingPt_utl_s = effectiveMarginalUtilityOfWaiting_utl_s;
213  }

◆ getMarginalUtilityOfTravelDistancePt_utl_m()

double org.matsim.pt.router.TransitRouterConfig.getMarginalUtilityOfTravelDistancePt_utl_m ( )

in the config, this is distanceCostRate * margUtlOfMoney. For the router, the conversion to utils seems ok. kai, feb'11

Definition at line 219 of file TransitRouterConfig.java.

References org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfTravelDistanceTransit_utl_m.

◆ getMarginalUtilityOfTravelDistanceWalk_utl_m()

double org.matsim.pt.router.TransitRouterConfig.getMarginalUtilityOfTravelDistanceWalk_utl_m ( )

◆ setBeelineWalkSpeed()

void org.matsim.pt.router.TransitRouterConfig.setBeelineWalkSpeed ( final double  beelineWalkSpeed)

◆ getBeelineWalkSpeed()

double org.matsim.pt.router.TransitRouterConfig.getBeelineWalkSpeed ( )

Walking speed of agents on transfer links, beeline distance.

Definition at line 234 of file TransitRouterConfig.java.

References org.matsim.pt.router.TransitRouterConfig.beelineWalkSpeed.

Referenced by ch.sbb.matsim.routing.pt.raptor.RaptorUtils.createParameters().

234  {
235  return this.beelineWalkSpeed;
236  }

◆ getSearchRadius()

double org.matsim.pt.router.TransitRouterConfig.getSearchRadius ( )

◆ setSearchRadius()

void org.matsim.pt.router.TransitRouterConfig.setSearchRadius ( double  searchRadius)

◆ getExtensionRadius()

double org.matsim.pt.router.TransitRouterConfig.getExtensionRadius ( )

◆ setExtensionRadius()

void org.matsim.pt.router.TransitRouterConfig.setExtensionRadius ( double  extensionRadius)

◆ getBeelineWalkConnectionDistance()

double org.matsim.pt.router.TransitRouterConfig.getBeelineWalkConnectionDistance ( )

◆ setBeelineWalkConnectionDistance()

void org.matsim.pt.router.TransitRouterConfig.setBeelineWalkConnectionDistance ( double  beelineWalkConnectionDistance)

◆ getAdditionalTransferTime()

double org.matsim.pt.router.TransitRouterConfig.getAdditionalTransferTime ( )

◆ setAdditionalTransferTime()

void org.matsim.pt.router.TransitRouterConfig.setAdditionalTransferTime ( double  additionalTransferTime)

◆ getBeelineDistanceFactor()

final Double org.matsim.pt.router.TransitRouterConfig.getBeelineDistanceFactor ( )

◆ getDirectWalkFactor()

double org.matsim.pt.router.TransitRouterConfig.getDirectWalkFactor ( )

◆ isCacheTree()

boolean org.matsim.pt.router.TransitRouterConfig.isCacheTree ( )

◆ setCacheTree()

void org.matsim.pt.router.TransitRouterConfig.setCacheTree ( boolean  cacheTree)

Member Data Documentation

◆ log

final Logger org.matsim.pt.router.TransitRouterConfig.log = LogManager.getLogger( TransitRouterConfig.class )
staticprivate

Definition at line 43 of file TransitRouterConfig.java.

◆ searchRadius

double org.matsim.pt.router.TransitRouterConfig.searchRadius = 1000.0
private

The distance in meters in which stop facilities should be searched for around the start and end coordinate.

Definition at line 49 of file TransitRouterConfig.java.

Referenced by org.matsim.pt.router.TransitRouterConfig.getSearchRadius(), and org.matsim.pt.router.TransitRouterConfig.setSearchRadius().

◆ extensionRadius

double org.matsim.pt.router.TransitRouterConfig.extensionRadius = 200.0
private

If no stop facility is found around start or end coordinate (see searchRadius), the nearest stop location is searched for and the distance from start/end coordinate to this location is extended by the given amount.
If only one stop facility is found within searchRadius, the radius is also extended in the hope to find more stop facilities (e.g. in the opposite direction of the already found stop).

Definition at line 61 of file TransitRouterConfig.java.

Referenced by org.matsim.pt.router.TransitRouterConfig.getExtensionRadius(), and org.matsim.pt.router.TransitRouterConfig.setExtensionRadius().

◆ beelineWalkConnectionDistance

double org.matsim.pt.router.TransitRouterConfig.beelineWalkConnectionDistance = 100.0
private

The distance in meters that agents can walk to get from one stop to another stop of a nearby transit line.

Is this really needed? If the marg utl of walk is correctly set, this should come out automagically. kai, feb'11 This value is used to generate the walk connections between stop facilities. If they are used, depends on the scoring/cost calculation. But when they are missing, they cannot be used at all. mrieser, mar'11

Definition at line 73 of file TransitRouterConfig.java.

Referenced by org.matsim.pt.router.TransitRouterConfig.getBeelineWalkConnectionDistance(), and org.matsim.pt.router.TransitRouterConfig.setBeelineWalkConnectionDistance().

◆ additionalTransferTime

double org.matsim.pt.router.TransitRouterConfig.additionalTransferTime = 0.0
private

The minimum time needed for a transfer is calculated based on the distance and the beeline walk speed between two stop facilities. Due to passengers probably not being able to immediately (=in the same second) leave a transit vehicle, or a vehicle being delayed by a small amount of time, an additional "savety" time can be added to transfers when searching for connecting trips. This could help to find "better" transfer connections such as they can indeed be realized by the simulation. This value only affects the routing process, not the simulation itself.

Definition at line 83 of file TransitRouterConfig.java.

Referenced by org.matsim.pt.router.TransitRouterConfig.getAdditionalTransferTime(), and org.matsim.pt.router.TransitRouterConfig.setAdditionalTransferTime().

◆ beelineWalkSpeed

double org.matsim.pt.router.TransitRouterConfig.beelineWalkSpeed
private

◆ marginalUtilityOfTravelTimeWalk_utl_s

double org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfTravelTimeWalk_utl_s
private

◆ marginalUtilityOfTravelTimeTransit_utl_s

double org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfTravelTimeTransit_utl_s
private

◆ marginalUtilityOfWaitingPt_utl_s

double org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfWaitingPt_utl_s
private

◆ marginalUtilityOfTravelDistanceWalk_utl_m

double org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfTravelDistanceWalk_utl_m
private

◆ marginalUtilityOfTravelDistanceTransit_utl_m

double org.matsim.pt.router.TransitRouterConfig.marginalUtilityOfTravelDistanceTransit_utl_m
private

◆ utilityOfLineSwitch_utl

double org.matsim.pt.router.TransitRouterConfig.utilityOfLineSwitch_utl
private

◆ beelineDistanceFactor

Double org.matsim.pt.router.TransitRouterConfig.beelineDistanceFactor
private

◆ directWalkFactor

final double org.matsim.pt.router.TransitRouterConfig.directWalkFactor
private

◆ cacheTree

boolean org.matsim.pt.router.TransitRouterConfig.cacheTree
private

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