public class ODMatrix extends Object implements Serializable, org.opentrafficsim.base.Identifiable
Class's that define the categorization.
Copyright (c) 2013-2018 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
| Constructor and Description |
|---|
ODMatrix(String id,
List<org.opentrafficsim.core.network.Node> origins,
List<org.opentrafficsim.core.network.Node> destinations,
Categorization categorization,
org.djunits.value.vdouble.vector.TimeVector globalTimeVector,
Interpolation globalInterpolation)
Constructs an OD matrix.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category) |
int |
destinationTotal(org.opentrafficsim.core.network.Node destination)
Calculates total number of trips over time for given destination.
|
boolean |
equals(Object obj) |
Set<Category> |
getCategories(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination)
Returns the categories specified for given origin-destination combination.
|
Categorization |
getCategorization() |
org.djunits.value.vdouble.scalar.Frequency |
getDemand(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.scalar.Time time,
boolean sliceStart)
Returns the demand at given time.
|
DemandPattern |
getDemandPattern(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category) |
org.djunits.value.vdouble.vector.FrequencyVector |
getDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category) |
List<org.opentrafficsim.core.network.Node> |
getDestinations() |
Interpolation |
getGlobalInterpolation() |
org.djunits.value.vdouble.vector.TimeVector |
getGlobalTimeVector() |
String |
getId() |
Interpolation |
getInterpolation(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category) |
List<org.opentrafficsim.core.network.Node> |
getOrigins() |
org.djunits.value.vdouble.vector.TimeVector |
getTimeVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category) |
int |
getTrips(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int periodIndex)
Returns the number of trips in the given time period.
|
int[] |
getTripsVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category) |
int |
hashCode() |
void |
increaseTrips(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int periodIndex,
int trips)
Adds a number of trips to given origin-destination combination, category and time period.
|
int |
matrixTotal()
Calculates total number of trips over time for the complete matrix.
|
int |
originDestinationTotal(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination)
Calculates total number of trips over time for given origin-destination combination.
|
int |
originTotal(org.opentrafficsim.core.network.Node origin)
Calculates total number of trips over time for given origin.
|
void |
print()
Prints the complete OD matrix with each demand data on a single line.
|
void |
putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand)
Add a demand vector to OD.
|
void |
putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand,
org.djunits.value.vdouble.vector.TimeVector timeVector,
Interpolation interpolation)
Add a demand vector to OD.
|
void |
putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand,
org.djunits.value.vdouble.vector.TimeVector timeVector,
Interpolation interpolation,
double fraction)
Add a demand vector to OD, by a fraction of total demand.
|
void |
putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand,
org.djunits.value.vdouble.vector.TimeVector timeVector,
Interpolation interpolation,
double[] fraction)
Add a demand vector to OD, by a fraction per time period of total demand.
|
void |
putTripsVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int[] trips) |
void |
putTripsVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int[] trips,
org.djunits.value.vdouble.vector.TimeVector timeVector)
Sets demand data by number of trips.
|
String |
toString() |
public ODMatrix(String id, List<org.opentrafficsim.core.network.Node> origins, List<org.opentrafficsim.core.network.Node> destinations, Categorization categorization, org.djunits.value.vdouble.vector.TimeVector globalTimeVector, Interpolation globalInterpolation)
id - idorigins - origin nodesdestinations - destination nodescategorization - categorization of dataglobalTimeVector - default timeglobalInterpolation - interpolation of demand dataNullPointerException - if any input is nullpublic final String getId()
getId in interface org.opentrafficsim.base.Identifiablepublic final List<org.opentrafficsim.core.network.Node> getOrigins()
public final List<org.opentrafficsim.core.network.Node> getDestinations()
public final Categorization getCategorization()
public final org.djunits.value.vdouble.vector.TimeVector getGlobalTimeVector()
public final Interpolation getGlobalInterpolation()
public final void putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand)
origin - origindestination - destinationcategory - categorydemand - demand data, length has to be equal to the global time vectorIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIllegalArgumentException - if the demand data has a different length than time data, or is less than 2IllegalArgumentException - if demand is negative or time not strictly increasingIllegalArgumentException - if the route (if in the category) is not from the origin to the destinationNullPointerException - if an input is nullpublic final void putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand,
org.djunits.value.vdouble.vector.TimeVector timeVector,
Interpolation interpolation)
origin - origindestination - destinationcategory - categorydemand - demand data, length has to be equal to the time vectortimeVector - time vectorinterpolation - interpolationIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIllegalArgumentException - if the demand data has a different length than time data, or is less than 2IllegalArgumentException - if demand is negative or time not strictly increasingIllegalArgumentException - if the route (if in the category) is not from the origin to the destinationNullPointerException - if an input is nullpublic final void putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand,
org.djunits.value.vdouble.vector.TimeVector timeVector,
Interpolation interpolation,
double fraction)
origin - origindestination - destinationcategory - categorydemand - demand data, length has to be equal to the time vectortimeVector - time vectorinterpolation - interpolationfraction - fraction of demand for this categoryIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIllegalArgumentException - if the demand data has a different length than time data, or is less than 2IllegalArgumentException - if demand is negative or time not strictly increasingIllegalArgumentException - if the route (if in the category) is not from the origin to the destinationNullPointerException - if an input is nullpublic final void putDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.vector.FrequencyVector demand,
org.djunits.value.vdouble.vector.TimeVector timeVector,
Interpolation interpolation,
double[] fraction)
origin - origindestination - destinationcategory - categorydemand - demand data, length has to be equal to the time vectortimeVector - time vectorinterpolation - interpolationfraction - fraction of demand for this categoryIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIllegalArgumentException - if the demand data has a different length than time data, or is less than 2IllegalArgumentException - if demand is negative or time not strictly increasingIllegalArgumentException - if the route (if in the category) is not from the origin to the destinationNullPointerException - if an input is nullpublic final org.djunits.value.vdouble.vector.FrequencyVector getDemandVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category)
origin - origindestination - destinationcategory - categorynull if no data is givenIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic final org.djunits.value.vdouble.vector.TimeVector getTimeVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category)
origin - origindestination - destinationcategory - categorynull if no data is givenIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic final Interpolation getInterpolation(org.opentrafficsim.core.network.Node origin, org.opentrafficsim.core.network.Node destination, Category category)
origin - origindestination - destinationcategory - categorynull if no data is givenIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic final org.djunits.value.vdouble.scalar.Frequency getDemand(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
org.djunits.value.vdouble.scalar.Time time,
boolean sliceStart)
origin - Node; origindestination - Node; destinationcategory - Category; categorytime - Duration; timesliceStart - boolean; whether the time is at the start of an arbitrary time sliceIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic DemandPattern getDemandPattern(org.opentrafficsim.core.network.Node origin, org.opentrafficsim.core.network.Node destination, Category category)
origin - origindestination - destinationcategory - categoryIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic final boolean contains(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category)
origin - origindestination - destinationcategory - categoryIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic final Set<Category> getCategories(org.opentrafficsim.core.network.Node origin, org.opentrafficsim.core.network.Node destination)
origin - origindestination - destinationIllegalArgumentException - if origin or destination is not part of the OD matrixNullPointerException - if an input is nullpublic final void putTripsVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int[] trips)
origin - origindestination - destinationcategory - categorytrips - trip data, length has to be equal to the global time vector - 1, each value is the number of trips during a
periodIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIllegalArgumentException - if the demand data has a different length than time data, or is less than 2IllegalArgumentException - if demand is negative or time not strictly increasingIllegalArgumentException - if the route (if in the category) is not from the origin to the destinationNullPointerException - if an input is nullpublic final void putTripsVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int[] trips,
org.djunits.value.vdouble.vector.TimeVector timeVector)
origin - origindestination - destinationcategory - categorytrips - trip data, length has to be equal to the time vector - 1, each value is the number of trips during a periodtimeVector - time vectorIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIllegalArgumentException - if the demand data has a different length than time data, or is less than 2IllegalArgumentException - if demand is negative or time not strictly increasingIllegalArgumentException - if the route (if in the category) is not from the origin to the destinationNullPointerException - if an input is nullpublic final int[] getTripsVector(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category)
origin - origindestination - destinationcategory - categorynull if no data is givenIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationNullPointerException - if an input is nullpublic final int getTrips(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int periodIndex)
origin - origindestination - destinationcategory - categoryperiodIndex - index of time periodIllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIndexOutOfBoundsException - if the period is outside of the specified rangeNullPointerException - if an input is nullpublic final void increaseTrips(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination,
Category category,
int periodIndex,
int trips)
origin - origindestination - destinationcategory - categoryperiodIndex - index of time periodtrips - trips to add (may be negative)IllegalArgumentException - if origin or destination is not part of the OD matrixIllegalArgumentException - if the category does not belong to the categorizationIndexOutOfBoundsException - if the period is outside of the specified rangeUnsupportedOperationException - if the interpolation of the data is not stepwise, or demand becomes negtiveNullPointerException - if an input is nullpublic final int originTotal(org.opentrafficsim.core.network.Node origin)
origin - originIllegalArgumentException - if origin is not part of the OD matrixNullPointerException - if origin is nullpublic final int destinationTotal(org.opentrafficsim.core.network.Node destination)
destination - destinationIllegalArgumentException - if destination is not part of the OD matrixNullPointerException - if destination is nullpublic final int matrixTotal()
IllegalArgumentException - if origin or destination is not part of the OD matrixNullPointerException - if an input is nullpublic final int originDestinationTotal(org.opentrafficsim.core.network.Node origin,
org.opentrafficsim.core.network.Node destination)
origin - origindestination - destinationIllegalArgumentException - if origin or destination is not part of the OD matrixNullPointerException - if an input is nullpublic final void print()
Copyright © 2014–2018 Delft University of Technology. All rights reserved.