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

This tool makes a vehicle routing problem (VRP) network analysis layer and sets its analysis properties. A vehicle routing problem analysis layer can be used to solve common fleet management problems such as servicing a set of orders using a fleet of vehicles. The Make Vehicle Routing Problem Layer tool is contained in the Network Analyst Tools tool box.

Software restrictions: none

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 - Network Dataset Layer, the network dataset on which the vehicle routing problem analysis will be performed.
outNetworkAnalysisLayer - String, name of the vehicle routing problem network analysis layer being created.
timeImpedance - String, 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 Network Dataset Layer, the network dataset on which the vehicle routing problem analysis will be performed. 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 Network Dataset Layer, the network dataset on which the vehicle routing problem analysis will be performed. This is a required parameter.

Parameters:
inNetworkDataset - Network Dataset Layer, the network dataset on which the vehicle routing problem analysis will be performed.

getOutNetworkAnalysisLayer

public String getOutNetworkAnalysisLayer()
Returns the Output layer name parameter of this tool . This parameter is String, name of the vehicle routing problem network analysis layer being created. 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 String, name of the vehicle routing problem network analysis layer being created. This is a required parameter.

Parameters:
outNetworkAnalysisLayer - String, name of the vehicle routing problem network analysis layer being created.

getTimeImpedance

public String getTimeImpedance()
Returns the Time Attribute parameter of this tool . This parameter is String, 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 String, 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 - String, 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 String, 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 String, 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 - String, 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 String, 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 String, 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 - String, 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 String, 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 String, 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 - String, 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 Date, the implied date for time field values with an unspecified date. If a time field such as TimeWindowStart1 has a time-only value, the date is the Default Date. For example, if an order has a start time window of 9:00 A.M. and the Default Date is March 6, 2008, then the start time window for the order is 9:00 A.M. on March 6, 2008. If the Default Date setting is changed, then the implied date for all time field values with an unspecified date is the new default date. The default date has no effect on time field values that already have a time along with a particular date. 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 Date, the implied date for time field values with an unspecified date. If a time field such as TimeWindowStart1 has a time-only value, the date is the Default Date. For example, if an order has a start time window of 9:00 A.M. and the Default Date is March 6, 2008, then the start time window for the order is 9:00 A.M. on March 6, 2008. If the Default Date setting is changed, then the implied date for all time field values with an unspecified date is the new default date. The default date has no effect on time field values that already have a time along with a particular date. This is an optional parameter.

Parameters:
defaultDate - Date, the implied date for time field values with an unspecified date. If a time field such as TimeWindowStart1 has a time-only value, the date is the Default Date. For example, if an order has a start time window of 9:00 A.M. and the Default Date is March 6, 2008, then the start time window for the order is 9:00 A.M. on March 6, 2008. If the Default Date setting is changed, then the implied date for all time field values with an unspecified date is the new default date. The default date has no effect on time field values that already have a time along with a particular date.

getCapacityCount

public int getCapacityCount()
Returns the Capacity Count parameter of this tool . This parameter is String, 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 the space-delimited capacity lists are always entered in the same order for all capacity field values. The VRP solver only performs a simple Boolean test to determine whether capacities are exceeded. If a route's capacity value is greater than or equal to the total quantity being carried, then the VRP solver will assume the cargo fits in the vehicle. This could be incorrect, depending on the actual shapes of the cargo and the vehicle. For example, the VRP solver allows you to fit a 1,000-cubic-foot sphere into a 1,000-cubic-foot truck that is eight feet wide. In reality, however, since the sphere is 12.6 feet in diameter, it won't fit in the eight-foot wide truck. 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 String, 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 the space-delimited capacity lists are always entered in the same order for all capacity field values. The VRP solver only performs a simple Boolean test to determine whether capacities are exceeded. If a route's capacity value is greater than or equal to the total quantity being carried, then the VRP solver will assume the cargo fits in the vehicle. This could be incorrect, depending on the actual shapes of the cargo and the vehicle. For example, the VRP solver allows you to fit a 1,000-cubic-foot sphere into a 1,000-cubic-foot truck that is eight feet wide. In reality, however, since the sphere is 12.6 feet in diameter, it won't fit in the eight-foot wide truck. This is an optional parameter.

