ClosestFacilityParameters

AMD: require(["esri/rest/support/ClosestFacilityParameters"], (ClosestFacilityParameters) => { /* code goes here */ });
ESM: import ClosestFacilityParameters from "@arcgis/core/rest/support/ClosestFacilityParameters";
Class: esri/rest/support/ClosestFacilityParameters
Inheritance: ClosestFacilityParameters Accessor
Since: ArcGIS API for JavaScript 4.20

ClosestFacilityParameters provides the input parameters for a closestFacility request.

See also

Constructors

new ClosestFacilityParameters(properties)
Parameter
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Example
TODO

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
String[]

Use this property to specify whether the operation should accumulate values other than the value specified for impedanceAttribute.

more details
ClosestFacilityParameters
String

An authorization string used to access a resource or service.

more details
ClosestFacilityParameters
AttributeParameterValue[]

Use this property to specify additional values required by an attribute or restriction, such as to specify whether the restriction prohibits, avoids, or prefers travel on restricted roads.

more details
ClosestFacilityParameters
String

The name of the class.

more details
Accessor
Number

The travel time or travel distance value at which to stop searching for facilities for a given incident.

more details
ClosestFacilityParameters
Number

The number of closest facilities to find per incident.

more details
ClosestFacilityParameters
String

The language that will be used when generating travel directions.

more details
ClosestFacilityParameters
String

Specify the units for displaying travel distance in the driving directions.

more details
ClosestFacilityParameters
String

Define the content and verbosity of the driving directions.

more details
ClosestFacilityParameters
String

Specify the name of the formatting style for the directions.

more details
ClosestFacilityParameters
String

Set the time-based impedance attribute to display the duration of a maneuver, such as "Go northwest on Alvorado St.

more details
ClosestFacilityParameters
DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl

One or more locations that are searched for when finding the closest location.

more details
ClosestFacilityParameters
Number

Use this property to specify the number of decimal places in the response geometries returned by solve operation.

more details
ClosestFacilityParameters
Number

Use this property to specify the number of decimal places in the response geometries returned by solve operation.

more details
ClosestFacilityParameters
Number

Use this property to specify the number of decimal places in the response geometries returned by a solve operation.

more details
ClosestFacilityParameters
Boolean

Specify whether invalid input locations should be ignored when finding the best solution.

more details
ClosestFacilityParameters
String

Specifies the impedance.

more details
ClosestFacilityParameters
DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl

One or more locations from which the service searches for the nearby locations

more details
ClosestFacilityParameters
Number

Use this property to specify by how much you want to simplify the route geometry returned by the operation.

more details
ClosestFacilityParameters
String

Use this property to specify the units for the value specified for the outputGeometryPrecision parameter.

more details
ClosestFacilityParameters
String

Use this property to specify the type of route features that are output by the operation.

more details
ClosestFacilityParameters
SpatialReference

Use this property to specify the spatial reference of the geometries, such as line or point features, returned by a solve operation.

more details
ClosestFacilityParameters
Object

Specify additional settings that can influence the behavior of the solver when finding solutions for the network analysis problems.

more details
ClosestFacilityParameters
Collection<PointBarrier>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl

Use this property 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.

more details
ClosestFacilityParameters
Collection<PolygonBarrier>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl

Use this property 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.

more details
ClosestFacilityParameters
Collection<PolylineBarrier>|DataLayer|FeatureSet|NetworkFeatureSet|NetworkUrl

Use this property to specify one or more lines that prohibit travel anywhere the lines intersect the streets.

more details
ClosestFacilityParameters
Boolean

Use this property to specify if the Object IDs specified for input locations such as stops or barriers should be preserved when the input locations are returned as output.

more details
ClosestFacilityParameters
String[]

Use this property to specify which restrictions should be honored by the operation.

more details
ClosestFacilityParameters
String

Specifies how U-Turns should be handled.

more details
ClosestFacilityParameters
Boolean

Specify whether the operation should generate driving directions for each route.

more details
ClosestFacilityParameters
Boolean

Determines if facilities will be returned by the service.

more details
ClosestFacilityParameters
Boolean

