ClosestFacility input data types

The input data types that can be specified when performing a closest facility analysis are described below.

Incidents

The locations that will be used as starting or ending points in a closest facility analysis.

The data type supports the following fields:

FieldDescriptionData type

Name

The name of the incident. The name is used in the driving directions. If the name is not specified, a unique name prefixed with Location is automatically generated in the output routes and directions.

String

ID

A unique identifier for the incident. The identifier is included in the output routes (as the IncidentID field) and can help join additional information from the output routes, such as the total travel time or total distance, to attributes from your incidents or vice versa. If the ID isn't specified, the service automatically generates a unique identifier for each incident.

String

AdditionalTime

The amount of time spent at the incident, which is added to the total time of the route. The default value is 0.

The units for this attribute value are specified by the timeUnits property of the analysis object.

If you are finding the closest fire stations to fire incidents to estimate response times, for example, the AdditionalTime attribute can store the amount of time it takes firefighters to hook up their equipment at the location of the incident before they can begin fighting the fire.

Double

AdditionalDistance

The extra distance traveled at the incident, which is added to the total distance of the route. The default value is 0.

The units for this attribute value are specified by the distanceUnits property of the analysis object.

Generally, the location of an incident, such as a home, isn't exactly on the street; it is set back somewhat from the road. This attribute value can be used to model the distance between the incident location and its street location if it is important to include that distance in the total travel distance.

Double

AdditionalCost

The extra cost spent at the incident, which is added to the total cost of the route. The default value is 0.

This attribute value should be used when the travel mode for the analysis uses an impedance attribute that is neither time based nor distance based The units for the attribute values are interpreted to be in unknown units.

Double

TargetFacilityCount

The number of facilities that need to be found for the given incident. This field allows you to specify a different number of facilities to find for each incident. For example, using this field you can find the three closest facilities from one incident and the two closest facilities from another incident.

A value for this field overrides the default set for the analysis using the defaultTargetFacilityCount property.

The default value is Null, which results in using the default value set by the defaultTargetFacilityCount property for all the incidents.

Long

Cutoff

The impedance value at which to stop searching for facilities from a given incident. This attribute allows you to specify a different cutoff value for each incident. For example, using this attribute you can search for facilities within five minutes travel time from one incident and search for facilities within eight minutes travel time from another incident.

This attribute is used only when the travelDirection property is set to TravelDirection.ToFacility.

A value for this attribute overrides the default set for the analysis using the defaultImpedanceCutoff property.

If the travel mode set for the analysis uses a time-based impedance attribute, the values are interpreted to be in the units specified by the timeUnits property. If the travel mode set for the analysis uses a distance-based impedance attribute, the values are interpreted to be in the units specified by the distanceUnits property. If the travel mode set for the analysis uses an impedance attribute that is neither time based nor distance based, the values are interpreted to be in unknown units.

The default value is Null, which results in using the default value set by the defaultImpedanceCutoff property for all the incidents.

Double

CurbApproach

Specifies the direction a vehicle may arrive at and depart from the incident. The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):

  • 0 (Either side of vehicle)—The vehicle can approach and depart the incident in either direction, so a U-turn is allowed at the incident. This setting can be chosen if it is possible and practical for a vehicle to turn around at the incident. This decision may depend on the width of the road and the amount of traffic or whether the incident has a parking lot where vehicles can pull in and turn around.

  • 1 (Right side of vehicle)—When the vehicle approaches and departs the incident, the curb must be on the right side of the vehicle. A U-turn is prohibited. This is typically used for vehicles such as buses that must arrive with the bus stop on the right-hand side.

  • 2 (Left side of vehicle)—When the vehicle approaches and departs the incident, the curb must be on the left side of the vehicle. A U-turn is prohibited. This is typically used for vehicles such as buses that must arrive with the bus stop on the left-hand side.

  • 3 (No U-Turn)—When the vehicle approaches the incident, the curb can be on either side of the vehicle; however, the vehicle must depart without turning around.

    The CurbApproach attribute is designed to work with both types of national driving standards: right-hand traffic (United States) and left-hand traffic (United Kingdom). First, consider an incident on the left side of a vehicle. It is always on the left side regardless of whether the vehicle travels on the left or right half of the road. What may change with national driving standards is your decision to approach an incident from one of two directions, that is, so it ends up on the right or left side of the vehicle. For example, if you want to arrive at an incident and not have a lane of traffic between the vehicle and the incident, choose 1 (Right side of vehicle) in the United States and 2 (Left side of vehicle) in the United Kingdom.

Short Integer

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.

