ClosestFacility output data types

The output data types containing the results from a closest facility analysis are described.

ClosestFacilities and Facilities

This provides access to the output facilities from a closest facility analysis.

The ClosestFacilities data type includes only those facilities from the set of input facilities that were closest to at least one incident. The Facilities data type includes all the facilities from the analysis, including the facilities that cannot be reached from any of the incidents. You can use the Status field from the Facilities data type to determine why a facility was not used in the analysis.

These data types support the fields described below. In addition to these fields, the data types also include all the fields from the input feature class used as facilities for the analysis.

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

Name

The name of the facility. The values for this field are copied from the Name field on the input facilities.

Text

SourceID

The numeric identifier of the network dataset source feature class on which the input point is located.

Long

SourceOID

The ObjectID of the feature in the source on which the input point is located.

Long

PosAlong

The position along the digitized direction of the source line feature. This value is stored as a ratio. This field is null if the network location references a junction.

Double

SideOfEdge

The side of the edge in relation to the digitized direction of the line feature. This field is limited to a domain of two values: Right Side (1) and Left Side (2).

Long

CurbApproach

The direction a vehicle may arrive at and depart from the facility. The values for this field are copied from the CurbApproach field on the input facilities.

Long

Status

Specifies the status of the point with respect to its location on the network and the outcome of the analysis. The possible values are the following:

  • 0 (OK)—The point was located on the network.
  • 1 (Not Located)—The point was not located on the network and was not included in the analysis.
  • 2 (Network element not located)—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.
  • 3 (Element not traversable)—The network element that the point is located on is not traversable. This can occur when the element is restricted by a restriction attribute.
  • 4 (Invalid Field Values)—Field values fall outside a range or coded-value domain. For example, a negative number exists where positive numbers are required.
  • 5 (Not Reached)—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.
  • 6 (Time window violation)—The point could not be reached within the designated time windows. This status only applies to network analysis types that support time windows.
  • 7 (Not located on closest)—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.

Long

SnapX

The x-coordinate of the position on the network dataset where the point was located, in the coordinate system of the network dataset.

Double

SnapY

The y-coordinate of the position on the network dataset where the point was located, in the coordinate system of the network dataset.

Double

SnapZ

The z-coordinate of the position on the network dataset where the point was located, in the coordinate system of the network dataset. The SnapZ field is 0 if the network is two dimensional.

Double

DistanceToNetworkInMeters

The distance in meters between the point's geographic location and the position where it was located on the network.

Double

AdditionalTime

The amount of time added to the total route time when this facility is visited. The values for this field are copied from the AdditionalTime field on the input facilities.

Double

AdditionalDistance

The amount of distance added to the total route distance when this facility is visited. The values for this field are copied from the AdditionalDistance field on the input facilities.

Double

AdditionalCost

The cost added to the total route cost when this facility is visited. The values for this field are copied from the AdditionalCost field on the input facilities. This field is included only when the travel mode used for the analysis has an impedance attribute that is neither time based nor distance based.

Double

Cutoff

The impedance value at which the analysis stopped searching for the facilities from a given incident. The values for this field are copied from the Cutoff field on the input facilities.

Double

ID

A user-defined unique identifier for the facility. The values for this field are copied from the ID field on the input facilities.

Text

FacilityOID

The ObjectID value of the input facility.

This field is not always reliable for joins. This field is null for inputs added to the analysis using the insertCursor method. Values may not be unique if multiple feature classes were loaded using the load method.

Long

ORIG_FID

Legacy:

The ClosestFacilities output includes the ORIG_FID field to maintain backward compatibility. It is the same as the FacilityOID field. The Facilities output does not include the ORIG_FID field.

Long

Bearing

The values for this field are copied from the Bearing field on the input facilities.

Double

BearingTol

The values for this field are copied from the BearingTol field on the input facilities.

Double

NavLatency

The values for this field are copied from the NavLatency field on the input facilities.

Double

Incidents

This provides access to the locations used as starting or ending points in a closest facility analysis.

The data type supports the following fields:

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

Name

The name of the incident. The values for this field are copied from the Name field on input incidents.

Text

TargetFacilityCount

The number of facilities that need to be found for the given incident. The values for this field are copied from the TargetFacilityCount field on the input incident.

Long

SourceID

The numeric identifier of the network dataset source feature class on which the input point is located.

Long

SourceOID

The ObjectID of the feature in the source on which the input point is located.

Long

PosAlong

The position along the digitized direction of the source line feature. This value is stored as a ratio. This field is null if the network location references a junction.

Double