Determines if incidents will be returned by the service.

more details
ClosestFacilityParameters
Boolean

Specify whether point barriers will be returned by the routing operation.

more details
ClosestFacilityParameters
Boolean

Specify whether polygon barriers will be returned by the routing operation.

more details
ClosestFacilityParameters
Boolean

Specify whether polyline barriers will be returned by the routing operation.

more details
ClosestFacilityParameters
Boolean

Use this property to specify if the operation should return routes.

more details
ClosestFacilityParameters
Boolean

Specify whether traversed edges will be returned by the operation.

more details
ClosestFacilityParameters
Boolean

Specify whether traversed junctions will be returned by the operation.

more details
ClosestFacilityParameters
Boolean

Specify whether traversed turns will be returned by the operation.

more details
ClosestFacilityParameters
Boolean

Include z values for the returned geometries if supported by the underlying network.

more details
ClosestFacilityParameters
Date|String

Specify the time and date to depart from or arrive at incidents or facilities.

more details
ClosestFacilityParameters
Boolean

Specify the time zone or zones of the timeOfDay property.

more details
ClosestFacilityParameters
String

The timeOfDay parameter value represents the arrival or departure time for the routes.

more details
ClosestFacilityParameters
String

Specifies how the travel direction for the closest facility search will be measured.

more details
ClosestFacilityParameters
TravelMode

A travel mode represents a means of transportation, such as driving or walking.

more details
ClosestFacilityParameters
Boolean

Specify whether hierarchy should be used when finding the shortest paths.

more details
ClosestFacilityParameters

Property Details

accumulateAttributes String[]

Use this property to specify whether the operation should accumulate values other than the value specified for impedanceAttribute. For example, if your impedanceAttribute is set to travel-time, the total travel time for the route will be calculated by the operation. However, if you also want to calculate the total distance of the route in miles, you can specify Miles as the value for the accumulateAttributes property.

Possible Values:"kilometers"|"miles"|"minutes"|"travel-time"|"truck-minutes"|"truck-travel-time"|"walk-time"|"string"

See also
apiKey String
Since: ArcGIS API for JavaScript 4.21

An authorization string used to access a resource or service. API keys are generated and managed in the ArcGIS Developer dashboard. 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.

See also
Example
const start = new Graphic({
  geometry: {
    type: "point",
    x: -13656212.041436872,
    y: 5703897.952531632,
    spatialReference
  }
});

const stores = [
  [-122.67484, 45.52087],
  [-122.68365, 45.52327],
  [-122.66406, 45.52378]
];

const storeGraphics = stores.map(
  (store) =>
    new Graphic({
      geometry: {
        type: "point",
        longitude: store[0],
        latitude: store[1],
        spatialReference
      }
    })
);

const closestFacilityParameters = new ClosestFacilityParameters({
  apiKey: "YOUR_API_KEY",
  incidents: new FeatureSet({
    features: [start]
  }),
  facilities: new FeatureSet({
    features: storeGraphics
  }),
  defaultTargetFacilityCount: 2
});

const results = await solve(url, closestFacilityParameters);
attributeParameterValues AttributeParameterValue[]

Use this property to specify additional values required by an attribute or restriction, such as to specify whether the restriction prohibits, avoids, or prefers travel on restricted roads. If the restriction is meant to avoid or prefer roads, you can further specify the degree to which they are avoided or preferred using this property. For example, you can choose to never use toll roads, avoid them as much as possible, or prefer them.

See also
declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

defaultCutoff Number

The travel time or travel distance value at which to stop searching for facilities for a given incident. For example, while finding the closest hospitals from the site of an accident, a cutoff value of 15 minutes means that the tool will search for the closest hospital within 15 minutes from the incident. If the closest hospital is 17 minutes away, no routes will be returned in the output routes. A cutoff value is especially useful when searching for multiple facilities.

The unit for this parameter is based on the unit of the impedance attribute specified using the impedanceAttributeName parameter or the impedanceAttributeName of the travel mode if travel mode is specified . If the impedanceAttributeName parameter is TravelTime, the defaultCutoff is specified in minutes. Otherwise, the value is specified in miles or kilometers based on whether the impedanceAttributeName is set to Miles or Kilometers, respectively.

