Skip To Content ArcGIS for Developers Sign In Dashboard

Facility Class


A facility used with a closest facility task. More...

Header: #include <Facility>
Since: Esri::ArcGISRuntime 100.1

Public Functions

Facility(const Point &point)
Facility(const Facility &other)
Facility(Facility &&other)
double addedCost(const QString &attributeName) const
CurbApproach curbApproach() const
double distanceToNetworkLocation() const
int facilityId() const
Point geometry() const
double impedanceCutoff() const
bool isEmpty() const
LocationStatus locationStatus() const
QString name() const
NetworkLocation networkLocation() const
void setAddedCost(const QString &attributeName, double costValue)
void setCurbApproach(CurbApproach curbApproach)
void setFacilityId(int id)
void setGeometry(const Point &point)
void setImpedanceCutoff(double impedanceCutoff)
void setName(const QString &name)
void setNetworkLocation(const NetworkLocation &networkLocation)
Facility &operator=(const Facility &other)
Facility &operator=(Facility &&other)

Detailed Description

A facility used with a closest facility task.

Facilities represent locations that can serve as the starting point or ending point of a closest facility analysis, such as a fire station or a hospital. ClosestFacilityParameters contains the list of facilities. The ClosestFacilityTask creates routes between facilities and incidents.

Member Function Documentation


Default constructor.

Facility::Facility(const Point &point)

Constructor that takes in a point.

Facility::Facility(const Facility &other)

Copy constructor from other Facility.

Facility::Facility(Facility &&other)

Move constructor from other Facility.



double Facility::addedCost(const QString &attributeName) const

Returns the added cost of a given attributeName.

See also setAddedCost().

CurbApproach Facility::curbApproach() const

Returns the curb approach for this Facility.

See also setCurbApproach().

double Facility::distanceToNetworkLocation() const

Returns the distance along the network of this Facility to a network feature in meters.

Returns NaN if the facility has not been located.

int Facility::facilityId() const

Returns ID of this facility.

This function was introduced in Esri::ArcGISRuntime 100.6.

See also setFacilityId().

Point Facility::geometry() const

Returns the Point geometry of where this Facility is located.

See also setGeometry().

double Facility::impedanceCutoff() const

Returns the Impedance Cutoff of this Facility.

For instance, while finding the closest hospitals from the site of an accident, a cutoff value of 15 minutes would mean that the closest facility task would 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 or incidents. The units for impedance cutoff is based on the value of the TravelMode::impedanceAttributeName(). For example, if TravelMode::impedanceAttributeName() is TravelTime, then impedanceCutoff is specified in minutes.

See also setImpedanceCutoff().

bool Facility::isEmpty() const

Returns true if this Facility is empty.

LocationStatus Facility::locationStatus() const

Returns the LocationStatus of this Facility.

QString Facility::name() const

Returns the name of the Facility.

See also setName().

NetworkLocation Facility::networkLocation() const

Returns the network location of this Facility.

See also setNetworkLocation().

void Facility::setAddedCost(const QString &attributeName, double costValue)

Sets the costValue for a given attributeName.

See also addedCost().

void Facility::setCurbApproach(CurbApproach curbApproach)

Sets the curbApproach for this Facility.

See also curbApproach().

void Facility::setFacilityId(int id)

Sets the id of this facility.

This function was introduced in Esri::ArcGISRuntime 100.6.

See also facilityId().

void Facility::setGeometry(const Point &point)

Sets the point geometry of where this Facility is located.

See also geometry().

void Facility::setImpedanceCutoff(double impedanceCutoff)

Sets the impedanceCutoff of this Facility.

See also impedanceCutoff().

void Facility::setName(const QString &name)

Sets the name of the Facility.

See also name().

void Facility::setNetworkLocation(const NetworkLocation &networkLocation)

Sets the networkLocation of this Facility.

See also networkLocation().

Facility &Facility::operator=(const Facility &other)

Assignment operator from other Facility.

Facility &Facility::operator=(Facility &&other)

Move operator from other Facility.

Feedback on this topic?