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 classPlanItProjectInput.ProjectDemandsInternal class for registered demandsclassPlanItProjectInput.ProjectNetworksInternal class for registered physical networksclassPlanItProjectInput.ProjectODRouteSetsInternal class for registered od route setsclassPlanItProjectInput.ProjectZoningsInternal class for registered zonings
-
Field Summary
Fields Modifier and Type Field Description PlanItProjectInput.ProjectDemandsdemandsThe registered demandsprotected TrafficAssignmentComponentFactory<Demands>demandsFactoryObject factory for demands objectprotected TreeMap<Long,Demands>demandsMapThe demands registered on this projectprotected Map<PhysicalNetwork,List<InitialLinkSegmentCost>>initialLinkSegmentCostsMap to store all InitialLinkSegmentCost objects for each physical networkprotected TrafficAssignmentComponentFactory<InitialPhysicalCost>initialPhysicalCostFactoryObject factory for physical costsPlanItProjectInput.ProjectODRouteSetsodRouteSetsThe registered OD route setsprotected TrafficAssignmentComponentFactory<ODRouteSets>odRouteSetsFactoryObject factory for od route sets objectprotected TreeMap<Long,ODRouteSets>odRouteSetsMapThe od route sets registered on this projectprotected TrafficAssignmentComponentFactory<PhysicalNetwork>physicalNetworkFactoryObject Factory for physical network objectprotected TreeMap<Long,PhysicalNetwork>physicalNetworkMapThe physical networks registered on this projectPlanItProjectInput.ProjectNetworksphysicalNetworksThe registered physical networksprotected TrafficAssignmentComponentFactory<Zoning>zoningFactoryObject factory for zoning objectsPlanItProjectInput.ProjectZoningszoningsThe registered zoningsprotected TreeMap<Long,Zoning>zoningsMapThe 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 DemandscreateAndRegisterDemands(Zoning zoning, PhysicalNetwork physicalNetwork)Create and register demands to the project inputsInitialLinkSegmentCostcreateAndRegisterInitialLinkSegmentCost(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 objectInitialLinkSegmentCostPeriodcreateAndRegisterInitialLinkSegmentCost(PhysicalNetwork network, String fileName, TimePeriod timePeriod)Create and register initial link segment costs from a (single) file for each time periodODRouteSetscreateAndRegisterODRouteSets(PhysicalNetwork physicalNetwork, Zoning zoning, String odRouteSetInputPath)Create and register the OD route sets on the project inputPhysicalNetworkcreateAndRegisterPhysicalNetwork(String physicalNetworkType)Create and register a physical network on the project inputZoningcreateAndRegisterZoning(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
-
-