See also
defaultTargetFacilityCount Number

The number of closest facilities to find per incident. This is useful in situations in which multiple fire engines may be required from different fire stations, such as a fire. You can specify, for example, to find the three nearest fire stations to a fire.

The value for this parameter can be overridden on a per incident basis by specifying a value for the TargetFacilityCount attribute when specifying the incidents parameter.

See also
directionsLanguage String

The language that will be used when generating travel directions. This parameter applies only when the returnDirections 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 also
directionsLengthUnits String

Specify the units for displaying travel distance in the driving directions. This parameter applies only when the returnDirections parameter is set to true.

Possible Values:"centimeters"|"decimal-degrees"|"decimeters"|"feet"|"inches"|"kilometers"|"meters"|"miles"|"millimeters"|"nautical-miles"|"points"|"yards"

See also
directionsOutputType String

Define the content and verbosity of the driving directions. This parameter applies only when the returnDirections parameter is set to true.

Possible Values:"complete"|"complete-no-events"|"featuresets"|"instructions-only"|"standard"|"summary-only"

See also
directionsStyleName String

Specify the name of the formatting style for the directions.

Possible Values:"desktop"|"navigation"|"campus"

See also
directionsTimeAttribute String

Set the time-based impedance attribute to display the duration of a maneuver, such as "Go northwest on Alvorado St. for 5 minutes." The units for all the time attributes is minutes.

Possible Values:"travel-time"|"truck-travel-time"|"walk-time"|"minutes"|"truck-time"

See also

One or more locations that are searched for when finding the closest location.

See also
Example
const closestFacilityParameters = new ClosestFacilityParameters({
  facilities: new FeatureSet({
    features: [
      new Graphic({
        geometry: new Point({ x: -122.4079, 37.78356 }),
        attributes: {
          "Name": "Fire Station 34",
          "Attr_TravelTime": 4
        }
      }),
      new Graphic({
        geometry: new Point({ x: -122.404, 37.782 }),
        attributes: {
          "Name": "Fire Station 29",
          "Attr_TravelTime": 5
        }
      })
    ]
  })
});
geometryPrecision Number
Since: ArcGIS API for JavaScript 4.25

Use this property to specify the number of decimal places in the response geometries returned by solve operation. This applies to x- and y-values only (not m- or z-values).

See also
geometryPrecisionM Number
Since: ArcGIS API for JavaScript 4.25

Use this property to specify the number of decimal places in the response geometries returned by solve operation. This applies to m-value only (not x-,y- or z-values).

See also
geometryPrecisionZ Number
Since: ArcGIS API for JavaScript 4.25

Use this property to specify the number of decimal places in the response geometries returned by a solve operation. This applies to z-value only (not x-,y- or m-values).

See also
ignoreInvalidLocations Boolean
Since: ArcGIS API for JavaScript 4.25

Specify whether invalid input locations should be ignored when finding the best solution. An input point is deemed invalid by the operation if it is not within the maximum snap tolerance of any traversable street. When true invalid points are ignored. When false any invalid point in your request will cause the operation to return a failure.

See also
impedanceAttribute String

Specifies the impedance.

Impedance is a value that quantifies travel along the transportation network. Travel distance is an example of impedance; it quantifies the length of walkways and road segments. Similarly, drive time—the typical time it takes to drive a car along a road segment—is an example of impedance. This property will be ignored if travelMode is set.

Possible Values:"kilometers"|"miles"|"minutes"|"travel-time"|"truck-minutes"|"truck-travel-time"|"walk-time"

See also

One or more locations from which the service searches for the nearby locations

See also
Example
const closestFacilityParameters = new ClosestFacilityParameters({
  incidents: new FeatureSet({
    features: [
      new Graphic({
        geometry: new Point({ x: -122.4079, 37.78356 }),
        attributes: {
          "Name": "Fire Incident 1",
          "Attr_TravelTime": 4
        }
      }),
      new Graphic({
        geometry: new Point({ x: -122.404, 37.782 }),
        attributes: {
          "Name": "Crime Incident 45",
          "Attr_TravelTime": 5
        }
      })
    ]
  })
});
outputGeometryPrecision Number

