com.esri.arcgis.geoprocessing.tools.networkanalysttools
Class MakeVehicleRoutingProblemLayer

java.lang.Object
  extended by com.esri.arcgis.geoprocessing.AbstractGPTool
      extended by 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:


Field Summary
 
Fields inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
vals
 
Constructor Summary
MakeVehicleRoutingProblemLayer()
          Creates the Make Vehicle Routing Problem Layer tool with defaults.
MakeVehicleRoutingProblemLayer(Object inNetworkDataset, String outNetworkAnalysisLayer, 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 .
 Object getDefaultDate()
          Returns the Default Date parameter of this tool .
 String getDistanceImpedance()
          Returns the Distance Attribute parameter of this tool .
 String getDistanceUnits()
          Returns the Distance Field Units parameter of this tool .
 String getExcessTransitFactor()
          Returns the Excess Transit Time Importance parameter of this tool .
 String getHierarchy()
          Returns the Use hierarchy in analysis parameter of this tool .
 Object getHierarchySettings()
          Returns the Hierarchy rank settings parameter of this tool .
 Object getInNetworkDataset()
          Returns the Input analysis network parameter of this tool .
 String getOutNetworkAnalysisLayer()
          Returns the Output layer name parameter of this tool .
 Object getOutputLayer()
          Returns the Network Analyst Layer parameter of this tool (Read only).
 String getOutputPathShape()
          Returns the Output path shape parameter of this tool .
 Object getRestrictionAttributeName()
          Returns the Restrictions parameter of this tool .
 String getTimeImpedance()
          Returns the Time Attribute parameter of this tool .
 String getTimeUnits()
          Returns the Time Field Units parameter of this tool .
 String getTimeWindowFactor()
          Returns the Time Window Violation Importance parameter of this tool .
 String getToolboxAlias()
          Returns the alias of the tool box containing this tool.
 String getToolboxName()
          Returns the name of the tool box containing this tool.
 String getToolName()
          Returns the name of this tool.
 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(Object defaultDate)
          Sets the Default Date parameter of this tool .
 void setDistanceImpedance(String distanceImpedance)
          Sets the Distance Attribute parameter of this tool .
 void setDistanceUnits(String distanceUnits)
          Sets the Distance Field Units parameter of this tool .
 void setExcessTransitFactor(String excessTransitFactor)
          Sets the Excess Transit Time Importance parameter of this tool .
 void setHierarchy(String hierarchy)
          Sets the Use hierarchy in analysis parameter of this tool .
 void setHierarchySettings(Object hierarchySettings)
          Sets the Hierarchy rank settings parameter of this tool .
 void setInNetworkDataset(Object inNetworkDataset)
          Sets the Input analysis network parameter of this tool .
 void setOutNetworkAnalysisLayer(String outNetworkAnalysisLayer)
          Sets the Output layer name parameter of this tool .
 void setOutputPathShape(String outputPathShape)
          Sets the Output path shape parameter of this tool .
 void setRestrictionAttributeName(Object restrictionAttributeName)
          Sets the Restrictions parameter of this tool .
 void setTimeImpedance(String timeImpedance)
          Sets the Time Attribute parameter of this tool .
 void setTimeUnits(String timeUnits)
          Sets the Time Field Units parameter of this tool .
 void setTimeWindowFactor(String timeWindowFactor)
          Sets the Time Window Violation Importance parameter of this tool .
 void setUTurnPolicy(String uTurnPolicy)
          Sets the U-turn policy parameter of this tool .
 
Methods inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
getParameterValues, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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(Object inNetworkDataset,
                                      String outNetworkAnalysisLayer,
                                      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.
Method Detail

getInNetworkDataset

public 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(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 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(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 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(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 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(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 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(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 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(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 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(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 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(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 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(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 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(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 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(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 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(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 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(Object hierarchySettings)
Sets the Hierarchy rank settings parameter of this tool . This is an optional parameter.

Parameters:
hierarchySettings - null

getOutputPathShape

public 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(String outputPathShape)
Sets the Output path shape parameter of this tool . This is an optional parameter.

Parameters:
outputPathShape - null

getOutputLayer

public 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 String getToolName()
Returns the name of this tool.

Returns:
the tool name

getToolboxName

public String getToolboxName()
Returns the name of the tool box containing this tool.

Returns:
the tool box name

getToolboxAlias

public String getToolboxAlias()
Returns the alias of the tool box containing this tool.

Returns:
the tool box alias