Class SpeedConnectoidTravelTimeCost

    • Field Detail

      • DEFAULT_CONNECTOID_SPEED_KPH

        public static final double DEFAULT_CONNECTOID_SPEED_KPH
        default to apply
        See Also:
        Constant Field Values
    • Constructor Detail

      • SpeedConnectoidTravelTimeCost

        public SpeedConnectoidTravelTimeCost​(IdGroupingToken groupId)
        Constructor
        Parameters:
        groupId - contiguous id generation within this group for instances of this class
      • SpeedConnectoidTravelTimeCost

        public SpeedConnectoidTravelTimeCost​(SpeedConnectoidTravelTimeCost other)
        Copy constructor
        Parameters:
        other - to copy
    • Method Detail

      • setConnectoidSpeed

        public void setConnectoidSpeed​(double connectoidSpeed)
        set the connectoid speed
        Parameters:
        connectoidSpeed - the speed
      • updateTimePeriod

        public void updateTimePeriod​(TimePeriod timePeriod)
        Provide the cost calculation with information regarding the time period for which the cost is to be calculated
        Specified by:
        updateTimePeriod in class AbstractVirtualCost
        Parameters:
        timePeriod - to apply
      • getGeneralisedCost

        public double getGeneralisedCost​(Mode mode,
                                         ConnectoidSegment connectoidSegment)
        Return the connectoid travel time using speed
        Parameters:
        mode - the mode of travel
        connectoidSegment - the connectoid segment
        Returns:
        the travel time for this connectoid segment
      • populateWithCost

        public void populateWithCost​(VirtualNetwork virtualNetwork,
                                     Mode mode,
                                     double[] costToFill)
                              throws PlanItException
        Invoker expects (mode specific ) costs in passed in array to be filled, where each entry signifies a link segment by its id
        Parameters:
        virtualNetwork - the cost pertains to
        mode - the mode these costs pertain to
        costToFill - array of link segment costs identified by the link segment's internal id
        Throws:
        PlanItException - thrown if error
      • reset

        public void reset()
        Chosen speed is considered configuration not internal state, so upon resetting the chosen speed remains in tact
        Specified by:
        reset in class PlanitComponent<AbstractVirtualCost>
      • getTravelTimeCost

        public double getTravelTimeCost​(Mode mode,
                                        ConnectoidSegment connectoidSegment)
        Returns the generalised cost of travel along an edge segment for a specified mode
        Parameters:
        mode - the specified mode of travel
        connectoidSegment - the specified edge segment (which can be physical or virtual)
        Returns:
        the cost of travel along the specified segment
      • getDTravelTimeDFlow

        public double getDTravelTimeDFlow​(boolean uncongested,
                                          Mode mode,
                                          ConnectoidSegment connectoidSegment)
        Fixed, so derivative is always zero
        Parameters:
        uncongested - flag idicating if the provided flow is uncongested or congested flow, relevant when flow can represent multiple traffic states
        mode - to use
        connectoidSegment - to use
        Returns:
        the first derivative of travel time for a unit flow rate change in PCU per Hour