Search for usage in LXR

#include <location.h>

Public Types

enum  Type {
  Place = 0, Stop = 1, RentedVehicleStation = 2, RentedVehicle = 4,
  Equipment = 8, CarpoolPickupDropoff = 16
typedef QFlags< TypeTypes


KPublicTransport::Equipment equipment
bool hasCoordinate
KPublicTransport::RentalVehicle rentalVehicle
KPublicTransport::RentalVehicleStation rentalVehicleStation

Public Member Functions

KPublicTransport::Equipment equipment () const
bool hasCoordinate () const
Q_INVOKABLE QString identifier (const QString &identifierType) const
QHash< QString, QStringidentifiers () const
bool isEmpty () const
RentalVehicle rentalVehicle () const
RentalVehicleStation rentalVehicleStation () const
void setCoordinate (float latitude, float longitude)
void setIdentifier (const QString &identifierType, const QString &id)
void setRentalVehicleStation (const RentalVehicleStation &dock)
void setTimeZone (const QTimeZone &tz)
QTimeZone timeZone () const

Static Public Member Functions

static float distance (const Location &lhs, const Location &rhs)
static float distance (float lat1, float lon1, float lat2, float lon2)
static std::vector< LocationfromJson (const QJsonArray &a)
static Location fromJson (const QJsonObject &obj)
static bool isSame (const Location &lhs, const Location &rhs)
static bool isSameName (const QString &lhs, const QString &rhs)
static Location merge (const Location &lhs, const Location &rhs)
static QJsonObject toJson (const Location &loc)
static QJsonArray toJson (const std::vector< Location > &locs)

Detailed Description

A location.

This can be a train station, a bus stop, a rental vehicle dock, a free-floating vehicle position, an elevator or escalator, etc.

Definition at line 29 of file location.h.

Member Enumeration Documentation

◆ Type

Type of location.


a location that isn't of any specific type


a public transport stop (train station, bus stop, etc)


a pick-up/drop-off point for dock-based rental bike/scooter systems


a free-floating rental bike/scooter




a pickup or dropoff location for a carpool trip

Definition at line 34 of file location.h.

Property Documentation

◆ equipment

KPublicTransport::Equipment Location::equipment

Equipment information, if applicable for this location.

Definition at line 79 of file location.h.

◆ hasCoordinate

bool Location::hasCoordinate

Location type.

Human-readable name of the location. Latitude of the location, in degree, NaN if unknown. Longitude of the location, in degree, NaN if unknown. Street address of the location, if known. Postal code of the location, if known. Locality/city of the location, if known. Region (as in ISO 3166-2) of the location, if known. Country of the location as ISO 3166-1 alpha 2 code, if known.

Definition at line 67 of file location.h.

◆ rentalVehicle

RentalVehicle Location::rentalVehicle

Rental vehicle information, if applicable for this location.

Definition at line 77 of file location.h.

◆ rentalVehicleStation

RentalVehicleStation Location::rentalVehicleStation

Location type specific data.

Depending on the location type this can be e.g. a RentalVehicleStation or an Equipment instance. Rental vehicle dock information, if applicable for this location.

Definition at line 75 of file location.h.

Member Function Documentation

◆ distance() [1/2]

float Location::distance ( const Location lhs,
const Location rhs 

Computes the distance in meters between two locations.

Returns MAX_INT if one of the arguments has no coordinates set.

Definition at line 432 of file location.cpp.

◆ distance() [2/2]

float Location::distance ( float  lat1,
float  lon1,
float  lat2,
float  lon2 

Compute the distance between two geo coordinates, in meters.

Definition at line 420 of file location.cpp.

◆ fromJson() [1/2]

std::vector< Location > Location::fromJson ( const QJsonArray a)

Dezerializes an array Location objects from JSON.

Definition at line 513 of file location.cpp.

◆ fromJson() [2/2]

Location Location::fromJson ( const QJsonObject obj)

Deserialize a Location object from JSON.

Definition at line 481 of file location.cpp.

◆ identifier()

QString Location::identifier ( const QString identifierType) const

Location identifiers.

Definition at line 92 of file location.cpp.

◆ isEmpty()

bool Location::isEmpty ( ) const

Returns true if this is an default-constructed location object not specifying any location.

Definition at line 76 of file location.cpp.

◆ isSame()

bool Location::isSame ( const Location lhs,
const Location rhs 

Checks if to instances refer to the same location (which does not necessarily mean they are exactly equal).

Definition at line 258 of file location.cpp.

◆ isSameName()

bool Location::isSameName ( const QString lhs,
const QString rhs 

Checks if two location names refer to the same location.

Definition at line 317 of file location.cpp.

◆ merge()

Location Location::merge ( const Location lhs,
const Location rhs 

Merge two departure instances.

This assumes isSame(lhs, rhs) and tries to preserve the most detailed information.

Definition at line 364 of file location.cpp.

◆ timeZone()

QTimeZone Location::timeZone ( ) const

The timezone this location is in, if known.

Definition at line 81 of file location.cpp.

◆ toJson() [1/2]

QJsonObject Location::toJson ( const Location loc)

Serializes one Location object to JSON.

Definition at line 440 of file location.cpp.

◆ toJson() [2/2]

QJsonArray Location::toJson ( const std::vector< Location > &  locs)

Serializes an array of Location objects to JSON.

Definition at line 476 of file location.cpp.

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Thu Feb 15 2024 03:58:41 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.