Closest facility analysis layer

The closest facility solver measures the cost of traveling between incidents and facilities and determines which are nearest to one other. When finding closest facilities, you can specify how many to find and whether the direction of travel is toward or away from them. The closest facility solver displays the best routes between incidents and facilities, reports their travel costs, and returns driving directions.

When finding the closest facility, you can specify constraints, such as a cutoff cost beyond which Network Analyst does not search for facilities. For instance, you can set up a closest facility problem to search for hospitals within a 15-minute drive of the site of an accident. Any hospitals that take longer than 15 minutes to reach are not included in the results. In this example, the hospitals are facilities, and the accident is the incident. Network Analyst allows you to perform multiple closest facility analyses simultaneously. This means you can have multiple incidents and find the closest facility (or facilities) for each incident.

Tip:

The closest facility and OD cost matrix solvers perform very similar analyses; the main difference, however, is in the output and the computation speed. OD cost matrix generates results more quickly but cannot return the true shapes of routes or their driving directions. It is designed to quickly solve large M x N problems and, as a result, does not internally contain the information required to generate route shapes and driving directions. Alternatively, the closest facility solver returns routes and directions but performs the analysis more slowly than the OD cost matrix solver. If you need driving directions or true shapes of routes, use the closest facility solver; otherwise, use the OD cost matrix solver to reduce the computation time.

This topic describes the closest facility analysis layer, its analysis properties, and its feature classes.

Facilities feature class

This network analysis class stores the network locations that are used as the starting or ending points in closest facility analyses.

When a closest facility analysis layer is created, the Facilities class is empty. It is populated only when network locations are added to it. A minimum of one facility and one incident are necessary to solve the analysis.

Facilities: Input fields

Input fieldDescription

ObjectID

The system-managed ID field.

Shape

The geometry field indicating the geographic location of the network analysis object.

Name

The name of the network analysis object.

Attr_[Cost]

(for instance, Attr_DriveTime, where DriveTime is the travel cost)

This property stores an extra cost for the network location.

Take the example of finding the three closest fire stations to a fire incident using DriveTime as the impedance. Attr_DriveTime can store the turnout time for the facility. Turnout time is how long it takes a crew to put on the appropriate protective equipment and exit the fire station.

Cutoff_[Cost]

(for instance Cutoff_DriveTime, where DriveTime is the travel cost)

While searching for the closest incident from a facility, Network Analyst can use a cutoff value for the impedance. Any incident beyond the cutoff value is not searched.

If the Cutoff_[Cost] is not set for a facility, the analysis uses the default cutoff value specified on the Closest Facility tab for this analysis layer. If a default cutoff value is not set there either, the closest incident is found, regardless of how far it may be.

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

Together, these properties describe the point on the network where the object is located.

Learn more about locating inputs on a network

CurbApproach

The CurbApproach field specifies the direction a vehicle may arrive at and depart from the network location. The shortest path between two points can change depending on the direction of travel permitted when arriving at or departing from a location. There are four choices (their coded values are shown in parentheses):

  • Either side of vehicle (0)—The vehicle can approach and depart the point in either direction. U-turns are allowed. Choose this setting if a vehicle can make a U-turn at the location or if it can pull into a driveway or parking lot and turn around.
  • Right side of vehicle (1)—When the vehicle approaches and departs the point, the curb must be on the right side of the vehicle. A U-turn is prohibited.
  • Left side of vehicle (2)—When the vehicle approaches and departs the point, the curb must be on the left side of the vehicle. A U-turn is prohibited.
  • No U-Turn (3)—When the vehicle approaches the point, the curb can be on either side of the vehicle; however, the vehicle must depart without turning around.
Learn more about U-turns and curb approach

For closest facility analyses, the No U-turn (3) value functions the same as Either side of vehicle (0).

Facilities: Input/output fields

Input/output fieldDescription

Status

This field indicates the status of the point. The status may change after running the analysis. The field values are constrained by a domain of values, which are listed below (their coded values are shown in parentheses):

  • OK (0)—The point is valid.
  • Not located (1)—The point was not successfully located on the network.
  • Network element not located (2)—The network element identified by the point's network location fields can't be found. This can occur when a network element where the point should be was deleted, and the network location was not recalculated.

