The input data types that can be specified when performing a waste collection analysis are described below.
Note:
The minimum requirements for the Waste Collection solver are one stop, one depot, and one route. Each stop, depot, and route must have a unique name. The start time and maximum total time are required for each route and can be specified using the StartTime and MaxTotalTime fields for each route on the Routes input class or using the routeStartTime and maxRouteTotalTime properties of the analysis object. Additionally, each route must specify the start and end depot names using the StartDepotName and EndDepotName fields. The collection mode is required for each stop and can be specified using the CollectionMode field for each stop on the Stops input class or using the stopCollectionMode property of the analysis object.Stops
These are the stops that will be used as input for the waste collection analysis. A stop is the location where a customer's waste will be collected.
Although you can use a separate stop for every household, internally the solver aggregates all the stops along each street edge and requires them to be collected by the same route. Consequently, you can alternatively use a single stop for each street edge.
Learn more about collection edges
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the stop. The name must be unique. Stop names are case sensitive and cannot be empty, even if the stop is excluded from the solve operation. This is a required field. | Text |
ServiceTime | The amount of time that will be spent at the network location when the route visits it; that is, the impedance value for the network location. A zero or null value indicates that the network location requires no service time. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
Bins_1 | The number of waste bins for fraction 1 to collect at this network location. | Double |
Weight_1 | The physical weight of the waste for fraction 1 to collect at this network location. Any weight units can be used for this value as long as the same units are used for all weight fields. | Double |
Volume_1 | The volume of waste for fraction 1 to collect at this network location. Any volume units can be used for this value as long as the same units are used for all volume fields. | Double |
Bins_2 | The number of waste bins for fraction 2 to collect at this network location. | Double |
Weight_2 | The physical weight of the waste for fraction 2 to collect at this network location. Any weight units can be used for this value as long as the same units are used for all weight fields. | Double |
Volume_2 | The volume of waste for fraction 2 to collect at this network location. Any volume units can be used for this value as long as the same units are used for all volume fields. | Double |
CollectionMode | Specifies whether the location is picked up by a vehicle servicing both sides of the street at once or by a vehicle servicing the two sides separately with different passes down the street edge. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
Either this field or the stopCollectionMode property of the analysis object must be set. If this field is left null, the default value set in the stopCollectionMode property will be used for the stop. All stops on a street edge must have the same CollectionMode value. | Long |
AnchorRule | Specifies the anchoring rule for the stop, indicating that it must be the first or last stop on a route. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
Because the solver internally aggregates all stops on the same collection edge, it is sufficient to set this field for a single stop per collection edge. If more than one stop on a collection edge has a nonnull value, the values must match. Learn more about collection edges If the stop is additionally constrained to a specific route, that can be controlled using the AssignmentRule field. | Long |
AssignmentRule | Specifies the rule for assigning the stop to a route. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
Because the solver internally aggregates all stops on the same collection edge, it is sufficient to set this field for a single stop per collection edge. If more than one stop on a collection edge has a nonnull value, the values must match. | Long |
RouteName | The name of the route to which the stop is assigned. This field is used to preassign a stop to a specific route. It can contain a null value, indicating that the stop is not preassigned to any route, and the solver identifies the best possible route assignment for the stop. If this is set to null, the Sequence field must also be set to null. The RouteName field is a foreign key to the Name field in the Routes class. | Text |
Sequence | The sequence of the stop on its assigned route. This field is used to specify the relative sequence of a stop on the route. This field can contain a null value specifying that the stop can be placed anywhere along the route. The input sequence values are positive and unique for each route (shared across renewal visits and stops) but do not need to start from 1 or be contiguous. | Long |
Bearing | The direction in which a point is moving. The units are degrees and are measured clockwise from true north. This field is used in conjunction with the BearingTol field. Bearing data is usually sent automatically from a mobile device equipped with a GPS receiver. Try to include bearing data if you are loading an input location that is moving, such as a pedestrian or a vehicle. Using this field tends to prevent adding locations to the wrong edges, which can occur when a vehicle is near an intersection or an overpass, for example. Bearing also helps the tool determine on which side of the street the point is. | Double |
BearingTol | The bearing tolerance value creates a range of acceptable bearing values when locating moving points on an edge using the Bearing field. If the Bearing field value is within the range of acceptable values that are generated from the bearing tolerance on an edge, the point can be added as a network location there; otherwise, the closest point on the next-nearest edge is evaluated. The units are in degrees, and the default value is 30. Values must be greater than 0 and less than 180. A value of 30 means that when Network Analyst attempts to add a network location on an edge, a range of acceptable bearing values is generated 15 degrees to either side of the edge (left and right) and in both digitized directions of the edge. | Double |
NavLatency | This field is only used in the solve process if the Bearing and BearingTol fields also have values; however, entering a NavLatency field value is optional, even when values are present in Bearing and BearingTol. NavLatency indicates how much cost is expected to elapse from the moment GPS information is sent from a moving vehicle to a server and the moment the processed route is received by the vehicle's navigation device. The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Together, these properties describe the point on the network where the object is located. |
Depots
These are the depots that will be used as input for the waste collection analysis. A depot is a location that a vehicle departs from at the beginning of its workday and returns to at the end of the workday. All routes must start at the same depot and end at the same depot. However, the start and end depots can be different from each other.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the depot. The StartDepotName and EndDepotName fields in the Routes class reference the names you provide here. Depot names are case sensitive and must be nonempty and unique. This is a required field. | Text |
Bearing | The direction in which a point is moving. The units are degrees and are measured clockwise from true north. This field is used in conjunction with the BearingTol field. Bearing data is usually sent automatically from a mobile device equipped with a GPS receiver. Try to include bearing data if you are loading an input location that is moving, such as a pedestrian or a vehicle. Using this field tends to prevent adding locations to the wrong edges, which can occur when a vehicle is near an intersection or an overpass, for example. Bearing also helps the tool determine on which side of the street the point is. | Double |
BearingTol | The bearing tolerance value creates a range of acceptable bearing values when locating moving points on an edge using the Bearing field. If the Bearing field value is within the range of acceptable values that are generated from the bearing tolerance on an edge, the point can be added as a network location there; otherwise, the closest point on the next-nearest edge is evaluated. The units are in degrees, and the default value is 30. Values must be greater than 0 and less than 180. A value of 30 means that when Network Analyst attempts to add a network location on an edge, a range of acceptable bearing values is generated 15 degrees to either side of the edge (left and right) and in both digitized directions of the edge. | Double |
NavLatency | This field is only used in the solve process if the Bearing and BearingTol fields also have values; however, entering a NavLatency field value is optional, even when values are present in Bearing and BearingTol. NavLatency indicates how much cost is expected to elapse from the moment GPS information is sent from a moving vehicle to a server and the moment the processed route is received by the vehicle's navigation device. The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Together, these properties describe the point on the network where the object is located. |
Routes
These are the routes that will be used as input for the waste collection analysis. A route defines vehicle and driver characteristics. The waste collection solver tries to minimize the number of routes used instead of distributing the work evenly among all provided routes.
Note:
This data type is a table and does not include any location information.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the route. This field is the primary key and is used as a foreign key in the Stops, RouteLines, RouteRenewals, and RenewalVisits classes. Route names are case sensitive and cannot be empty, even if the route is not part of the solve operation. The name must be unique. This is a required field. | Text |
StartDepotName | The name of the starting depot for the route. This field is a foreign key to the Name field in the Depots class. This is a required field. | Text |
EndDepotName | The name of the ending depot for the route. This field is a foreign key to the Name field in the Depots class. This is a required field. | Text |
StartDepotServiceTime | The service time at the starting depot. This can be used to model the time spent loading the vehicle. This field can contain a null value; a null value indicates zero service time. The unit for this field value is specified by the timeUnits property of the analysis object. The service times at the start and end depots are fixed values (the StartDepotServiceTime and EndDepotServiceTime field values) and do not take into account the actual load for a route. For example, the time taken to load a vehicle at the starting depot may depend on the size of the orders. The depot service times can be assigned values corresponding to a full truckload or an average truckload, or you can make a time estimate. | Double |
EndDepotServiceTime | The service time at the ending depot. This can be used to model the time spent unloading the vehicle. This field can contain a null value; a null value indicates zero service time. The unit for this field value is specified by the timeUnits property of the analysis object. The service times at the start and end depots are fixed values (the StartDepotServiceTime and EndDepotServiceTime field values) and do not take into account the actual load for a route. For example, the time taken to load a vehicle at the starting depot may depend on the size of the orders. The depot service times can be assigned values corresponding to a full truckload or an average truckload, or you can make a time estimate. | Double |
StartTime | The starting time for the route. Either this field or the routeStartTime property of the analysis object must be set. If this field is left null, the default value set in the routeStartTime property will be used for the route. | Time Only |
MaxBins_1 | The maximum number of waste bins for fraction 1 the vehicle can collect before it must be emptied. If using renewals, this is a constraint on the capacity of the vehicle and not the route. When this limit is reached, the route will go to the renewal location to empty the vehicle. If there is still time in the driver's workday, the route will continue collecting waste after the renewal visit until its capacity limit is reached or the workday ends. | Double |
MaxWeight_1 | The maximum physical weight for fraction 1 the vehicle can collect before it must be emptied. Any weight units can be used for this value as long as the same units are used for all weight fields. If using renewals, this is a constraint on the capacity of the vehicle and not the route. When this limit is reached, the route will go to the renewal location to empty the vehicle. If there is still time in the driver's workday, the route will continue collecting waste after the renewal visit until its capacity limit is reached or the workday ends. | Double |
MaxVolume_1 | The maximum volume for fraction 1 the vehicle can collect before it must be emptied. Any volume units can be used for this value as long as the same units are used for all volume fields. If using renewals, this is a constraint on the capacity of the vehicle and not the route. When this limit is reached, the route will go to the renewal location to empty the vehicle. If there is still time in the driver's workday, the route will continue collecting waste after the renewal visit until its capacity limit is reached or the workday ends. | Double |
MaxBins_2 | The maximum number of waste bins for fraction 2 the vehicle can collect before it must be emptied. If using renewals, this is a constraint on the capacity of the vehicle and not the route. When this limit is reached, the route will go to the renewal location to empty the vehicle. If there is still time in the driver's workday, the route will continue collecting waste after the renewal visit until its capacity limit is reached or the workday ends. | Double |
MaxWeight_2 | The maximum physical weight for fraction 2 the vehicle can collect before it must be emptied. Any weight units can be used for this value as long as the same units are used for all weight fields. If using renewals, this is a constraint on the capacity of the vehicle and not the route. When this limit is reached, the route will go to the renewal location to empty the vehicle. If there is still time in the driver's workday, the route will continue collecting waste after the renewal visit until its capacity limit is reached or the workday ends. | Double |
MaxVolume_2 | The maximum volume for fraction 2 the vehicle can collect before it must be emptied. Any volume units can be used for this value as long as the same units are used for all volume fields. If using renewals, this is a constraint on the capacity of the vehicle and not the route. When this limit is reached, the route will go to the renewal location to empty the vehicle. If there is still time in the driver's workday, the route will continue collecting waste after the renewal visit until its capacity limit is reached or the workday ends. | Double |
OvertimeStartTime | The duration of regular work time before overtime computation begins. This field can contain null values; a null value indicates that overtime does not apply. The unit for this field value is specified by the timeUnits property of the analysis object. For example, if the driver is to be paid overtime when the total route duration extends beyond eight hours, OvertimeStartTime is specified as 480 (8 hours * 60 minutes/hour), given the time units are minutes. The value for this field should be greater than zero and less than the MaxTotalTime value. | Double |
MaxTotalTime | The maximum allowable route duration. The route duration includes travel times as well as service and wait times at stops, depots, and renewals. Either this field or the maxRouteTotalTime property of the analysis object must be set. If this field is left null, the default value set in the maxRouteTotalTime property will be used for the route. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
MaxTotalDistance | The maximum allowable travel distance for the route. This field can contain null values; a null value indicates that there is no constraint on the maximum allowable travel distance. The unit for this field value is specified by the distanceUnits property of the analysis object. | Double |
AssignmentRule | Specifies whether the route can be used when solving the problem. This field is constrained by a domain of values that are listed below (use the numeric code, not the name in parentheses).
| Long |
Renewals
These are the renewals that will be used as input for the waste collection analysis. A renewal is the location where the vehicle can be emptied during the day such as a landfill, recycling center, or transfer station.
The solver does not support visiting different renewal locations for fraction 1 and 2.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the renewal. This field is the primary key and is used as a foreign key in the RouteRenewals and RenewalVisits classes. Renewal names are case sensitive and must be nonempty and unique. | Text |
Fraction | This field is not yet supported, and nonnull values are ignored. | Long |
Bearing | The direction in which a point is moving. The units are degrees and are measured clockwise from true north. This field is used in conjunction with the BearingTol field. Bearing data is usually sent automatically from a mobile device equipped with a GPS receiver. Try to include bearing data if you are loading an input location that is moving, such as a pedestrian or a vehicle. Using this field tends to prevent adding locations to the wrong edges, which can occur when a vehicle is near an intersection or an overpass, for example. Bearing also helps the tool determine on which side of the street the point is. | Double |
BearingTol | The bearing tolerance value creates a range of acceptable bearing values when locating moving points on an edge using the Bearing field. If the Bearing field value is within the range of acceptable values that are generated from the bearing tolerance on an edge, the point can be added as a network location there; otherwise, the closest point on the next-nearest edge is evaluated. The units are in degrees, and the default value is 30. Values must be greater than 0 and less than 180. A value of 30 means that when Network Analyst attempts to add a network location on an edge, a range of acceptable bearing values is generated 15 degrees to either side of the edge (left and right) and in both digitized directions of the edge. | Double |
NavLatency | This field is only used in the solve process if the Bearing and BearingTol fields also have values; however, entering a NavLatency field value is optional, even when values are present in Bearing and BearingTol. NavLatency indicates how much cost is expected to elapse from the moment GPS information is sent from a moving vehicle to a server and the moment the processed route is received by the vehicle's navigation device. The time units of this field are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Together, these properties describe the point on the network where the object is located. |
RouteRenewals
These are the route renewals that will be used as input for the waste collection analysis. Route renewals pairs the routes with the renewal locations they are able to visit.
Note:
This data type is a table and does not include any location information.
The RouteRenewals class supports the following fields:
Field | Description | Data type |
---|---|---|
RouteName | The name of the route this renewal applies to. The value of this field corresponds to a value in the Name field of a route in the Routes input class. | Text |
RenewalName | The name of the renewal where the truck can be unloaded. The value of this field corresponds to a value in the Name field of a route in the Renewals input class. | Text |
ServiceTime | The amount of time that will be spent at the network location when the route visits it; that is, the impedance value for the network location. A zero or null value indicates that the network location requires no service time. The unit for this field value is specified by the timeUnits property of the analysis object. The time taken to unload a vehicle at a renewal depot may depend on the size of the vehicle and how full or empty the vehicle is. However, the service time for a route renewal is a fixed value and does not take into account the actual load. As such, the renewal service time should be given a value corresponding to a full truckload, an average truckload, or another time estimate of your choice. | Double |
RenewalVisits
These are the renewal visits that will be used as input for the waste collection analysis. The RenewalVisits class is optionally used as input to indicate the sequence a renewal will be visited by the route when fully specifying the assignment and sequencing. If you want to fully define a route's sequence of stops and renewals, set the AssignmentRule field in the Stops class to 1 (Preserve route and relative sequence) and set a value for the RouteName, RenewalName, and Sequence fields for rows in the RenewalVisits class. A maximum of three renewal visits per route is supported.
Note:
This data type is a table and does not include any location information.
The RenewalVisits class supports the following fields:
Field | Description | Data type |
---|---|---|
RouteName | The name of the route this renewal applies to. The value of this field corresponds to a value in the Name field of a route in the Routes input class. | Text |
RenewalName | The name of the renewal where the truck was unloaded. The value of this field corresponds to a value in the Name field of a route in the Renewals input class. | Text |
Sequence | The sequence of the visited renewal along the route. | Long |
PointBarriers
Use this parameter to specify one or more points that will act as temporary restrictions or represent additional time or distance that may be required to travel on the underlying streets. For example, a point barrier can be used to represent a fallen tree along a street or a time delay spent at a railroad crossing.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the barrier. | Text |
BarrierType | Specifies whether the point barrier restricts travel completely or adds time or distance when it is crossed. The value for this attribute is specified as one of the following integers (use the numeric code, not the name in parentheses):
| Long |
Additional_Time | The added travel time when the barrier is traversed. This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the timeUnits property. | Double |
Additional_Distance | The added distance when the barrier is traversed. This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the distanceUnits property. | Double |
AdditionalCost | The added cost when the barrier is traversed. This field value must be greater than or equal to zero, and the values are interpreted to be in unknown units. | Double |
FullEdge | Specifies how the restriction point barriers are applied to the edge elements during the analysis. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
| Long |
CurbApproach | Specifies the direction of traffic that is affected by the barrier. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
Because junctions are points and don't have a side, barriers on junctions affect all vehicles regardless of the curb approach. | Long |
Bearing | The direction in which a point is moving. The units are degrees and are measured clockwise from true north. This field is used in conjunction with the BearingTol field. Bearing data is usually sent automatically from a mobile device equipped with a GPS receiver. Try to include bearing data if you are loading an input location that is moving, such as a pedestrian or a vehicle. Using this field tends to prevent adding locations to the wrong edges, which can occur when a vehicle is near an intersection or an overpass, for example. Bearing also helps the tool determine on which side of the street the point is. | Double |
BearingTol | The bearing tolerance value creates a range of acceptable bearing values when locating moving points on an edge using the Bearing field. If the Bearing field value is within the range of acceptable values that are generated from the bearing tolerance on an edge, the point can be added as a network location there; otherwise, the closest point on the next-nearest edge is evaluated. The units are in degrees, and the default value is 30. Values must be greater than 0 and less than 180. A value of 30 means that when Network Analyst attempts to add a network location on an edge, a range of acceptable bearing values is generated 15 degrees to either side of the edge (left and right) and in both digitized directions of the edge. | Double |
NavLatency | This field is only used in the solve process if the Bearing and BearingTol fields also have values; however, entering a NavLatency field value is optional, even when values are present in Bearing and BearingTol. NavLatency indicates how much cost is expected to elapse from the moment GPS information is sent from a moving vehicle to a server and the moment the processed route is received by the vehicle's navigation device. The time units of this field are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Together, these properties describe the point on the network where the object is located. |
LineBarriers
Use this parameter to specify one or more lines that prohibit travel anywhere the lines intersect the streets. For example, a parade or protest that blocks traffic across several street segments can be modeled with a line barrier. A line barrier can also quickly fence off several roads from being traversed, thereby channeling possible routes away from undesirable parts of the street network.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the barrier. | Text |
BarrierType | Specifies whether the barrier restricts travel completely or scales the cost (such as time or distance) for traveling through it. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
| Long |
ScaledTimeFactor | This is the factor by which the travel time of the streets intersected by the barrier is multiplied. The field value must be greater than zero. | Double |
ScaledDistanceFactor | This is the factor by which the distance of the streets intersected by the barrier is multiplied. The field value must be greater than zero. | Double |
ScaledCostFactor | This is the factor by which the cost of the streets intersected by the barrier is multiplied. The field value must be greater than zero. | Double |
Locations | The information in this field defines which network edges and junctions are covered by the line or polygon and the portion of each edge element that is covered. You cannot directly read or edit the information contained in this field, but Network Analyst interprets it when solving an analysis. | Blob |
PolygonBarriers
Use this parameter to specify polygons that either completely restrict travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | The name of the barrier. | Text |
BarrierType | Specifies whether the barrier restricts travel completely or scales the cost (such as time or distance) for traveling through it. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):
| Long |
ScaledTimeFactor | This is the factor by which the travel time of the streets intersected by the barrier is multiplied. The field value must be greater than zero. | Double |
ScaledDistanceFactor | This is the factor by which the distance of the streets intersected by the barrier is multiplied. The field value must be greater than zero. | Double |
ScaledCostFactor | This is the factor by which the cost of the streets intersected by the barrier is multiplied. The field value must be greater than zero. | Double |
Locations | The information in this field defines which network edges and junctions are covered by the line or polygon and the portion of each edge element that is covered. You cannot directly read or edit the information contained in this field, but Network Analyst interprets it when solving an analysis. | Blob |