Learn more about bearing and bearing tolerance

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.

Learn more about bearing and bearing tolerance

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 units of NavLatency are the same as the units of the impedance attribute.

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

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

Learn more about locating inputs on a network

Facilities

The locations that will be used as starting or ending points in a closest facility analysis.

The data type supports the following fields:

FieldDescriptionData type

Name

The name of the facility. The name is used in the driving directions. If the name is not specified, a unique name prefixed with Location is automatically generated in the output routes and directions.

String

ID

A unique identifier for the facility. The identifier is included in the output routes and the output closest facilities as FacilityID fields. The FacilityID field can be used to join additional information from the output routes, such as the total travel time or total distance, to attributes from your facilities. If the ID isn't specified, the service automatically generates a unique identifier for each facility.

String

AdditionalTime

The amount of time spent at the facility, which is added to the total time of the route. The default value is 0.

The units for this attribute value are specified by the timeUnits property of the analysis object.

If you are finding the closest fire stations to fire incidents, for example, AdditionalTime can store the time it takes a crew to don the appropriate protective equipment and exit the fire station.

Double

AdditionalDistance

The extra distance traveled at the facility, which is added to the total distance of the route. The default value is 0.

The units for this attribute value are specified by the distanceUnits property of the analysis object.

Generally, the location of a facility, such as a fire station, isn't exactly on the street; it is set back somewhat from the road. AdditionalDistance can model the distance between the facility location and its street location if it is important to include that distance in the total travel distance.

Double

AdditionalCost

The extra cost spent at the facility, which is added to the total cost of the route. The default value is 0.

This attribute value should be used when the travel mode for the analysis uses an impedance attribute that is neither time based nor distance based The units for the attribute values are interpreted to be in unknown units.

Double

Cutoff

The impedance value at which to stop searching for incidents from a given facility. This attribute allows you to specify a different cutoff value for each facility. For example, using this attribute you can search for incidents within five minutes of travel time from one facility and search for incidents within eight minutes of travel time from another facility.

This attribute is used only when the travelDirection property is set to TravelDirection.FromFacility.

A value for this attribute overrides the default set for the analysis using the defaultImpedanceCutoff property.

If the travel mode in the analysis uses a time-based impedance attribute, the values are interpreted to be in the units specified by the timeUnits property. If the travel mode in the analysis uses a distance-based impedance attribute, the values are interpreted to be in the units specified by the distanceUnits property. If the travel mode in the analysis uses an impedance attribute that is neither time based nor distance based, the values are interpreted to be in unknown units.

The default value is Null, which results in using the default value set by the defaultImpedanceCutoff property for all the incidents.

Double

CurbApproach

Specifies the direction a vehicle may arrive at and depart from the facility.

  • 0 (Either side of vehicle)—The vehicle can approach and depart the facility in either direction, so a U-turn is allowed at the facility. This setting can be chosen if it is possible and practical for a vehicle to turn around at the facility. This decision may depend on the width of the road and the amount of traffic or whether the facility has a parking lot where vehicles can pull in and turn around.
  • 1 (Right side of vehicle)—When the vehicle approaches and departs the facility, the facility must be on the right side of the vehicle. A U-turn is prohibited. This is typically used for vehicles such as buses that must arrive with the bus stop on the right-hand side.
  • 2 (Left side of vehicle)—When the vehicle approaches and departs the facility, the curb must be on the left side of the vehicle. A U-turn is prohibited. This is typically used for vehicles such as buses that must arrive with the bus stop on the left-hand side.
  • 3 (No U-Turn)—When the vehicle approaches the facility, the curb can be on either side of the vehicle; however, the vehicle must depart without turning around.

The CurbApproach attribute is designed to work with both types of national driving standards: right-hand traffic (United States) and left-hand traffic (United Kingdom). First, consider a facility on the left side of a vehicle. It is always on the left side regardless of whether the vehicle travels on the left or right half of the road. What may change with national driving standards is your decision to approach a facility from one of two directions, that is, so it ends up on the right or left side of the vehicle. For example, if you want to arrive at a facility and not have a lane of traffic between the vehicle and the facility, choose 1 (Right side of vehicle) in the United States and 2 (Left side of vehicle) in the United Kingdom.

Short Integer

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.

Learn more about bearing and bearing tolerance

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.

Learn more about bearing and bearing tolerance

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 units of NavLatency are the same as the units of the impedance attribute.

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

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

Learn more about locating inputs on a network

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:

FieldDescriptionData type

Name

The name of the barrier.

