public Map<String, Double> getTeleportedModeSpeeds() { final Map<String, Double> map = new LinkedHashMap< >(); for ( ModeRoutingParams pars : getModeRoutingParams().values() ) { if ( this.isLocked() ) { pars.setLocked(); } final Double speed = pars.getTeleportedModeSpeed(); if ( speed != null ) map.put( pars.getMode() , speed ); } return map; }
/** * @param teleportedModeFreespeedFactor -- {@value #TELEPORTED_MODE_FREESPEED_FACTOR_CMT} */ @StringSetter(TELEPORTED_MODE_FREESPEED_FACTOR) public void setTeleportedModeFreespeedFactor( Double teleportedModeFreespeedFactor) { testForLocked() ; if ( getTeleportedModeSpeed() != null && teleportedModeFreespeedFactor != null ) { throw new IllegalStateException( "cannot set both speed and freespeed factor for "+getMode() ); } this.teleportedModeFreespeedFactor = teleportedModeFreespeedFactor; }
private static ConfigGroup toUnderscoredModule(final PlansCalcRouteConfigGroup initialGroup) { final ConfigGroup module = new ConfigGroup( initialGroup.getName() ); for ( Map.Entry<String, String> e : initialGroup.getParams().entrySet() ) { log.info( "add param="+e.getKey() + " with value=" + e.getValue() ); module.addParam( e.getKey() , e.getValue() ); } for ( ModeRoutingParams settings : initialGroup.getModeRoutingParams().values() ) { final String mode = settings.getMode(); module.addParam( "teleportedModeSpeed_"+mode , ""+settings.getTeleportedModeSpeed() ); module.addParam( "teleportedModeFreespeedFactor_"+mode , ""+settings.getTeleportedModeFreespeedFactor() ); } Double val = null ; boolean first = true ; for ( ModeRoutingParams settings : initialGroup.getModeRoutingParams().values() ) { if ( first ) { first = false ; val = settings.getBeelineDistanceFactor() ; } else if ( !settings.getBeelineDistanceFactor().equals( val ) ) { throw new RuntimeException( "beeline distance factor varies by mode; this cannot be covered by this test" ) ; } } module.addParam( "beelineDistanceFactor", ""+val ); return module; }
public static RoutingModule createTeleportationRouter( String mode, PopulationFactory popFac, ModeRoutingParams params ) { return new TeleportationRoutingModule( mode, popFac, params.getTeleportedModeSpeed(), params.getBeelineDistanceFactor() ); }