@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
311 lines (309 loc) • 21.5 kB
TypeScript
import type FeatureSet from "./FeatureSet.js";
import type TravelMode from "./TravelMode.js";
import type { ClonableMixin } from "../../core/Clonable.js";
import type { JSONSupport } from "../../core/JSONSupport.js";
import type { AnalysisRegion, DistanceUnits, RouteShape, TimeUnits, TimeZoneUsage } from "../lastMileDelivery/types.js";
import type { FeatureSetProperties } from "./FeatureSet.js";
import type { TravelModeProperties } from "./TravelMode.js";
export interface LastMileDeliveryParametersProperties extends Partial<Pick<LastMileDeliveryParameters, "analysisRegion" | "apiKey" | "directionsLanguage" | "distanceUnits" | "earliestRouteStartDate" | "earliestRouteStartTime" | "ignoreInvalidOrderLocations" | "maximumRouteDuration" | "populateDirections" | "routeShape" | "sequenceGap" | "timeUnits" | "timeZoneUsage">> {
/**
* Stores the depots that are part of a given last mile delivery analysis layer. 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. Depots are locations
* where the vehicles are loaded (for deliveries) or unloaded (for pickups). For the Last Mile Delivery solver, the routes must
* all start at the same depot location and must all end at the same depot location. However, the start and end depot
* locations can be different or can be modeled as virtual depot locations not explicitly specified in the problem.
*
* @see [Parameters: depots](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#depots)
*/
depots?: FeatureSetProperties | null;
/**
* 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.
*
* @see [Parameters: line_barriers](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#line_barriers)
*/
lineBarriers?: FeatureSetProperties | null;
/**
* Specifies one or more locations that the routes of the last mile delivery analysis will visit. For example, these are
* the final customer locations where routes deliver packages, or the initial customer location where
* they are picking up packages for shipment.
*
* @see [Parameters: orders](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#orders)
*/
orders?: FeatureSetProperties | null;
/**
* Lists the specialties that can be required by orders and supported by routes.
* A route can service an order only if it supports all the specialties required for that order.
*
* @see [Parameters: order_specialties](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#order_specialties)
*/
orderSpecialties?: FeatureSetProperties | null;
/**
* 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.
*
* @see [Parameters: point_barriers](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#point_barriers)
*/
pointBarriers?: FeatureSetProperties | null;
/**
* Specify polygons that either completely restrict travel or proportionately scale the time or distance
* required to travel on the streets intersected by the polygons
*
* @see [Parameters: polygon_barriers](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#polygon_barriers)
*/
polygonBarriers?: FeatureSetProperties | null;
/**
* Identifies one or more routes that describe vehicle and driver characteristics.
* A route can have start and end depot service times, a fixed or flexible starting time, time-based
* operating costs, distance-based operating costs, multiple capacities, various constraints on a driver's workday, and so on.
*
* @see [Parameters: routes](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#routes)
*/
routes?: FeatureSetProperties | null;
/**
* Lists the specialties that can be required by orders and supported by routes.
* A route can service an order only if it supports all the specialties required for that order.
*
* @see [Parameters: route_specialties](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#route_specialties)
*/
routeSpecialties?: FeatureSetProperties | null;
/**
* A travel mode represents a means of transportation, such as driving or walking. Travel modes define the physical
* characteristics of a vehicle or pedestrian.
*
* Use [fetchServiceDescription()](https://developers.arcgis.com/javascript/latest/references/core/rest/networkService/#fetchServiceDescription) to
* obtain a list of predefined travel modes and the default travel mode that is used if one is not specified in a
* routing reqest.
*
* @see [Introduction to travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm)
* @see [Default travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm#GUID-96DF7F50-E0B2-4BF3-8271-EB515D3F0107)
* @see [Parameters: travel_mode](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#travel_mode)
*/
travelMode?: TravelModeProperties | null;
/**
* Zones specify a work territory. It is a [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/) [feature set](https://developers.arcgis.com/javascript/latest/references/core/rest/support/FeatureSet/)
* and is used to constrain servicing to only those orders that fall within or near an area.
*
* @see [Parameters: zones](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#zones)
*/
zones?: FeatureSetProperties | null;
}
/**
* LastMileDeliveryParameters provides the input parameters for a [lastMileDelivery](https://developers.arcgis.com/javascript/latest/references/core/rest/lastMileDelivery/) request.
*
* @since 4.34
* @see [lastMileDelivery](https://developers.arcgis.com/javascript/latest/references/core/rest/lastMileDelivery/)
*/
export default class LastMileDeliveryParameters extends LastMileDeliveryParametersSuperclass {
constructor(properties?: LastMileDeliveryParametersProperties);
/**
* Use this property to specify the region in which to perform the analysis. If a value is not specified for this parameter,
* the service will automatically calculate the region name based on the location of the input points. Setting the name
* of the region is recommended to speed up the analysis.
*
* @see [Parameters: analysisRegion](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#analysis_region)
*/
analysisRegion?: AnalysisRegion | null;
/**
* An authorization string used to access a resource or service.
* [API keys](https://developers.arcgis.com/documentation/security-and-authentication/api-key-authentication/) are generated and managed in the
* portal. An API key is tied explicitly to an ArcGIS account; it is also used to
* monitor service usage.
* Setting a fine-grained API key on a specific class overrides the [global API key](https://developers.arcgis.com/javascript/latest/references/core/config/#Config-apiKey).
*
* @see [API keys](https://developers.arcgis.com/documentation/security-and-authentication/api-key-authentication/)
* @see [Display a map tutorial - get an API key](https://developers.arcgis.com/javascript/latest/display-a-map/#get-an-access-token)
* @see [token](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#token)
*/
accessor apiKey: string | null | undefined;
/**
* Stores the depots that are part of a given last mile delivery analysis layer. 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. Depots are locations
* where the vehicles are loaded (for deliveries) or unloaded (for pickups). For the Last Mile Delivery solver, the routes must
* all start at the same depot location and must all end at the same depot location. However, the start and end depot
* locations can be different or can be modeled as virtual depot locations not explicitly specified in the problem.
*
* @see [Parameters: depots](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#depots)
*/
get depots(): FeatureSet | null | undefined;
set depots(value: FeatureSetProperties | null | undefined);
/**
* The language that will be used when generating travel directions. This parameter applies only when the
* [populateDirections](https://developers.arcgis.com/javascript/latest/references/core/rest/support/LastMileDeliveryParameters/#populateDirections) parameter is set to `true`. The service supports generating directions in
* the following languages: `ar`, `bg`, `bs`, `ca`, `cs`, `da`, `de`, `el`, `en`, `es`, `et`, `fi`, `fr`, `he`, `hr`,
* `hu`, `id`, `it`, `ja`, `ko`, `lt`, `lv`, `nb`, `nl`, `pl`, `pt-BR`, `pt-PT`, `ro`, `ru`, `sk`, `sl`, `sr`, `sv`,
* `th`, `tr`, `uk`, `vi`, `zh-CN`, `zh-HK` and `zh-TW`.
*
* @see [Parameters: directions_language](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#directions_language)
*/
accessor directionsLanguage: string | null | undefined;
/**
* Specify the units that should be used to measure and report the total travel distance between each origin-destination pair.
* Many parameters in a last mile delivery problem analysis have attributes for storing distance values,
* such as MaxTotalDistance for the routes parameter. To minimize data entry requirements, these attribute
* values don't include units. Instead, all distance-based attribute values must be entered in the same units, and this parameter is used to specify the units of those values
*
* @see [Parameters: distance_units](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#distance_units)
*/
distanceUnits?: DistanceUnits | null;
/**
* Use this property to specify the default earliest start date for routes. This date is in the form YYYY-MM-DD and is used for all routes for which the EarliestStartDate
* attribute in the routes parameter is null. When this property is not specified, the EarliestStartDate attribute for all graphics in [routes](https://developers.arcgis.com/javascript/latest/references/core/rest/support/LastMileDeliveryParameters/#routes) must be set.
*
* @see [Parameters: earliest_route_start_date](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#earliest_route_start_date)
* @see [Parameters: route](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#routes)
*/
accessor earliestRouteStartDate: string | null | undefined;
/**
* Use this parameter to specify the default earliest start time for routes. This time of day is used
* for all routes for which the EarliestStartTime attribute in the routes parameter is null.
* When this property is not specified, all rows in the routes parameter must specify a value in the
* EarliestStartTime attribute. The format to provide the start date is hh:mm:ss, for example, 14:30:30.
*
* @see [Parameters: earliest_route_start_time](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#earliest_route_start_time)
*/
accessor earliestRouteStartTime: string | null | undefined;
/**
* If `true` the solver will ignore any invalid orders and return a solution, given it didn't encounter any other errors. To generate routes
* and deliver them to drivers immediately, you may be able to ignore invalid orders, solve, and distribute the routes to your drivers. Then, resolve
* any invalid orders from the last solve and include them in the fleet routing analysis for the next workday or work shift.
* If `false` the solve operation will fail when any invalid orders are encountered. An invalid order is an order that the fleet routing solver can't
* reach. An order may be unreachable for a variety of reasons, including when the order is located on a prohibited network element, isn't located on the
* network at all, or is located on a disconnected portion of the network.
*
* @see [Parameters: ignore_invalid_order_locations](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#ignore_invalid_order_locations)
*/
accessor ignoreInvalidOrderLocations: boolean | null | undefined;
/**
* 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.
*
* @see [Parameters: line_barriers](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#line_barriers)
*/
get lineBarriers(): FeatureSet | null | undefined;
set lineBarriers(value: FeatureSetProperties | null | undefined);
/**
* Use this property to specify the maximum allowed total time for each route. The value can be any positive number.
* The value is used for all routes when the MaxTotalTime attribute in the routes parameter is null. When no value is specified
* for maximumRouteDuration, all rows in the routes parameter must specify a value in the MaxTotalTime attribute.
*
* The value is interpreted in the units specified in the [timeUnits](https://developers.arcgis.com/javascript/latest/references/core/rest/support/LastMileDeliveryParameters/#timeUnits) property.
*
* @see [Parameters: max_route_total_time](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#max_route_total_time)
*/
accessor maximumRouteDuration: number | null | undefined;
/**
* Specifies one or more locations that the routes of the last mile delivery analysis will visit. For example, these are
* the final customer locations where routes deliver packages, or the initial customer location where
* they are picking up packages for shipment.
*
* @see [Parameters: orders](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#orders)
*/
get orders(): FeatureSet | null | undefined;
set orders(value: FeatureSetProperties | null | undefined);
/**
* Lists the specialties that can be required by orders and supported by routes.
* A route can service an order only if it supports all the specialties required for that order.
*
* @see [Parameters: order_specialties](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#order_specialties)
*/
get orderSpecialties(): FeatureSet | null | undefined;
set orderSpecialties(value: FeatureSetProperties | null | undefined);
/**
* 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.
*
* @see [Parameters: point_barriers](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#point_barriers)
*/
get pointBarriers(): FeatureSet | null | undefined;
set pointBarriers(value: FeatureSetProperties | null | undefined);
/**
* Specify polygons that either completely restrict travel or proportionately scale the time or distance
* required to travel on the streets intersected by the polygons
*
* @see [Parameters: polygon_barriers](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#polygon_barriers)
*/
get polygonBarriers(): FeatureSet | null | undefined;
set polygonBarriers(value: FeatureSetProperties | null | undefined);
/**
* If `true`, directions will be generated and configured based on the value of
* the [directionsLanguage](https://developers.arcgis.com/javascript/latest/references/core/rest/support/LastMileDeliveryParameters/#directionsLanguage) property.
* If `false`, directions will not be generated, and the service returns an empty value
* for the feature sets returned by [getDirectionPoints()](https://developers.arcgis.com/javascript/latest/references/core/rest/lastMileDelivery/#getDirectionPoints) and [getDirectionLines()](https://developers.arcgis.com/javascript/latest/references/core/rest/lastMileDelivery/#getDirectionLines) output parameter
*
* @see [Parameters: populate_directions](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#populate_directions)
*/
accessor populateDirections: boolean | null | undefined;
/**
* Identifies one or more routes that describe vehicle and driver characteristics.
* A route can have start and end depot service times, a fixed or flexible starting time, time-based
* operating costs, distance-based operating costs, multiple capacities, various constraints on a driver's workday, and so on.
*
* @see [Parameters: routes](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#routes)
*/
get routes(): FeatureSet | null | undefined;
set routes(value: FeatureSetProperties | null | undefined);
/**
* Specifies the type of features that are returned by [getRoutes()](https://developers.arcgis.com/javascript/latest/references/core/rest/lastMileDelivery/#getRoutes) method.
*
* @see [Parameters: route_shape](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#route_shape)
*/
routeShape?: RouteShape | null;
/**
* Lists the specialties that can be required by orders and supported by routes.
* A route can service an order only if it supports all the specialties required for that order.
*
* @see [Parameters: route_specialties](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#route_specialties)
*/
get routeSpecialties(): FeatureSet | null | undefined;
set routeSpecialties(value: FeatureSetProperties | null | undefined);
/**
* Use this parameter to specify the gap in numerical values to leave in the Sequence attribute in
* the orders parameter between adjacent orders when the analysis is solved. The value acts as
* a multiplier for the actual sequence of orders on each route.
*
* @see [Parameters: sequence_gap](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#sequence_gap)
*/
accessor sequenceGap: number | null | undefined;
/**
* Specifies the temporal units used by time-based properties like the
* `ServiceTime` and `CostPerUnitTime` graphic attributes in
* [orders](https://developers.arcgis.com/javascript/latest/references/core/rest/support/LastMileDeliveryParameters/#orders) and [routes](https://developers.arcgis.com/javascript/latest/references/core/rest/support/LastMileDeliveryParameters/#routes) respectively.
*
* @see [Parameters: time_units](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#time_units)
*/
timeUnits?: TimeUnits | null;
/**
* Use this parameter to specify the time zone for the input date-time fields.
*
* @see [Parameters: time_zone_usage_for_time_fields](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#time_zone_usage_for_time_fields)
*/
timeZoneUsage?: TimeZoneUsage | null;
/**
* A travel mode represents a means of transportation, such as driving or walking. Travel modes define the physical
* characteristics of a vehicle or pedestrian.
*
* Use [fetchServiceDescription()](https://developers.arcgis.com/javascript/latest/references/core/rest/networkService/#fetchServiceDescription) to
* obtain a list of predefined travel modes and the default travel mode that is used if one is not specified in a
* routing reqest.
*
* @see [Introduction to travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm)
* @see [Default travel modes](https://enterprise.arcgis.com/en/portal/latest/administer/windows/travel-modes.htm#GUID-96DF7F50-E0B2-4BF3-8271-EB515D3F0107)
* @see [Parameters: travel_mode](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#travel_mode)
*/
get travelMode(): TravelMode | null | undefined;
set travelMode(value: TravelModeProperties | null | undefined);
/**
* Zones specify a work territory. It is a [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/) [feature set](https://developers.arcgis.com/javascript/latest/references/core/rest/support/FeatureSet/)
* and is used to constrain servicing to only those orders that fall within or near an area.
*
* @see [Parameters: zones](https://developers.arcgis.com/rest/routing/last-mile-delivery-service/#zones)
*/
get zones(): FeatureSet | null | undefined;
set zones(value: FeatureSetProperties | null | undefined);
}
declare const LastMileDeliveryParametersSuperclass: typeof JSONSupport & typeof ClonableMixin