Use this property to specify by how much you want to simplify the route geometry returned by the operation. Simplification maintains critical points on a route, such as turns at intersections, to define the essential shape of the route and removes other points. The value of this property, regardless of whether you rely on the default or explicitly set a value, is overridden when you pass in travelMode.

The units are specified with the outputGeometryPrecisionUnits parameter.

See also
outputGeometryPrecisionUnits String

Use this property to specify the units for the value specified for the outputGeometryPrecision parameter. The value of this parameter, regardless of whether you rely on the default or explicitly set a value, is overridden when you pass in travelMode.

Possible Values:"centimeters"|"decimal-degrees"|"decimeters"|"feet"|"inches"|"kilometers"|"meters"|"miles"|"millimeters"|"nautical-miles"|"points"|"yards"

See also
outputLines String

Use this property to specify the type of route features that are output by the operation. This parameter is applicable only if the returnRoutes parameter is set to true.

Possible Value Description
none Do not return any shapes for the routes.
straight Return a straight line between the stops.
true-shape Return the exact shape of the resulting route that is based on the underlying streets.
true-shape-with-measure Return the exact shape of the resulting route that is based on the underlying streets and include route measurements that keep track of the cumulative travel time or travel distance along the route relative to the first stop.

Possible Values:"none"|"straight"|"true-shape"|"true-shape-with-measure"

See also
outSpatialReference SpatialReference

Use this property to specify the spatial reference of the geometries, such as line or point features, returned by a solve operation.

See also
overrides Object
Since: ArcGIS API for JavaScript 4.25

Specify additional settings that can influence the behavior of the solver when finding solutions for the network analysis problems.

See also

Use this property 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.

See also

Use this property 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.

See also

Use this property 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.

See also
preserveObjectID Boolean
Since: ArcGIS API for JavaScript 4.25

Use this property to specify if the Object IDs specified for input locations such as stops or barriers should be preserved when the input locations are returned as output.

See also
restrictionAttributes String[]

Use this property to specify which restrictions should be honored by the operation. A restriction represents a driving preference or requirement. This value is ignored if travelMode is specified.

Possible Values:"any-hazmat-prohibited"|"avoid-carpool-roads"|"avoid-express-lanes"|"avoid-ferries"|"avoid-gates"|"avoid-limited-access-roads"|"avoid-private-roads"|"avoid-roads-unsuitable-for-pedestrians"|"avoid-stairways"|"avoid-toll-roads"|"avoid-toll-roads-for-trucks"|"avoid-truck-restricted-roads"|"avoid-unpaved-roads"|"axle-count-restriction"|"driving-a-bus"|"driving-a-taxi"|"driving-a-truck"|"driving-an-automobile"|"driving-an-emergency-vehicle"|"height-restriction"|"kingpin-to-rear-axle-length-restriction"|"length-restriction"|"preferred-for-pedestrians"|"riding-a-motorcycle"|"roads-under-construction-prohibited"|"semi-or-tractor-with-one-or-more-trailers-prohibited"|"single-axle-vehicles-prohibited"|"tandem-axle-vehicles-prohibited"|"through-traffic-prohibited"|"truck-with-trailers-restriction"|"use-preferred-hazmat-routes"|"use-preferred-truck-routes"|"walking"|"weight-restriction"|"string"

See also
restrictUTurns String

Specifies how U-Turns should be handled.

Possible Value Description
allow-backtrack U-turns are permitted everywhere. Allowing U-turns implies that the vehicle can turn around at a junction and double back on the same street.
at-dead-ends-only U-turns are prohibited at all junctions and intersections and are permitted only at dead ends.
no-backtrack U-turns are prohibited at all junctions, intersections, and dead-ends.
at-dead-ends-and-intersections U-turns are prohibited at junctions where exactly two adjacent streets meet.

Possible Values:"allow-backtrack"|"at-dead-ends-only"|"no-backtrack"|"at-dead-ends-and-intersections"

See also
returnDirections Boolean