Parameters:
capacityCount - String, 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 the space-delimited capacity lists are always entered in the same order for all capacity field values. The VRP solver only performs a simple Boolean test to determine whether capacities are exceeded. If a route's capacity value is greater than or equal to the total quantity being carried, then the VRP solver will assume the cargo fits in the vehicle. This could be incorrect, depending on the actual shapes of the cargo and the vehicle. For example, the VRP solver allows you to fit a 1,000-cubic-foot sphere into a 1,000-cubic-foot truck that is eight feet wide. In reality, however, since the sphere is 12.6 feet in diameter, it won't fit in the eight-foot wide truck.

getTimeWindowFactor

public String getTimeWindowFactor()
Returns the Time Window Violation Importance parameter of this tool . This parameter is String, 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 String, 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 - String, 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 String, 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 String, 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 - String, 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 String, specifies optional U-turn restrictions. 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 String, specifies optional U-turn restrictions. This is an optional parameter.

Parameters:
uTurnPolicy - String, specifies optional U-turn restrictions.

getRestrictionAttributeName

public Object getRestrictionAttributeName()
Returns the Restrictions parameter of this tool . This parameter is String, list of restriction attributes to be honored during 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 String, list of restriction attributes to be honored during analysis. This is an optional parameter.

Parameters:
restrictionAttributeName - String, list of restriction attributes to be honored during analysis.

getHierarchy

public String getHierarchy()
Returns the Use hierarchy in analysis parameter of this tool . This parameter is String, specifies whether or not to use a hierarchy in the analysis. 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 String, specifies whether or not to use a hierarchy in the analysis. This is an optional parameter.

Parameters:
hierarchy - String, specifies whether or not to use a hierarchy in the analysis.

getHierarchySettings

public Object getHierarchySettings()
Returns the Hierarchy rank settings parameter of this tool . This parameter is Network Analyst Hierarchy Settings, sets the hierarchy attribute values at which the navigation algorithm should form the highest, middle, and lowest ranks. The value is specified as a space-separated string containing two integers whose values must be greater than zero. The integers indicate low-to-mid and mid-to-high break values. The two integers must have their values in increasing order. For example, a value of "6 8" indicates that the primary roads are defined by the values of one to six, secondary roads by seven, and local roads by eight and higher. 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 parameter is Network Analyst Hierarchy Settings, sets the hierarchy attribute values at which the navigation algorithm should form the highest, middle, and lowest ranks. The value is specified as a space-separated string containing two integers whose values must be greater than zero. The integers indicate low-to-mid and mid-to-high break values. The two integers must have their values in increasing order. For example, a value of "6 8" indicates that the primary roads are defined by the values of one to six, secondary roads by seven, and local roads by eight and higher. This is an optional parameter.

Parameters:
hierarchySettings - Network Analyst Hierarchy Settings, sets the hierarchy attribute values at which the navigation algorithm should form the highest, middle, and lowest ranks. The value is specified as a space-separated string containing two integers whose values must be greater than zero. The integers indicate low-to-mid and mid-to-high break values. The two integers must have their values in increasing order. For example, a value of "6 8" indicates that the primary roads are defined by the values of one to six, secondary roads by seven, and local roads by eight and higher.

getOutputPathShape

public String getOutputPathShape()
Returns the Output path shape parameter of this tool . This parameter is String, in some situations, it may not be possible to compute the measures, and the lines will be output without measures. 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 parameter is String, in some situations, it may not be possible to compute the measures, and the lines will be output without measures. This is an optional parameter.

Parameters:
outputPathShape - String, in some situations, it may not be possible to compute the measures, and the lines will be output without measures.

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