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


QString country
QVariant data
KPublicTransport::Equipment equipment
bool hasCoordinate
float latitude
QString locality
float longitude
QString name
QString postalCode
QString region
KPublicTransport::RentalVehicle rentalVehicle
KPublicTransport::RentalVehicleStation rentalVehicleStation
QString streetAddress
Type type

Public Member Functions

KPublicTransport::Equipment equipment () const
bool hasCoordinate () const
bool hasIdentifier (const QString &identifierType) 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 Typedef Documentation

◆ Types

Definition at line 43 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

◆ country

QString KPublicTransport::Location::country

Country of the location as ISO 3166-1 alpha 2 code, if known.

Definition at line 65 of file location.h.

◆ data

QVariant KPublicTransport::Location::data

Location type specific data.

Depending on the location type this can be e.g. a RentalVehicleStation or an Equipment instance.

Definition at line 72 of file location.h.

◆ equipment

KPublicTransport::Equipment KPublicTransport::Location::equipment

Equipment information, if applicable for this location.

Definition at line 79 of file location.h.

◆ hasCoordinate

bool KPublicTransport::Location::hasCoordinate

Definition at line 67 of file location.h.

◆ latitude

float KPublicTransport::Location::latitude

Latitude of the location, in degree, NaN if unknown.

Definition at line 52 of file location.h.

◆ locality

QString KPublicTransport::Location::locality

Locality/city of the location, if known.

Definition at line 61 of file location.h.

◆ longitude

float KPublicTransport::Location::longitude

Longitude of the location, in degree, NaN if unknown.

Definition at line 54 of file location.h.

◆ name

QString KPublicTransport::Location::name

Human-readable name of the location.

Definition at line 50 of file location.h.

◆ postalCode

QString KPublicTransport::Location::postalCode

Postal code of the location, if known.

Definition at line 59 of file location.h.

◆ region

QString KPublicTransport::Location::region

Region (as in ISO 3166-2) of the location, if known.

Definition at line 63 of file location.h.

◆ rentalVehicle

KPublicTransport::RentalVehicle KPublicTransport::Location::rentalVehicle

Rental vehicle information, if applicable for this location.

Definition at line 77 of file location.h.

◆ rentalVehicleStation

KPublicTransport::RentalVehicleStation KPublicTransport::Location::rentalVehicleStation

Rental vehicle dock information, if applicable for this location.

Definition at line 75 of file location.h.

◆ streetAddress

QString KPublicTransport::Location::streetAddress

Street address of the location, if known.

Definition at line 57 of file location.h.

◆ type

Type KPublicTransport::Location::type

Location type.

Definition at line 47 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 448 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 436 of file location.cpp.

◆ equipment()

KPublicTransport::Equipment Location::equipment ( ) const

Definition at line 134 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 529 of file location.cpp.

◆ fromJson() [2/2]

Location Location::fromJson ( const QJsonObject & obj)

Deserialize a Location object from JSON.

Definition at line 497 of file location.cpp.

◆ hasCoordinate()

bool Location::hasCoordinate ( ) const

Definition at line 73 of file location.cpp.

◆ hasIdentifier()

bool Location::hasIdentifier ( const QString & identifierType) const

Definition at line 113 of file location.cpp.

◆ identifier()

QString Location::identifier ( const QString & identifierType) const

Location identifiers.

Definition at line 102 of file location.cpp.

◆ identifiers()

QHash< QString, QString > Location::identifiers ( ) const

Definition at line 139 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 78 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 274 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 333 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 380 of file location.cpp.

◆ rentalVehicle()

RentalVehicle Location::rentalVehicle ( ) const

Definition at line 129 of file location.cpp.

◆ rentalVehicleStation()

RentalVehicleStation Location::rentalVehicleStation ( ) const

Definition at line 118 of file location.cpp.

◆ setCoordinate()

void Location::setCoordinate ( float latitude,
float longitude )

Definition at line 66 of file location.cpp.

◆ setIdentifier()

void Location::setIdentifier ( const QString & identifierType,
const QString & id )

Definition at line 107 of file location.cpp.

◆ setRentalVehicleStation()

void Location::setRentalVehicleStation ( const RentalVehicleStation & dock)

Definition at line 123 of file location.cpp.

◆ setTimeZone()

void Location::setTimeZone ( const QTimeZone & tz)

Definition at line 96 of file location.cpp.

◆ timeZone()

QTimeZone Location::timeZone ( ) const

The timezone this location is in, if known.

Definition at line 83 of file location.cpp.

◆ toJson() [1/2]

QJsonObject Location::toJson ( const Location & loc)

Serializes one Location object to JSON.

Definition at line 456 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 492 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 Fri Jun 14 2024 11:52:53 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.