Specify whether the operation should generate driving directions for each route. If true directions are configured based on the values for the directionsLanguage, directionsOutputType, directionsStyleName, and directionsLengthUnits properties.

Default Value:false
See also
returnFacilities Boolean

Determines if facilities will be returned by the service.

Default Value:false
See also
returnIncidents Boolean

Determines if incidents will be returned by the service.

Default Value:false
See also
returnPointBarriers Boolean

Specify whether point barriers will be returned by the routing operation.

Default Value:false
See also
returnPolygonBarriers Boolean

Specify whether polygon barriers will be returned by the routing operation.

Default Value:false
See also
returnPolylineBarriers Boolean

Specify whether polyline barriers will be returned by the routing operation.

Default Value:false
See also
returnRoutes Boolean

Use this property to specify if the operation should return routes. If true, the shape of the routes depends on the value for the outputLines property.

Default Value:true
See also
returnTraversedEdges Boolean
Since: ArcGIS API for JavaScript 4.25

Specify whether traversed edges will be returned by the operation.

See also
returnTraversedJunctions Boolean
Since: ArcGIS API for JavaScript 4.25

Specify whether traversed junctions will be returned by the operation.

See also
returnTraversedTurns Boolean
Since: ArcGIS API for JavaScript 4.25

Specify whether traversed turns will be returned by the operation.

See also
returnZ Boolean
Since: ArcGIS API for JavaScript 4.25

Include z values for the returned geometries if supported by the underlying network.

See also
timeOfDay Date|String

Specify the time and date to depart from or arrive at incidents or facilities. You can also specify a value of "now", to set the depart or arrive time to current time.

For ClosestFacilityParameters the timeOfDay is always "now".

See also
timeOfDayIsUTC Boolean
Since: ArcGIS API for JavaScript 4.25

Specify the time zone or zones of the timeOfDay property.

See also
timeOfDayUsage String

The timeOfDay parameter value represents the arrival or departure time for the routes.

Possible Values:"start"|"end"

See also
travelDirection String

Specifies how the travel direction for the closest facility search will be measured.

Possible Value Description
from-facility Direction of travel is from facilities to incidents.
to-facility Direction of travel is from incidents to facilities.

Possible Values:"from-facility"|"to-facility"

See also
travelMode TravelMode

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 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 also
useHierarchy Boolean

Specify whether hierarchy should be used when finding the shortest paths. This value is ignored if a travelMode is specified.

Default Value:false
See also

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class

Adds one or more handles which are to be tied to the lifecycle of the object.

more details
Accessor
this

Creates a deep clone of this object.

more details
ClosestFacilityParameters
*

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product.

more details
ClosestFacilityParameters
Boolean

Returns true if a named group of handles exist.

more details
Accessor

Removes a group of handles owned by the object.

more details
Accessor
Object

Converts an instance of this class to its ArcGIS portal JSON representation.

more details
ClosestFacilityParameters

Method Details

addHandles(handleOrHandles, groupKey)inherited
Since: ArcGIS API for JavaScript 4.25

Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
Parameters
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

groupKey *
optional

Key identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.

clone(){this}

Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.

Returns
Type Description
this A deep clone of the class instance that invoked this method.
fromJSON(json){*}static

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameter
json Object

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
Type Description
* Returns a new instance of this class.
hasHandles(groupKey){Boolean}inherited
Since: ArcGIS API for JavaScript 4.25

Returns true if a named group of handles exist.

Parameter
groupKey *
optional

A group key.

Returns
Type Description
Boolean Returns true if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
Since: ArcGIS API for JavaScript 4.25

Removes a group of handles owned by the object.

Parameter
groupKey *
optional

A group key or an array or collection of group keys to remove.

Example
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
toJSON(){Object}

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
Type Description
Object The ArcGIS portal JSON representation of an instance of this class.

Type Definitions

AttributeParameterValue

An object describing the parameter values for the attributeParameterValues property of ClosestFacilityParameters.

Properties
attributeName String

The name of the restriction.

parameterName String

The name of the parameter associated with the restriction. A restriction can have one or more parameterName properties.

value String|Number

The value for parameterName.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.