Package org.planit.project
Class PlanItProjectInput
- java.lang.Object
-
- org.planit.project.PlanItProjectInput
-
public class PlanItProjectInput extends Object
Class that holds all the input traffic components for a PLANit project. The PLANit project holds an instance of this class and delegates all calls relating to inputs to this class.- Author:
- markr
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
PlanItProjectInput.ProjectDemands
Internal class for registered demandsclass
PlanItProjectInput.ProjectNetworks
Internal class for registered physical networksclass
PlanItProjectInput.ProjectODRouteSets
Internal class for registered od route setsclass
PlanItProjectInput.ProjectZonings
Internal class for registered zonings
-
Field Summary
Fields Modifier and Type Field Description PlanItProjectInput.ProjectDemands
demands
The registered demandsprotected TrafficAssignmentComponentFactory<Demands>
demandsFactory
Object factory for demands objectprotected TreeMap<Long,Demands>
demandsMap
The demands registered on this projectprotected Map<PhysicalNetwork,List<InitialLinkSegmentCost>>
initialLinkSegmentCosts
Map to store all InitialLinkSegmentCost objects for each physical networkprotected TrafficAssignmentComponentFactory<InitialPhysicalCost>
initialPhysicalCostFactory
Object factory for physical costsPlanItProjectInput.ProjectODRouteSets
odRouteSets
The registered OD route setsprotected TrafficAssignmentComponentFactory<ODRouteSets>
odRouteSetsFactory
Object factory for od route sets objectprotected TreeMap<Long,ODRouteSets>
odRouteSetsMap
The od route sets registered on this projectprotected TrafficAssignmentComponentFactory<PhysicalNetwork>
physicalNetworkFactory
Object Factory for physical network objectprotected TreeMap<Long,PhysicalNetwork>
physicalNetworkMap
The physical networks registered on this projectPlanItProjectInput.ProjectNetworks
physicalNetworks
The registered physical networksprotected TrafficAssignmentComponentFactory<Zoning>
zoningFactory
Object factory for zoning objectsPlanItProjectInput.ProjectZonings
zonings
The registered zoningsprotected TreeMap<Long,Zoning>
zoningsMap
The zonings registered on this project
-
Constructor Summary
Constructors Constructor Description PlanItProjectInput(long projectId, IdGroupingToken projectGroupId, InputBuilderListener inputBuilderListener)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Demands
createAndRegisterDemands(Zoning zoning, PhysicalNetwork physicalNetwork)
Create and register demands to the project inputsInitialLinkSegmentCost
createAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName)
Create and register initial link segment costs from a (single) file which we assume are available in the native xml/csv output format as provided in this projectList<InitialLinkSegmentCostPeriod>
createAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName, Demands demands)
Create and register initial link segment costs from a (single) file for all time periods in Demands objectInitialLinkSegmentCostPeriod
createAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName, TimePeriod timePeriod)
Create and register initial link segment costs from a (single) file for each time periodODRouteSets
createAndRegisterODRouteSets(PhysicalNetwork physicalNetwork, Zoning zoning, String odRouteSetInputPath)
Create and register the OD route sets on the project inputPhysicalNetwork
createAndRegisterPhysicalNetwork(String physicalNetworkType)
Create and register a physical network on the project inputZoning
createAndRegisterZoning(PhysicalNetwork physicalNetwork)
Create and register the zoning system on the network and project inputList<InitialLinkSegmentCost>
getInitialLinkSegmentCost(PhysicalNetwork network)
Return the initial link segment costs for a network
-
-
-
Field Detail
-
physicalNetworkMap
protected final TreeMap<Long,PhysicalNetwork> physicalNetworkMap
The physical networks registered on this project
-
odRouteSetsMap
protected final TreeMap<Long,ODRouteSets> odRouteSetsMap
The od route sets registered on this project
-
initialLinkSegmentCosts
protected final Map<PhysicalNetwork,List<InitialLinkSegmentCost>> initialLinkSegmentCosts
Map to store all InitialLinkSegmentCost objects for each physical network
-
physicalNetworkFactory
protected TrafficAssignmentComponentFactory<PhysicalNetwork> physicalNetworkFactory
Object Factory for physical network object
-
demandsFactory
protected TrafficAssignmentComponentFactory<Demands> demandsFactory
Object factory for demands object
-
zoningFactory
protected TrafficAssignmentComponentFactory<Zoning> zoningFactory
Object factory for zoning objects
-
odRouteSetsFactory
protected TrafficAssignmentComponentFactory<ODRouteSets> odRouteSetsFactory
Object factory for od route sets object
-
initialPhysicalCostFactory
protected TrafficAssignmentComponentFactory<InitialPhysicalCost> initialPhysicalCostFactory
Object factory for physical costs
-
physicalNetworks
public final PlanItProjectInput.ProjectNetworks physicalNetworks
The registered physical networks
-
demands
public final PlanItProjectInput.ProjectDemands demands
The registered demands
-
zonings
public final PlanItProjectInput.ProjectZonings zonings
The registered zonings
-
odRouteSets
public final PlanItProjectInput.ProjectODRouteSets odRouteSets
The registered OD route sets
-
-
Constructor Detail
-
PlanItProjectInput
public PlanItProjectInput(long projectId, IdGroupingToken projectGroupId, InputBuilderListener inputBuilderListener)
Constructor- Parameters:
projectId
- the projectIdprojectGroupId
- the id generator tokeninputBuilderListener
- the input builder to parse inputs
-
-
Method Detail
-
createAndRegisterPhysicalNetwork
public PhysicalNetwork createAndRegisterPhysicalNetwork(String physicalNetworkType) throws PlanItException
Create and register a physical network on the project input- Parameters:
physicalNetworkType
- name of physical network class to register- Returns:
- the generated physical network
- Throws:
PlanItException
- thrown if there is an error
-
createAndRegisterZoning
public Zoning createAndRegisterZoning(PhysicalNetwork physicalNetwork) throws PlanItException
Create and register the zoning system on the network and project input- Parameters:
physicalNetwork
- the physical network on which the zoning will be based- Returns:
- the generated zoning object
- Throws:
PlanItException
- thrown if there is an error
-
createAndRegisterDemands
public Demands createAndRegisterDemands(Zoning zoning, PhysicalNetwork physicalNetwork) throws PlanItException
Create and register demands to the project inputs- Parameters:
zoning
- zoning object which defines the zones which will be used in the demand matrix to be createdphysicalNetwork
- the physical network which stores the modes (demands can different for each mode)- Returns:
- the generated demands object
- Throws:
PlanItException
- thrown if there is an error
-
createAndRegisterODRouteSets
public ODRouteSets createAndRegisterODRouteSets(PhysicalNetwork physicalNetwork, Zoning zoning, String odRouteSetInputPath) throws PlanItException
Create and register the OD route sets on the project input- Parameters:
physicalNetwork
- network the routes must be compatible withzoning
- zoning to match od routes toodRouteSetInputPath
- path to collect the routes from- Returns:
- od route sets that have been parsed
- Throws:
PlanItException
- thrown if there is an error
-
createAndRegisterInitialLinkSegmentCost
public InitialLinkSegmentCost createAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName) throws PlanItException
Create and register initial link segment costs from a (single) file which we assume are available in the native xml/csv output format as provided in this project- Parameters:
network
- physical network the InitialLinkSegmentCost object will be registered forfileName
- file containing the initial link segment cost values- Returns:
- the InitialLinkSegmentCost object
- Throws:
PlanItException
- thrown if there is an error
-
createAndRegisterInitialLinkSegmentCost
public InitialLinkSegmentCostPeriod createAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName, TimePeriod timePeriod) throws PlanItException
Create and register initial link segment costs from a (single) file for each time period- Parameters:
network
- physical network the InitialLinkSegmentCost object will be registered forfileName
- location of file containing the initial link segment cost valuestimePeriod
- the current time period- Returns:
- the InitialLinkSegmentCost object
- Throws:
PlanItException
- thrown if there is an error
-
createAndRegisterInitialLinkSegmentCost
public List<InitialLinkSegmentCostPeriod> createAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName, Demands demands) throws PlanItException
Create and register initial link segment costs from a (single) file for all time periods in Demands object- Parameters:
network
- physical network the InitialLinkSegmentCost object will be registered forfileName
- location of file containing the initial link segment cost valuesdemands
- the Demands object- Returns:
- the InitialLinkSegmentCost object
- Throws:
PlanItException
- thrown if there is an error
-
getInitialLinkSegmentCost
public List<InitialLinkSegmentCost> getInitialLinkSegmentCost(PhysicalNetwork network)
Return the initial link segment costs for a network- Parameters:
network
- the specified physical network- Returns:
- the initial link segment costs for the specified physical network
-
-