KPublicTransport::Location

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
 

Properties

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.

Enumerator
Place 

a location that isn't of any specific type

Stop 

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

RentedVehicleStation 

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

RentedVehicle 

a free-floating rental bike/scooter

Equipment 

elevator/escalator

CarpoolPickupDropoff 

a pickup or dropoff location for a carpool trip

Definition at line 34 of file location.h.

Property Documentation

◆ equipment

KPublicTransport::Equipment Location::equipment
read

Equipment information, if applicable for this location.

Definition at line 79 of file location.h.

◆ hasCoordinate

bool Location::hasCoordinate
read

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
read

Rental vehicle information, if applicable for this location.

Definition at line 77 of file location.h.

◆ rentalVehicleStation

RentalVehicleStation Location::rentalVehicleStation
read

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

Computes the distance in meters between two locations.

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

Definition at line 436 of file location.cpp.

◆ distance() [2/2]

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

Compute the distance between two geo coordinates, in meters.

Definition at line 424 of file location.cpp.

◆ fromJson() [1/2]

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

Dezerializes an array Location objects from JSON.

Definition at line 517 of file location.cpp.

◆ fromJson() [2/2]

Location Location::fromJson ( const QJsonObject obj)
static

Deserialize a Location object from JSON.

Definition at line 485 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 
)
static

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

Definition at line 262 of file location.cpp.

◆ isSameName()

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

Checks if two location names refer to the same location.

Definition at line 321 of file location.cpp.

◆ merge()

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

Merge two departure instances.

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

Definition at line 368 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)
static

Serializes one Location object to JSON.

Definition at line 444 of file location.cpp.

◆ toJson() [2/2]

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

Serializes an array of Location objects to JSON.

Definition at line 480 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-2022 The KDE developers.
Generated on Wed Aug 17 2022 04:18:36 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.