After running the analysis, the status can be modified to one of the following status values:

  • OK (0)—The network location was successfully evaluated.
  • Element not traversable (3)—The network element the point is on is not traversable. This can occur when the network element is restricted by a restriction attribute.
  • Invalid field values (4)—One or more of the point's field values fall outside the analysis layer's coded or range domains. For example, a negative number may exist where positive numbers are required.
  • Not reached (5)—The point can't be reached by the solver. The point may be on a separate, disconnected area of the network from the other inputs, or barriers or restrictions prevent travel to or from the point.
  • Time window violation (6)—The point could not be reached within the designated time windows. This status only applies to analysis types that support time windows.
  • Not located on closest (7)—The closest network location to the point is not traversable because of a restriction or barrier, so the point has been located on the closest traversable network feature instead.

If a facility is not included in the solution because of specified cutoffs or a designated number of facilities to find, the status does not update to Not reached (5).

Incidents feature class

This network analysis class stores the network locations that are used as starting or ending points in closest facility analyses. Whether starting or ending points, incidents are always on the opposite end of a route from the connected facility.

When a closest facility analysis layer is created, the Incidents class is empty. It is populated only when network locations are added to it. A minimum of one facility and one incident are necessary to solve the analysis.

Incidents: Input fields

Input fieldDescription

ObjectID

The system-managed ID field.

Shape

The geometry field indicating the geographic location of the network analysis object.

Name

The name of the network analysis object.

TargetFacilityCount

This property stores the number of facilities that need to be found for the incident.

A default value for the number of facilities to find can be set on the Closest Facility tab for this analysis layer. Values specified in the TargetFacilityCount field override that default value.

Attr_[Cost]

(for instance, Attr_DriveTime, where DriveTime is the travel cost)

This property stores an extra cost for the network location.

For example, if you're finding the three closest fire stations from a fire incident using DriveTime as impedance, the Attr_DriveTime attribute can store the amount of time spent at the fire incident. This can be the time it takes for firefighters to hook up their equipment and begin fighting the fire.

Cutoff_[Cost]

(for instance Cutoff_DriveTime, where DriveTime is the travel cost)

This cutoff value indicates the farthest network distance to search for a facility. Any incident farther from the facility than the cutoff value is not searched or included in the results.

A default value for the cost cutoff can be set on the Closest Facility tab for this analysis layer. Values specified in the Cutoff_[Cost] field override that default value. If the default cutoff value is also not set, the closest facility is found, regardless of how far it may be.

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

Together, these properties describe the point on the network where the object is located.

Learn more about locating inputs on a network

CurbApproach

The CurbApproach field specifies the direction a vehicle may arrive at and depart from the network location. The shortest path between two points can change depending on the direction of travel permitted when arriving at or departing from a location. There are four choices (their coded values are shown in parentheses):

  • Either side of vehicle (0)—The vehicle can approach and depart the point in either direction. U-turns are allowed. Choose this setting if a vehicle can make a U-turn at the location or if it can pull into a driveway or parking lot and turn around.
  • Right side of vehicle (1)—When the vehicle approaches and departs the point, the curb must be on the right side of the vehicle. A U-turn is prohibited.
  • Left side of vehicle (2)—When the vehicle approaches and departs the point, the curb must be on the left side of the vehicle. A U-turn is prohibited.
  • No U-Turn (3)—When the vehicle approaches the point, the curb can be on either side of the vehicle; however, the vehicle must depart without turning around.
Learn more about U-turns and curb approach

For closest facility analyses, the No U-turn (3) value functions the same as Either side of vehicle (0).

Incidents: Input/output fields

Input/Output fieldDescription

Status

This field indicates the status of the point. The status may change after running the analysis. The field values are constrained by a domain of values, which are listed below (their coded values are shown in parentheses):

  • OK (0)—The point is valid.
  • Not located (1)—The point was not successfully located on the network.
  • Network element not located (2)—The network element identified by the point's network location fields can't be found. This can occur when a network element where the point should be was deleted, and the network location was not recalculated.