SideOfEdge

The side of the edge in relation to the digitized direction of the line feature. This field is limited to a domain of two values: Right Side (1) and Left Side (2).

Long

CurbApproach

The direction a vehicle may arrive at and depart from the incident. The values for this field are copied from the CurbApproach field on the input incident.

Long

Status

Specifies the status of the point with respect to its location on the network and the outcome of the analysis. The possible values are the following:

  • 0 (OK)—The point was located on the network.
  • 1 (Not Located)—The point was not located on the network and was not included in the analysis.
  • 2 (Network element not located)—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.
  • 3 (Element not traversable)—The network element that the point is located on is not traversable. This can occur when the element is restricted by a restriction attribute.
  • 4 (Invalid Field Values)—Field values fall outside a range or coded-value domain. For example, a negative number exists where positive numbers are required.
  • 5 (Not Reached)—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.
  • 6 (Time window violation)—The point could not be reached within the designated time windows. This status only applies to network analysis types that support time windows.
  • 7 (Not located on closest)—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.

Long

SnapX

The x-coordinate of the position on the network dataset where the point was located, in the coordinate system of the network dataset.

Double

SnapY

The y-coordinate of the position on the network dataset where the point was located, in the coordinate system of the network dataset.

Double

SnapZ

The z-coordinate of the position on the network dataset where the point was located, in the coordinate system of the network dataset. The SnapZ field is 0 if the network is two dimensional.

Double

DistanceToNetworkInMeters

The distance in meters between the point's geographic location and the position where it was located on the network.

Double

AdditonalTime

The amount of time added to the total route time when this incident is visited. The values for this field are copied from the AdditionalTime field on the input incident.

Double

AdditionalDistance

The amount of distance added to the total route distance when this incident is visited. The values for this field are copied from the AdditionalDistance field on the input incident.

Double

AdditionalCost

The cost added to the total route cost when this incident is visited. The values for this field are copied from the AdditionalCost field on the input incident. This field is included only when the travel mode used for the analysis has an impedance attribute that is neither time based nor distance based.

Double

Cutoff

The impedance value at which the analysis stopped searching for the incidents from a given facility. The values for this field are copied from the Cutoff field on the input incident.

Double

ID

A user-defined unique identifier for the incident. The values for this field are copied from the ID field on the input incidents.

Text

IncidentOID

The ObjectID value of the input incident.

This field is not always reliable for joins. This field is null for inputs added to the analysis using the insertCursor method. Values may not be unique if multiple feature classes were loaded using the load method.

Long

Bearing

The values for this field are copied from the Bearing field on the input facilities.

Double

BearingTol

The values for this field are copied from the BearingTol field on the input facilities.

Double

NavLatency

The values for this field are copied from the NavLatency field on the input facilities.

Double

Routes

This provides access to the resulting route or routes between the facilities and the incidents.

The data type supports the following fields:

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

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 value for the travelDirection property on the analysis object is set to TravelDirection.FromFacility. For example, Facility 5 - Incident 3 indicates the route travels from Facility 5 to Incident 3.

If TravelDirection.ToFacility is specified as the value for the travelDirection property, the incident name is first, for example, Incident 3 — Facility 5.

Text

FacilityRank

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

Long

FacilityID

The user-defined unique ID of the facility the route visits. The values for this field are copied from the ID field on the input facilities.

Text

FacilityOID

The ObjectID value of the input facility used to generate the route. This field corresponds to the FacilityOID field in the output Facilities and ClosestFacilities tables.

Long

OutputFacilityOID

This field corresponds to the ObjectID field in the output Facilities table and can be used for joins between these two tables.

Long

IncidentID

The user-defined unique ID of the incident the route visits. The values for this field are copied from the ID field on input incidents.

Text

IncidentOID

The ObjectID value of the input incident used to generate the route. This field corresponds to the IncidentOID field in the output Incidents table.

Long

OutputIncidentOID

This field corresponds to the ObjectID field in the output Incidents table and can be used for joins between these two tables.

Long

FacilityCurbApproach

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 vehicle; a value of 2 indicates the left side.

Long

IncidentCurbApproach

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.

Long

StartTime

The start time of the route, reported in the time zone in which the first stop is located.

Date

EndTime

The end time of the route, reported in the time zone in which the last stop is located.

Date

StartTimeUTC

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

Date

EndTimeUTC

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

Date

Total_Minutes

The cumulative travel time in minutes of the route between the facility and the incident. This includes any AdditionalTime values for the visited facility and incident if specified.

Note:

