com.esri.arcgis.geoprocessing.tools.networkanalysttools
Class MakeVehicleRoutingProblemLayer
java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.networkanalysttools.MakeVehicleRoutingProblemLayer
- All Implemented Interfaces:
- GPTool
public class MakeVehicleRoutingProblemLayer
- extends AbstractGPTool
Makes a vehicle routing problem (VRP) network analysis layer and sets its analysis properties. A vehicle routing problem analysis layer is useful for optimizing a set of routes using a fleet of vehicles.
The Make Vehicle Routing Problem Layer tool is contained in the Network Analyst Tools tool box.
Usage tips:
- After creating the analysis layer with this tool, you can add network analysis objects to it using the tool, solve the analysis using the tool, and save the results on disk using tool.
- When using this tool in geoprocessing models, if the model is run as a tool, the output network analysis layer must be made a model parameter. Otherwise the output layer is not added to the table of contents in ArcMap.
Constructor Summary |
MakeVehicleRoutingProblemLayer()
Creates the Make Vehicle Routing Problem Layer tool with defaults. |
MakeVehicleRoutingProblemLayer(java.lang.Object inNetworkDataset,
java.lang.String outNetworkAnalysisLayer,
java.lang.String timeImpedance)
Creates the Make Vehicle Routing Problem Layer tool with the required parameters. |
Method Summary |
int |
getCapacityCount()
Returns the Capacity Count parameter of this tool . |
java.lang.Object |
getDefaultDate()
Returns the Default Date parameter of this tool . |
java.lang.String |
getDistanceImpedance()
Returns the Distance Attribute parameter of this tool . |
java.lang.String |
getDistanceUnits()
Returns the Distance Field Units parameter of this tool . |
java.lang.String |
getExcessTransitFactor()
Returns the Excess Transit Time Importance parameter of this tool . |
java.lang.String |
getHierarchy()
Returns the Use hierarchy in analysis parameter of this tool . |
java.lang.Object |
getHierarchySettings()
Returns the Hierarchy rank settings parameter of this tool . |
java.lang.Object |
getInNetworkDataset()
Returns the Input analysis network parameter of this tool . |
java.lang.String |
getOutNetworkAnalysisLayer()
Returns the Output layer name parameter of this tool . |
java.lang.Object |
getOutputLayer()
Returns the Network Analyst Layer parameter of this tool (Read only). |
java.lang.String |
getOutputPathShape()
Returns the Output path shape parameter of this tool . |
java.lang.Object |
getRestrictionAttributeName()
Returns the Restrictions parameter of this tool . |
java.lang.String |
getTimeImpedance()
Returns the Time Attribute parameter of this tool . |
java.lang.String |
getTimeUnits()
Returns the Time Field Units parameter of this tool . |
java.lang.String |
getTimeWindowFactor()
Returns the Time Window Violation Importance parameter of this tool . |
java.lang.String |
getToolboxAlias()
Returns the alias of the tool box containing this tool. |
java.lang.String |
getToolboxName()
Returns the name of the tool box containing this tool. |
java.lang.String |
getToolName()
Returns the name of this tool. |
java.lang.String |
getUTurnPolicy()
Returns the U-turn policy parameter of this tool . |
void |
setCapacityCount(int capacityCount)
Sets the Capacity Count parameter of this tool . |
void |
setDefaultDate(java.lang.Object defaultDate)
Sets the Default Date parameter of this tool . |
void |
setDistanceImpedance(java.lang.String distanceImpedance)
Sets the Distance Attribute parameter of this tool . |
void |
setDistanceUnits(java.lang.String distanceUnits)
Sets the Distance Field Units parameter of this tool . |
void |
setExcessTransitFactor(java.lang.String excessTransitFactor)
Sets the Excess Transit Time Importance parameter of this tool . |
void |
setHierarchy(java.lang.String hierarchy)
Sets the Use hierarchy in analysis parameter of this tool . |
void |
setHierarchySettings(java.lang.Object hierarchySettings)
Sets the Hierarchy rank settings parameter of this tool . |
void |
setInNetworkDataset(java.lang.Object inNetworkDataset)
Sets the Input analysis network parameter of this tool . |
void |
setOutNetworkAnalysisLayer(java.lang.String outNetworkAnalysisLayer)
Sets the Output layer name parameter of this tool . |
void |
setOutputPathShape(java.lang.String outputPathShape)
Sets the Output path shape parameter of this tool . |
void |
setRestrictionAttributeName(java.lang.Object restrictionAttributeName)
Sets the Restrictions parameter of this tool . |
void |
setTimeImpedance(java.lang.String timeImpedance)
Sets the Time Attribute parameter of this tool . |
void |
setTimeUnits(java.lang.String timeUnits)
Sets the Time Field Units parameter of this tool . |
void |
setTimeWindowFactor(java.lang.String timeWindowFactor)
Sets the Time Window Violation Importance parameter of this tool . |
void |
setUTurnPolicy(java.lang.String uTurnPolicy)
Sets the U-turn policy parameter of this tool . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
MakeVehicleRoutingProblemLayer
public MakeVehicleRoutingProblemLayer()
- Creates the Make Vehicle Routing Problem Layer tool with defaults.
Initializes the array of tool parameters with the default values specified when the tool was created.
MakeVehicleRoutingProblemLayer
public MakeVehicleRoutingProblemLayer(java.lang.Object inNetworkDataset,
java.lang.String outNetworkAnalysisLayer,
java.lang.String timeImpedance)
- Creates the Make Vehicle Routing Problem Layer tool with the required parameters.
Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.
- Parameters:
inNetworkDataset
- the network dataset on which the vehicle routing problem analysis will be performed. The network dataset must have a time based cost attribute since the VRP solver minimizes time.outNetworkAnalysisLayer
- name of the vehicle routing problem network analysis layer to create.timeImpedance
- the time cost attribute used to define the traversal time along the elements of the network. The time cost attribute is required, since the vehicle routing problem solver minimizes time.
getInNetworkDataset
public java.lang.Object getInNetworkDataset()
- Returns the Input analysis network parameter of this tool .
This parameter is the network dataset on which the vehicle routing problem analysis will be performed. The network dataset must have a time based cost attribute since the VRP solver minimizes time.
This is a required parameter.
- Returns:
- the Input analysis network
setInNetworkDataset
public void setInNetworkDataset(java.lang.Object inNetworkDataset)
- Sets the Input analysis network parameter of this tool .
This parameter is the network dataset on which the vehicle routing problem analysis will be performed. The network dataset must have a time based cost attribute since the VRP solver minimizes time.
This is a required parameter.
- Parameters:
inNetworkDataset
- the network dataset on which the vehicle routing problem analysis will be performed. The network dataset must have a time based cost attribute since the VRP solver minimizes time.
getOutNetworkAnalysisLayer
public java.lang.String getOutNetworkAnalysisLayer()
- Returns the Output layer name parameter of this tool .
This parameter is name of the vehicle routing problem network analysis layer to create.
This is a required parameter.
- Returns:
- the Output layer name
setOutNetworkAnalysisLayer
public void setOutNetworkAnalysisLayer(java.lang.String outNetworkAnalysisLayer)
- Sets the Output layer name parameter of this tool .
This parameter is name of the vehicle routing problem network analysis layer to create.
This is a required parameter.
- Parameters:
outNetworkAnalysisLayer
- name of the vehicle routing problem network analysis layer to create.
getTimeImpedance
public java.lang.String getTimeImpedance()
- Returns the Time Attribute parameter of this tool .
This parameter is the time cost attribute used to define the traversal time along the elements of the network. The time cost attribute is required, since the vehicle routing problem solver minimizes time.
This is a required parameter.
- Returns:
- the Time Attribute
setTimeImpedance
public void setTimeImpedance(java.lang.String timeImpedance)
- Sets the Time Attribute parameter of this tool .
This parameter is the time cost attribute used to define the traversal time along the elements of the network. The time cost attribute is required, since the vehicle routing problem solver minimizes time.
This is a required parameter.
- Parameters:
timeImpedance
- the time cost attribute used to define the traversal time along the elements of the network. The time cost attribute is required, since the vehicle routing problem solver minimizes time.
getDistanceImpedance
public java.lang.String getDistanceImpedance()
- Returns the Distance Attribute parameter of this tool .
This parameter is the distance cost attribute used to define the length along the elements of the network. The distance cost attribute is optional.
This is an optional parameter.
- Returns:
- the Distance Attribute
setDistanceImpedance
public void setDistanceImpedance(java.lang.String distanceImpedance)
- Sets the Distance Attribute parameter of this tool .
This parameter is the distance cost attribute used to define the length along the elements of the network. The distance cost attribute is optional.
This is an optional parameter.
- Parameters:
distanceImpedance
- the distance cost attribute used to define the length along the elements of the network. The distance cost attribute is optional.
getTimeUnits
public java.lang.String getTimeUnits()
- Returns the Time Field Units parameter of this tool .
This parameter is the time units used by the temporal fields of the analysis layer's sublayers and tables (network analysis classes). This does not have to be the same as the units of the time cost attribute.
This is an optional parameter.
- Returns:
- the Time Field Units
setTimeUnits
public void setTimeUnits(java.lang.String timeUnits)
- Sets the Time Field Units parameter of this tool .
This parameter is the time units used by the temporal fields of the analysis layer's sublayers and tables (network analysis classes). This does not have to be the same as the units of the time cost attribute.
This is an optional parameter.
- Parameters:
timeUnits
- the time units used by the temporal fields of the analysis layer's sublayers and tables (network analysis classes). This does not have to be the same as the units of the time cost attribute.
getDistanceUnits
public java.lang.String getDistanceUnits()
- Returns the Distance Field Units parameter of this tool .
This parameter is the distance units used by distance fields of the analysis layer's sublayers and tables (network analysis classes). This does not have to be the same as the units of the optional distance cost attribute.
This is an optional parameter.
- Returns:
- the Distance Field Units
setDistanceUnits
public void setDistanceUnits(java.lang.String distanceUnits)
- Sets the Distance Field Units parameter of this tool .
This parameter is the distance units used by distance fields of the analysis layer's sublayers and tables (network analysis classes). This does not have to be the same as the units of the optional distance cost attribute.
This is an optional parameter.
- Parameters:
distanceUnits
- the distance units used by distance fields of the analysis layer's sublayers and tables (network analysis classes). This does not have to be the same as the units of the optional distance cost attribute.
getDefaultDate
public java.lang.Object getDefaultDate()
- Returns the Default Date parameter of this tool .
This parameter is the implied date for time field values that don't have a date specified with the time. If a time field for an order object, such as TimeWindowStart1, has a time-only value, the date is assumed to be the Default Date. For example, if an order has a TimeWindowStart1 value of 9:00 AM and the Default Date is March 6, 2011, then the entire time value for the field is 9:00 A.M., March 6, 2011. The default date has no effect on time field values that already have a date. the day of the week can also be specified as the Default Date using the following dates. for example, to specify that the implied date for time field values should be Tuesday, specify the parameter value as 1/2/1900. if your network dataset includes historical traffic data, the results of the analysis could change depending on the date that you specify here. For example, if your routes start at 8:00 a.m. on Sunday, when there is not much traffic, versus 8:00 a.m. on Monday, during rush hour, the Monday route would take longer. Furthermore, the best path could change depending on traffic conditions.
This is an optional parameter.
- Returns:
- the Default Date
setDefaultDate
public void setDefaultDate(java.lang.Object defaultDate)
- Sets the Default Date parameter of this tool .
This parameter is the implied date for time field values that don't have a date specified with the time. If a time field for an order object, such as TimeWindowStart1, has a time-only value, the date is assumed to be the Default Date. For example, if an order has a TimeWindowStart1 value of 9:00 AM and the Default Date is March 6, 2011, then the entire time value for the field is 9:00 A.M., March 6, 2011. The default date has no effect on time field values that already have a date. the day of the week can also be specified as the Default Date using the following dates. for example, to specify that the implied date for time field values should be Tuesday, specify the parameter value as 1/2/1900. if your network dataset includes historical traffic data, the results of the analysis could change depending on the date that you specify here. For example, if your routes start at 8:00 a.m. on Sunday, when there is not much traffic, versus 8:00 a.m. on Monday, during rush hour, the Monday route would take longer. Furthermore, the best path could change depending on traffic conditions.
This is an optional parameter.
- Parameters:
defaultDate
- the implied date for time field values that don't have a date specified with the time. If a time field for an order object, such as TimeWindowStart1, has a time-only value, the date is assumed to be the Default Date. For example, if an order has a TimeWindowStart1 value of 9:00 AM and the Default Date is March 6, 2011, then the entire time value for the field is 9:00 A.M., March 6, 2011. The default date has no effect on time field values that already have a date. the day of the week can also be specified as the Default Date using the following dates. for example, to specify that the implied date for time field values should be Tuesday, specify the parameter value as 1/2/1900. if your network dataset includes historical traffic data, the results of the analysis could change depending on the date that you specify here. For example, if your routes start at 8:00 a.m. on Sunday, when there is not much traffic, versus 8:00 a.m. on Monday, during rush hour, the Monday route would take longer. Furthermore, the best path could change depending on traffic conditions.- Today -- 12/30/1899
- Sunday -- 12/31/1899
- Monday -- 1/1/1900
- Tuesday -- 1/2/1900
- Wednesday -- 1/3/1900
- Thursday -- 1/4/1900
- Friday -- 1/5/1900
- Saturday -- 1/6/1900
getCapacityCount
public int getCapacityCount()
- Returns the Capacity Count parameter of this tool .
This parameter is the number of capacity constraint dimensions required to describe the relevant limits of the vehicles. In an order delivery case, each vehicle may have a limited amount of weight and volume it can carry at one time based on physical and legal limitations. In this case, if you track the weight and volume on the orders, you can use these two capacities to prevent the vehicles from getting overloaded. The capacity count for this scenario is two (weight and volume). Depending on the problem, you may need to track different types or amounts of capacities. The capacities entered into the capacity fields (DeliveryQuantities and PickupQuantities for the Orders class and Capacities for the Routes class) are space-delimited strings of numbers, which can hold up to the number of values specified in Capacity Count. Each capacity dimension should appear in the same positional order for all capacity field values in the same VRP analysis layer. The capacities themselves are unnamed, so to avoid accidentally transposing capacity dimensions, ensure that the space-delimited capacity lists are always entered in the same order for all capacity field values.
This is an optional parameter.
- Returns:
- the Capacity Count
setCapacityCount
public void setCapacityCount(int capacityCount)
- Sets the Capacity Count parameter of this tool .
This parameter is the number of capacity constraint dimensions required to describe the relevant limits of the vehicles. In an order delivery case, each vehicle may have a limited amount of weight and volume it can carry at one time based on physical and legal limitations. In this case, if you track the weight and volume on the orders, you can use these two capacities to prevent the vehicles from getting overloaded. The capacity count for this scenario is two (weight and volume). Depending on the problem, you may need to track different types or amounts of capacities. The capacities entered into the capacity fields (DeliveryQuantities and PickupQuantities for the Orders class and Capacities for the Routes class) are space-delimited strings of numbers, which can hold up to the number of values specified in Capacity Count. Each capacity dimension should appear in the same positional order for all capacity field values in the same VRP analysis layer. The capacities themselves are unnamed, so to avoid accidentally transposing capacity dimensions, ensure that the space-delimited capacity lists are always entered in the same order for all capacity field values.
This is an optional parameter.
- Parameters:
capacityCount
- the number of capacity constraint dimensions required to describe the relevant limits of the vehicles. In an order delivery case, each vehicle may have a limited amount of weight and volume it can carry at one time based on physical and legal limitations. In this case, if you track the weight and volume on the orders, you can use these two capacities to prevent the vehicles from getting overloaded. The capacity count for this scenario is two (weight and volume). Depending on the problem, you may need to track different types or amounts of capacities. The capacities entered into the capacity fields (DeliveryQuantities and PickupQuantities for the Orders class and Capacities for the Routes class) are space-delimited strings of numbers, which can hold up to the number of values specified in Capacity Count. Each capacity dimension should appear in the same positional order for all capacity field values in the same VRP analysis layer. The capacities themselves are unnamed, so to avoid accidentally transposing capacity dimensions, ensure that the space-delimited capacity lists are always entered in the same order for all capacity field values.
getTimeWindowFactor
public java.lang.String getTimeWindowFactor()
- Returns the Time Window Violation Importance parameter of this tool .
This parameter is this parameter allows you to rate the importance of honoring time windows without causing violations. A time window violation occurs when a route arrives at an order, depot, or break after a time window has closed. The violation is the interval between the end of the time window and the arrival time of a route. the VRP solution can change according to the value you choose for the Time Window Violation Importance parameter. The following list describes what the values mean and how the resulting VRP solution can vary:
This is an optional parameter.
- Returns:
- the Time Window Violation Importance
setTimeWindowFactor
public void setTimeWindowFactor(java.lang.String timeWindowFactor)
- Sets the Time Window Violation Importance parameter of this tool .
This parameter is this parameter allows you to rate the importance of honoring time windows without causing violations. A time window violation occurs when a route arrives at an order, depot, or break after a time window has closed. The violation is the interval between the end of the time window and the arrival time of a route. the VRP solution can change according to the value you choose for the Time Window Violation Importance parameter. The following list describes what the values mean and how the resulting VRP solution can vary:
This is an optional parameter.
- Parameters:
timeWindowFactor
- this parameter allows you to rate the importance of honoring time windows without causing violations. A time window violation occurs when a route arrives at an order, depot, or break after a time window has closed. The violation is the interval between the end of the time window and the arrival time of a route. the VRP solution can change according to the value you choose for the Time Window Violation Importance parameter. The following list describes what the values mean and how the resulting VRP solution can vary:
getExcessTransitFactor
public java.lang.String getExcessTransitFactor()
- Returns the Excess Transit Time Importance parameter of this tool .
This parameter is this parameter allows you to rate the importance of reducing excess transit time. Excess transit time is the amount of time exceeding the time required to travel directly between the paired orders. The excess time results from breaks or travel to other orders or depots between visits to the paired orders. the VRP solution can change according to the value you choose for the Excess Transit Time Importance. The following list describes what the values mean and how the resulting VRP solution can vary:
This is an optional parameter.
- Returns:
- the Excess Transit Time Importance
setExcessTransitFactor
public void setExcessTransitFactor(java.lang.String excessTransitFactor)
- Sets the Excess Transit Time Importance parameter of this tool .
This parameter is this parameter allows you to rate the importance of reducing excess transit time. Excess transit time is the amount of time exceeding the time required to travel directly between the paired orders. The excess time results from breaks or travel to other orders or depots between visits to the paired orders. the VRP solution can change according to the value you choose for the Excess Transit Time Importance. The following list describes what the values mean and how the resulting VRP solution can vary:
This is an optional parameter.
- Parameters:
excessTransitFactor
- this parameter allows you to rate the importance of reducing excess transit time. Excess transit time is the amount of time exceeding the time required to travel directly between the paired orders. The excess time results from breaks or travel to other orders or depots between visits to the paired orders. the VRP solution can change according to the value you choose for the Excess Transit Time Importance. The following list describes what the values mean and how the resulting VRP solution can vary:
getUTurnPolicy
public java.lang.String getUTurnPolicy()
- Returns the U-turn policy parameter of this tool .
This parameter is restrict or permit U-turns at junctions that could occur during network traversal between stops.
This is an optional parameter.
- Returns:
- the U-turn policy
setUTurnPolicy
public void setUTurnPolicy(java.lang.String uTurnPolicy)
- Sets the U-turn policy parameter of this tool .
This parameter is restrict or permit U-turns at junctions that could occur during network traversal between stops.
This is an optional parameter.
- Parameters:
uTurnPolicy
- restrict or permit U-turns at junctions that could occur during network traversal between stops.
getRestrictionAttributeName
public java.lang.Object getRestrictionAttributeName()
- Returns the Restrictions parameter of this tool .
This parameter is list of restriction attributes to apply during the analysis.
This is an optional parameter.
- Returns:
- the Restrictions
setRestrictionAttributeName
public void setRestrictionAttributeName(java.lang.Object restrictionAttributeName)
- Sets the Restrictions parameter of this tool .
This parameter is list of restriction attributes to apply during the analysis.
This is an optional parameter.
- Parameters:
restrictionAttributeName
- list of restriction attributes to apply during the analysis.
getHierarchy
public java.lang.String getHierarchy()
- Returns the Use hierarchy in analysis parameter of this tool .
This parameter is the parameter is not used if a hierarchy attribute is not defined on the network dataset used to perform the analysis. In such cases, use "#" as the parameter value.
This is an optional parameter.
- Returns:
- the Use hierarchy in analysis
setHierarchy
public void setHierarchy(java.lang.String hierarchy)
- Sets the Use hierarchy in analysis parameter of this tool .
This parameter is the parameter is not used if a hierarchy attribute is not defined on the network dataset used to perform the analysis. In such cases, use "#" as the parameter value.
This is an optional parameter.
- Parameters:
hierarchy
- the parameter is not used if a hierarchy attribute is not defined on the network dataset used to perform the analysis. In such cases, use "#" as the parameter value.
getHierarchySettings
public java.lang.Object getHierarchySettings()
- Returns the Hierarchy rank settings parameter of this tool .
This is an optional parameter.
- Returns:
- the Hierarchy rank settings
setHierarchySettings
public void setHierarchySettings(java.lang.Object hierarchySettings)
- Sets the Hierarchy rank settings parameter of this tool .
This is an optional parameter.
- Parameters:
hierarchySettings
- null
getOutputPathShape
public java.lang.String getOutputPathShape()
- Returns the Output path shape parameter of this tool .
This is an optional parameter.
- Returns:
- the Output path shape
setOutputPathShape
public void setOutputPathShape(java.lang.String outputPathShape)
- Sets the Output path shape parameter of this tool .
This is an optional parameter.
- Parameters:
outputPathShape
- null
getOutputLayer
public java.lang.Object getOutputLayer()
- Returns the Network Analyst Layer parameter of this tool (Read only).
This is an derived parameter.
- Returns:
- the Network Analyst Layer
getToolName
public java.lang.String getToolName()
- Returns the name of this tool.
- Returns:
- the tool name
getToolboxName
public java.lang.String getToolboxName()
- Returns the name of the tool box containing this tool.
- Returns:
- the tool box name
getToolboxAlias
public java.lang.String getToolboxAlias()
- Returns the alias of the tool box containing this tool.
- Returns:
- the tool box alias