After running the analysis, the status can be modified to one of the following status values:

  • OK (0)—The network location was successfully evaluated.
  • Element not traversable (3)—The network element the point is on is not traversable. This can occur when the network element is restricted by a restriction attribute.
  • Invalid field values (4)—One or more of the point's field values fall outside the analysis layer's coded or range domains. For example, a negative number may exist where positive numbers are required.
  • Not reached (5)—The point can't be reached by the solver. The point may be on a separate, disconnected area of the network from the other inputs, or barriers or restrictions prevent travel to or from the point.
  • Time window violation (6)—The point could not be reached within the designated time windows. This status only applies to analysis types that support time windows.
  • Not located on closest (7)—The closest network location to the point is not traversable because of a restriction or barrier, so the point has been located on the closest traversable network feature instead.

Routes feature class

The Routes class stores the resulting route, or routes, of the analysis. It is an output-only class; the closest facility analysis layer overwrites or deletes any route features while running the analysis.

Routes: Output fields

Output fieldDescription

ObjectID

The system-managed ID field.

Shape

The geometry field indicating the geographic location of the network analysis object.

Name

The name of the closest facility route is based on the names of the associated facility and incident.

The facility name is first if the direction of travel is from the facility to the incident. For example, Facility 5–Incident 3 indicates the route travels from Facility 5 to Incident 3. The incident name is first if the direction of travel is from the incident to the facility.

FacilityID

The unique ID of the facility the route visits.

FacilityRank

The rank of the facility among all facilities found for the associated incident; the closest facility has a rank of 1.

IncidentCurbApproach

Describes the side of the vehicle the incident is on when arriving at or departing from the incident. A value of 1 means the right side of the vehicle; a value of 2 indicates the left side.

FacilityCurbApproach

Describes the side of the vehicle the facility is on when arriving at or departing from the facility. A value of 1 means the right side of the vehicle; a value of 2 indicates the left side.

IncidentID

The unique ID of the incident the route visits.

Total_[Cost]

(for instance Total_Minutes, where Minutes is the travel cost)

The cumulative cost of the route between the facility and the incident. This field is generated for the impedance attribute and any accumulated attributes.

StartTime

The start time of the route, reported as local time at the first stop.

EndTime

The end time of the route, reported as local time at the last stop.

StartTimeUTC

The start time of the route in coordinated universal time (UTC).

EndTimeUTC

The end time of the route in coordinated universal time (UTC).

Closest facility analysis layer properties

The following subsections list parameters you can set on the analysis layer. They are found on the Closest Facility tab, which is available only if your Closest Facility layer or one of its sublayers is selected in the Contents pane.

Closest Facility tab

Run

After you load input features and set analysis properties, click Run Run to solve the closest facility analysis.

Import Facilities

Import Facilities Import Facilities is in the Input Data group. Click it to load features from another data source, such as a point feature layer, into the Facilities feature class.

Import Incidents

Import Incidents Import Incidents is in the Input Data group. Click it to load features from another data source, such as a point feature layer, into the Incidents feature class.

Import Barriers

Click Import Point Barriers Import Point Barriers, Import Line Barriers Import Line Barriers, or Import Polygon Barriers Import Barriers to load features from another data source, such as another feature layer, into one of the barriers feature classes (point barriers, line barriers, or polygon barriers).

Create Features

Click the Create Features button Create Features to open the Create Features pane. Select from the available templates to create features in the current map.

Mode

The Mode drop-down list allows you to choose a travel mode, which is a group of settings that together model the movement of pedestrians, cars, trucks, or another travel mode. The choices available in the drop-down list depend on the travel modes that are configured on the network data source that the network analysis layer is referencing.

Direction

Your closest facility analysis can accumulate travel time or other cost in the direction away from or toward the facility.

  • Away from Facilities—The direction of travel is from the facility to the incident.
    Away from facility
  • Towards Facilities—The direction of travel is from the incident to the facility.
    Towards facility

On a network with one-way restrictions and different travel times based on direction of travel, changing the travel direction can produce different results. The direction you should choose depends on the nature of your analysis. For example, to route the closest fire truck (the facility) to the location of a fire (the incident), the Away from Facilities option is the most appropriate choice. Alternatively, to identify the closest gas station (facility) to your current location, Towards Facilities is a better choice because you need to travel to the facility.

Cutoff