An additional field, Total_[TimeUnits], is included if the timeUnits property of the analysis object is not set to TimeUnits.Minutes. The field values are in the units specified by the timeUnits property.

Note:

Additional fields, Total_[AccumulateAttributeName]_[TimeUnits], are included for each time-based cost attribute that is accumulated during the analysis.

Double

Total_Miles

The cumulative travel distance in miles of the route between the facility and the incident. This includes any AdditionalDistance values for the visited facility and incident if specified.

Double

Total_Kilometers

The cumulative travel distance in kilometers of the route between the facility and the incident. This includes any AdditionalDistance values for the visited facility and incident if specified.

Note:

An additional field, Total_[DistanceUnits], is included if the distanceUnits property of the analysis object is not set to DistanceUnits.Miles or DistanceUnits.Kilometers. The field values are in the units specified by the distanceUnits property.

Note:

Additional fields, Total_[AccumulateAttributeName]_[DistanceUnits], are included for each distance-based cost attribute that is accumulated during the analysis.

Double

Total_Other

The cumulative travel cost in unknown units of the route between the facility and the incident. This includes any AdditionalCost values for the visited facility and incident if specified.

This field is included only when the travel mode used for the analysis has an impedance attribute that is neither time based nor distance based.

Note:

Additional fields, Total_[AccumulateAttributeName]_Other, are included for each cost attribute that is neither time based nor distance based and accumulated during the analysis.

Double

Directions

This provides access to the turn-by-turn directions for each resulting route.

Legacy:
This output type has been superseded by the DirectionPoints and DirectionLines output classes, which should be used for all new scripts and workflows.

The data type supports the following fields:

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

RouteName

The name of the route to which the driving action applies. This value is the same as the Name field of the output routes.

Text

ArriveTime

The time of day to initiate the given driving action. If the route spans multiple days, the date and time of day are displayed.

Date

Type

The type of maneuver that the directions feature represents or the type of the directions text. To determine whether Type refers to a maneuver type or a directions string type, review the SubItemType field value.

Type can be used, for example, to assign an icon for direction text based on the maneuver type, or it can use a formatting style based on the directions string type when displaying the driving directions in the application.

The Type value is an integer from the Maneuver Types or Directions String Types lists below.

Maneuver Types

  • 0: Unknown
  • 1: Arrive at Stop
  • 2: Go straight
  • 3: Bear left
  • 4: Bear right
  • 5: Turn left
  • 6: Turn right
  • 7: Make sharp left
  • 8: Make sharp right
  • 9: Make U-turn
  • 10: Take ferry
  • 11: Take roundabout
  • 12: Merge to highway
  • 13: Exit highway
  • 14: Go on another highway
  • 15: At fork keep center
  • 16: At fork keep left
  • 17: At fork keep right
  • 18: Depart stop
  • 19: Trip planning item
  • 20: End of ferry
  • 21: Ramp right
  • 22: Ramp left
  • 23: Turn left and immediately turn right
  • 24: Turn right and immediately turn left
  • 25: Turn right and immediately turn right
  • 26: Turn left and immediately turn left
  • 27: Pedestrian ramp
  • 28: Elevator
  • 29: Escalator
  • 30: Stairs
  • 31: Door passage

Directions String Types

  • 0: General directions string type
  • 1: Depart directions string type
  • 2: Arrive directions string type
  • 3: Length directions string type
  • 4: Time directions string type
  • 5: Time summary directions string type
  • 6: Time Window directions string type
  • 7: Violation Time directions string type
  • 8: Wait Time directions string type
  • 9: Service Time directions string type
  • 10: Estimated Arrival Time directions string type
  • 11: Cumulative Length directions string type
  • 12: Street name directions string type
  • 13: Alternate street name directions string type
  • 14: Sign branch information directions string type
  • 15: Sign toward information directions string type
  • 16: Cross street name directions string type
  • 17: Sign exit number directions string type

Short

SubItemType

Specifies whether the Type field refers to an integer from the Directions String Types table or the Maneuver Types table.

  • If the SubItemType value is 1, the Type field refers to the values from the Maneuver Types table.
  • If the SubItemType value is 2, the Type field refers to the values from the Directions String Types table.
  • If the SubItemType value is 3, the Type field refers to the values from the Directions String Types table.

Short

Text

A text description of the travel directions.

Text

ElaspsedTime

The time elapsed in minutes from when the current driving direction starts until the next one starts, or until the route ends for the last driving direction.

Float

DriveDistance

The distance from where the current driving direction occurs to where the next one occurs, or to where the route ends for the last driving direction.

