UNPKG

@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
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