public AccessibilityCalculator(Scenario scenario, ActivityFacilities measuringPoints, Network network) { this.network = network; this.measuringPoints = measuringPoints; this.acg = ConfigUtils.addOrGetModule(scenario.getConfig(), AccessibilityConfigGroup.GROUP_NAME, AccessibilityConfigGroup.class); this.cnScoringGroup = scenario.getConfig().planCalcScore(); if (cnScoringGroup.getOrCreateModeParams(TransportMode.car).getMarginalUtilityOfDistance() != 0.) { LOG.error("marginal utility of distance for car different from zero but not used in accessibility computations"); } if (cnScoringGroup.getOrCreateModeParams(TransportMode.pt).getMarginalUtilityOfDistance() != 0.) { LOG.error("marginal utility of distance for pt different from zero but not used in accessibility computations"); } if (cnScoringGroup.getOrCreateModeParams(TransportMode.bike).getMonetaryDistanceRate() != 0.) { LOG.error("monetary distance cost rate for bike different from zero but not used in accessibility computations"); } if (cnScoringGroup.getOrCreateModeParams(TransportMode.walk).getMonetaryDistanceRate() != 0.) { LOG.error("monetary distance cost rate for walk different from zero but not used in accessibility computations"); } this.walkSpeed_m_h = scenario.getConfig().plansCalcRoute().getTeleportedModeSpeeds().get(TransportMode.walk) * 3600.; }
public ConstantSpeedAccessibilityExpContributionCalculator(final String mode, Config config, Network network) { this.network = network; final PlanCalcScoreConfigGroup planCalcScoreConfigGroup = config.planCalcScore() ; if (planCalcScoreConfigGroup.getOrCreateModeParams(mode).getMonetaryDistanceRate() != 0.) { LOG.error("Monetary distance cost rate for " + mode + " different from zero, but not used in accessibility computations"); } logitScaleParameter = planCalcScoreConfigGroup.getBrainExpBeta(); if (config.plansCalcRoute().getTeleportedModeSpeeds().get(mode) == null) { LOG.error("No teleported mode speed for mode " + mode + " set."); } this.modeSpeed_m_h = config.plansCalcRoute().getTeleportedModeSpeeds().get(mode) * 3600.; final PlanCalcScoreConfigGroup.ModeParams modeParams = planCalcScoreConfigGroup.getOrCreateModeParams(mode); betaModeTT = modeParams.getMarginalUtilityOfTraveling() - planCalcScoreConfigGroup.getPerforming_utils_hr(); betaModeTD = modeParams.getMarginalUtilityOfDistance(); constMode = modeParams.getConstant(); betaWalkTT = planCalcScoreConfigGroup.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() - planCalcScoreConfigGroup.getPerforming_utils_hr(); betaWalkTD = planCalcScoreConfigGroup.getModes().get(TransportMode.walk).getMarginalUtilityOfDistance(); this.walkSpeed_m_h = config.plansCalcRoute().getTeleportedModeSpeeds().get(TransportMode.walk) * 3600; }
log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("traveling_".length())); modeParams.setMarginalUtilityOfTraveling(Double.parseDouble(value)); } else if (key.startsWith("marginalUtlOfDistance_")) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("marginalUtlOfDistance_".length())); modeParams.setMarginalUtilityOfDistance(Double.parseDouble(value)); } else if (key.startsWith("monetaryDistanceRate_")) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("monetaryDistanceRate_".length())); modeParams.setMonetaryDistanceRate(Double.parseDouble(value)); } else if ("monetaryDistanceRateCar".equals(key)) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(TransportMode.car); modeParams.setMonetaryDistanceRate(Double.parseDouble(value)); } else if ("monetaryDistanceRatePt".equals(key)) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(TransportMode.pt); modeParams.setMonetaryDistanceRate(Double.parseDouble(value)); } else if (key.startsWith("constant_")) { log.warn( key + msg ); usesDeprecatedSyntax = true ; ModeParams modeParams = getOrCreateModeParams(key.substring("constant_".length())); modeParams.setConstant(Double.parseDouble(value));
public NetworkModeAccessibilityExpContributionCalculator(final TravelTime travelTime, final TravelDisutilityFactory travelDisutilityFactory, final Scenario scenario, final Network network) { this.network = network; final PlanCalcScoreConfigGroup planCalcScoreConfigGroup = scenario.getConfig().planCalcScore(); this.scheme = (RoadPricingScheme) scenario.getScenarioElement( RoadPricingScheme.ELEMENT_NAME ); this.travelTime = travelTime; Gbl.assertNotNull(travelDisutilityFactory); TravelDisutility travelDisutility = travelDisutilityFactory.createTravelDisutility(travelTime); this.lcpt = new LeastCostPathTreeExtended(travelTime, travelDisutility, this.scheme); if ( planCalcScoreConfigGroup.getOrCreateModeParams(TransportMode.car).getMarginalUtilityOfDistance() != 0. ) { log.error( "marginal utility of distance for car different from zero but not used in accessibility computations"); } logitScaleParameter = planCalcScoreConfigGroup.getBrainExpBeta() ; betaCarTT = planCalcScoreConfigGroup.getModes().get(TransportMode.car).getMarginalUtilityOfTraveling() - planCalcScoreConfigGroup.getPerforming_utils_hr(); betaCarTD = planCalcScoreConfigGroup.getMarginalUtilityOfMoney() * planCalcScoreConfigGroup.getModes().get(TransportMode.car).getMonetaryDistanceRate(); betaCarTMC = - planCalcScoreConfigGroup.getMarginalUtilityOfMoney() ; constCar = planCalcScoreConfigGroup.getModes().get(TransportMode.car).getConstant(); betaWalkTT = planCalcScoreConfigGroup.getModes().get(TransportMode.walk).getMarginalUtilityOfTraveling() - planCalcScoreConfigGroup.getPerforming_utils_hr(); betaWalkTD = planCalcScoreConfigGroup.getModes().get(TransportMode.walk).getMarginalUtilityOfDistance(); this.walkSpeed_m_s = scenario.getConfig().plansCalcRoute().getTeleportedModeSpeeds().get(TransportMode.walk); }
public PseudoInputs(String travelMode) { this.travelMode = travelMode; config=ConfigUtils.createConfig(); this.scenario = ScenarioUtils.loadScenario(config); config.qsim().setMainModes(Arrays.asList(travelMode)); //following is necessary for mixed traffic, providing a route was obstructing // the requirement of these which might be all right in some cases. Amit Jan'18 config.plansCalcRoute().setNetworkModes(Arrays.asList(travelMode)); config.travelTimeCalculator().setAnalyzedModes(travelMode); config.travelTimeCalculator().setSeparateModes(true); config.planCalcScore().getOrCreateModeParams(travelMode); network = (Network) this.scenario.getNetwork(); population = this.scenario.getPopulation(); }