The value is in the units specified by the directionsDistanceUnits property of the analysis object.

This value is zero for driving directions that occur at the same location where the next one begins. For example, the DriveDistance value is 0 for the directions text at the start of the route.

Float

DirectionPoints

This is the output turn-by-turn directions for the routes calculated in the analysis, represented as point locations along the routes where specific direction events or maneuvers occur.

The data type supports the following fields:

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

RouteID

The ObjectID value of the output Routes feature with which this direction point is associated.

Long

Sequence

The sequence of the direction points for the route, starting with 1.

Long

DirectionPointType

Specifies the type of direction event or maneuver described by the point, designated by one of the values below.

  • Header (1)
  • Arrive (50)
  • Depart (51)
  • Straight (52)
  • On Ferry (100)
  • Off Ferry (101)
  • Central Fork (102)
  • Roundabout (103)
  • U-Turn (104)
  • Door (150)
  • Stairs (151)
  • Elevator (152)
  • Escalator (153)
  • Pedestrian Ramp (154)
  • Left Fork (200)
  • Left Ramp (201)
  • Clockwise Roundabout (202)
  • Left-handed U-turn (203)
  • Bear left (204)
  • Left Turn (205)
  • Sharp Left (206)
  • Left Turn and immediate Left Turn (207)
  • Left Turn and immediate Right Turn (208)
  • Right Fork (300)
  • Right Ramp (301)
  • Counter-Clockwise Roundabout (302)
  • Right-handed U-turn (303)
  • Bear right (304)
  • Right Turn (305)
  • Sharp Right (306)
  • Right Turn and immediate Left Turn (307)
  • Right Turn and immediate Right Turn (308)
  • Up Elevator (400)
  • Up Escalator (401)
  • Up Stairs (402)
  • Down Elevator (500)
  • Down Escalator (501)
  • Down stairs (502)
  • General Event (1000)
  • Landmark (1001)
  • Time Zone Change (1002)
  • Traffic Event (1003)
  • Scaled Cost Barrier Event (1004)
  • Boundary Crossing (1005)
  • Restriction Violation (1006)
  • Lane (1007)

Long

FacilityID

The ObjectID of the output facility with which this direction point is associated, if any. If the point does not represent a visit to a facility, the value is null.

Long

IncidentID

The ObjectID of the output incident with which this direction point is associated, if any. If the point does not represent a visit to an incident, the value is null.

Long

DisplayText

The directions text that will be displayed in the consuming application.

Text

ArrivalTime

The time the direction event occurs in coordinated universal time (UTC).

Date

ArrivalUTCOffset

The difference in minutes between the local time at the maneuver location and UTC time shown in the ArrivalTime field.

Double

Name

The name of the direction point.

Text

ExitName

The highway exit name that appears in the directions instruction.

Text

AlternateName

The alternate source name that appears in the directions instruction.

Text

IntersectingName

The name of the intersecting or cross street that appears in the directions instruction.

Text

BranchName

The signpost branch name that appears in the directions instruction.

Text

TowardName

The signpost toward destination name that appears in the directions instruction.

Text

Level

The building level at which this direction event occurs. This value corresponds to the Level property defined in the network dataset used for the analysis.

Long

ShortVoiceInstruction

The short text that will be used as voice guidance text in the consuming application.

Text

VoiceInstruction

The additional text, including expanded abbreviations and plurals, that will be used as voice guidance text in the consuming application.

Text

Azimuth

The bearing in degrees of the vehicle departing this point. Zero indicates north.

Double

DirectionLines

This is the output route lines calculated in the analysis sliced to represent each route segment between DirectionPoints events or maneuver locations.

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

DirectionPointID

The ObjectID value of the feature in the DirectionPoints table with which this line is associated.

Long

RouteID

The ObjectID value of the output Routes feature with which this direction line is associated.

Long

DirectionLineType

Specifies the type of direction situation described by this line, designated by one of the following values:

  • Unknown (0)
  • Segment (1)
  • Maneuver Segment (2)
  • Restriction violation (3)
  • Scaled Cost Barrier (4)
  • Heavy Traffic (5)
  • Slow Traffic (6)
  • Moderate Traffic (7)

Long

Meters

The length of the line segment measured in meters.

Double

Minutes

The travel time along the line segment in minutes.

Double

FromLevel

The building level at which this direction event begins. This value corresponds to the Level property defined in the network dataset used for the analysis.

Learn more about the directions configuration of a network dataset

Long

ToLevel

The building level at which this direction event ends. This value corresponds to the Level property defined in the network dataset used for the analysis.

Long