String

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):

  • 0 (Restriction)—Prohibits travel through the barrier. The barrier is referred to as a restriction point barrier since it acts as a restriction.

  • 2 (Added Cost)—Traveling through the barrier increases the travel time or distance by the amount specified in the Additional_Time, Additional_Distance, or Additional_Cost field. This barrier type is referred to as an added cost point barrier.

Short

Additional_Time

The added travel time when the barrier is traversed. This field is applicable only for added-cost barriers and when the Measurement Units parameter value is time based.

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 is applicable only for added-cost barriers and when the Measurement Units parameter value is distance based.

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

Additional_Cost

The added cost when the barrier is traversed. This field is applicable only for added-cost barriers when the Measurement Units parameter value is neither time based nor distance based.

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):

  • 0 (False)—Permits travel on the edge up to the barrier but not through it. This is the default value.
  • 1 (True)—Restricts travel anywhere on the associated edge.

Short

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):

  • 0 (Either side of vehicle)—The barrier affects travel over the edge in both directions.
  • 1 (Right side of vehicle)—Vehicles are only affected if the barrier is on their right side during the approach. Vehicles that traverse the same edge but approach the barrier on their left side are not affected by the barrier.
  • 2 (Left side of vehicle)—Vehicles are only affected if the barrier is on their left side during the approach. Vehicles that traverse the same edge but approach the barrier on their right side are not affected by the barrier.

Because junctions are points and don't have a side, barriers on junctions affect all vehicles regardless of the curb approach.

The CurbApproach attribute works with both types of national driving standards: right-hand traffic (United States) and left-hand traffic (United Kingdom). First, consider a facility on the left side of a vehicle. It is always on the left side regardless of whether the vehicle travels on the left or right half of the road. What may change with national driving standards is your decision to approach a facility from one of two directions, that is, so it ends up on the right or left side of the vehicle. For example, to arrive at a facility and not have a lane of traffic between the vehicle and the facility, choose 1 (Right side of vehicle) in the United States and 2 (Left side of vehicle) in the United Kingdom.

Short

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.

Learn more about bearing and bearing tolerance

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.

Learn more about bearing and bearing tolerance

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 units of NavLatency are the same as the units of the impedance attribute.

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

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

Learn more about locating inputs on a network

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:

FieldDescriptionData type

Name

The name of the barrier.

String

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):

  • 0 (Restriction)—Prohibits travel anywhere the barrier intersects your transportation network. The barrier is referred to as a restriction line barrier.

  • 1 (Scaled Cost)—Scales the cost (such as travel time or distance) required to travel the underlying streets by a factor specified using the ScaledTimeFactor or ScaledDistanceFactor field. If the streets are partially covered by the barrier, the travel time or distance is apportioned and then scaled. For example, a factor of 0.25 means that travel on underlying streets is expected to be four times faster than normal. A factor of 3.0 means it is expected to take three times longer than normal to travel on underlying streets. This barrier type is referred to as a scaled-cost line barrier. It can be used to model slowdowns due to closure of traffic lanes during construction.

Short

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.

This field is applicable only for scaled-cost barriers and when the Measurement Units parameter is time-based.

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.

This field is applicable only for scaled-cost barriers and when the Measurement Units parameter is distance-based.

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.

This field is applicable only for scaled-cost barriers when the Measurement Units parameter is neither time-based nor distance-based.

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.

Learn more about locating inputs on a network

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:

FieldDescriptionData type

Name

The name of the barrier.

String

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):

  • 0 (Restriction)—Prohibits traveling through any part of the barrier. The barrier is referred to as a restriction polygon barrier since it prohibits traveling on streets intersected by the barrier. One use of this type of barrier is to model floods covering areas of the street that make traveling on those streets impossible.

  • 1 (Scaled Cost)—Scales the cost (such as travel time or distance) required to travel the underlying streets by a factor specified using the ScaledTimeFactor or ScaledDistanceFactor field. If the streets are partially covered by the barrier, the travel time or distance is apportioned and then scaled. For example, a factor of 0.25 means that travel on underlying streets is expected to be four times faster than normal. A factor of 3.0 means it is expected to take three times longer than normal to travel on underlying streets. This barrier type is referred to as a scaled-cost polygon barrier. It can be used to model storms that reduce travel speeds in specific regions.

Short

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.

This field is applicable only for scaled-cost barriers and when the Measurement Units parameter is time-based.

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.

This field is applicable only for scaled-cost barriers and when the Measurement Units parameter is distance-based.

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.

This field is applicable only for scaled-cost barriers when the Measurement Units parameter is neither time-based nor distance-based.

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.

Learn more about locating inputs on a network

Blob