When calculating the least-cost path from an incident to a facility, the Closest Facility solver stops searching for facilities that lie beyond this impedance cutoff. No facilities beyond this limit are found for that incident. The units you use for the cutoff value are shown next to the Mode drop-down list.

Note:

Cutoff assigns default values to origins that do not have numeric values stored in the Cutoff_[Cost] field.

Facilities

You can specify the number of facilities to find per incident by entering a value for Facilities.

Note:

The Facilities value can be overridden on a per-incident basis by specifying an individual value for the TargetFacilityCount property in the incidents sublayer.

Date and Time

The Arrive Depart Date-Time Type drop-down list in the Date and Time group is available when the cost units are time based. From the drop-down list, choose whether a specific time and date value is given to indicate the time that the route or routes depart from their first stop. The primary reason for setting a specific time and date is to solve the analysis using dynamic traffic conditions or public transit schedules; however, to use traffic or public transit in the analysis, the network dataset or route service must include traffic data or public transit.

The options in the drop-down list are as follows:

  • Not Using Time—Regardless of whether the network data source includes time-based data, the results are based on static travel times—the travel times on a network edge don't vary throughout the day. The Time of Day and Date text boxes are unavailable.

  • Date & Time—Specify the time as a time of day and calendar date. The Time of Day and Date text boxes are available to provide this information.

  • Day of Week—Specify a time of day and day of the week. The Time of Day and Date text boxes are available to provide this information. Set the day of the week by typing one of the following values in the Date text box:

    • Monday
    • Tuesday
    • Wednesday
    • Thursday
    • Friday
    • Saturday
    • Sunday

  • Today—Specify a time, and the day is assumed to be the current date. The Time of Day text box is available to provide the time of day, and the Date text box is set to Today and is unavailable so it can't be changed.

  • Now—When you run the analysis, the time and date are set to the current time and date. This is useful if your network dataset is configured with live traffic data, and the routes are distributed to drivers for implementing immediately after running the analysis. The Time of Day and the Date text boxes are unavailable so they can't be changed.

From the Reference Time Zone drop-down list you can choose which time zone should be used in the analysis. The options are as follows:

  • Local Time at Locations
  • UTC (Universal Coordinated Time)

Time Usage

You can choose the specified date and time to be either the departure time or arrival time.

Time Usage: Departure Departure—Represents the date and time you want the closest facility routes to start.

Time Usage: Arrival Arrival—Represents the date and time you want the closest facility routes to finish.

Output Geometry Linear Shape Type

This control allows you to choose how the output displays on the map. The closest facility analysis always solves least-cost paths along the network using the settings you specify. In addition to displaying these true paths along the network on the map, you can also choose to represent the routes on a map using simple straight lines between incidents and facilities or no lines at all.

  • No Lines—No output linear shapes are generated.
  • Straight Lines—Output simplified geometry as straight lines.
  • Along Network—Generate true paths along the network on the map.

Accumulate Cost Attributes

The Accumulate Cost Attributes drop-down menu in the Travel Settings group can be used to configure accumulated cost attributes. The drop-down menu is unavailable if the network data source is a service, the output geometry types do not include lines, or there are no cost attributes. The attributes are grouped by unit domain shown as the group header (for example, Time or Distance). A checked check box indicates that the analysis layer will accumulate the checked attribute during the solve.

Accumulate Cost Attributes drop-down menu

When multiple analysis layers of the same layer type are selected, the check box shows a mixed state if all layers do not share the same checked status for one attribute. In the following image, the WeekendFallbackTravelTime attribute is selected for multiple layers, so it has a check mark.

Check box showing a mixed state

If all selected layers share the checked status for an attribute, the check box shows that state.

Check boxes are checked for the attributes.

Directions

  • Output on Solve—Turn on to generate directions upon solve for the current network analysis layer.
  • Show Directions Directions—When the Output on Solve option is checked, on clicking the Show Directions option, the Directions pane will appear with turn-by-turn directions for each route in the solution.

Share as Route Layers

The Route Layers button Share As Route Layer in the Share As group allows you to share the results from the analysis as route layers. This button opens the Share as Route Layers geoprocessing tool. Upon successful execution, the results from the analysis are shared as route layer items in the portal.