Stellarium  0.20.4
Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes
StelLocation Class Reference

Store the informations for a location on a planet.

#include <StelLocation.hpp>

Public Member Functions

QString getID () const
 Return a short string which can be used in a list view.
 
bool isValid () const
 
QString serializeToLine () const
 Output the location as a string ready to be stored in the user_location file.
 
float distanceDegrees (const float otherLong, const float otherLat) const
 Compute great-circle distance from other location. More...
 
double distanceKm (const double otherLong, const double otherLat) const
 Compute great-circle distance from other location. More...
 
double getAzimuthForLocation (double longTarget, double latTarget) const
 Compute azimuth towards Target. More...
 

Static Public Member Functions

static StelLocation createFromLine (const QString &line)
 Parse a location from a line serialization.
 
static float distanceDegrees (const float long1, const float lat1, const float long2, const float lat2)
 Compute great-circle distance between two locations on a spherical body arguments given in decimal degrees.
 
static double distanceKm (Planet *planet, const double long1, const double lat1, const double long2, const double lat2)
 Compute great-circle distance between two locations on the current planet (takes flattening into account) arguments given in decimal degrees Source: Jean Meeus, Astronomical Algorithms, 2nd edition, ch.11. More...
 
static double getAzimuthForLocation (double longObs, double latObs, double longTarget, double latTarget)
 Compute azimuth from Obs towards Target. More...
 

Data Fields

QString name
 Location/city name.
 
QString country
 English country name or empty string.
 
QString state
 State/region name (useful if 2 locations of the same country have the same name)
 
QString planetName
 English planet name.
 
float longitude
 Longitude in degree.
 
float latitude
 Latitude in degree.
 
int altitude
 Altitude in meter.
 
int bortleScaleIndex
 Light pollution index following Bortle scale.
 
QString landscapeKey
 A hint for associating a landscape to the location.
 
int population
 Population in number of inhabitants.
 
QChar role
 Location role code. More...
 
QString ianaTimeZone
 IANA identificator of time zone. More...
 
bool isUserLocation
 Used privately by the StelLocationMgr.
 

Static Public Attributes

static const int DEFAULT_BORTLE_SCALE_INDEX
 

Member Function Documentation

◆ distanceDegrees()

float StelLocation::distanceDegrees ( const float  otherLong,
const float  otherLat 
) const
inline

arguments given in decimal degrees

◆ distanceKm() [1/2]

double StelLocation::distanceKm ( const double  otherLong,
const double  otherLat 
) const

arguments given in decimal degrees

◆ distanceKm() [2/2]

static double StelLocation::distanceKm ( Planet planet,
const double  long1,
const double  lat1,
const double  long2,
const double  lat2 
)
static

◆ getAzimuthForLocation() [1/2]

double StelLocation::getAzimuthForLocation ( double  longTarget,
double  latTarget 
) const

All angles (args and result) are in degrees.

Returns
azimuth counted from north or south as set in the StelApp preferences, in [0...360].

◆ getAzimuthForLocation() [2/2]

static double StelLocation::getAzimuthForLocation ( double  longObs,
double  latObs,
double  longTarget,
double  latTarget 
)
static

All angles (args and result) are in degrees.

Returns
azimuth counted from north or south as set in the StelApp preferences, in [0...360].

Field Documentation

◆ ianaTimeZone

QString StelLocation::ianaTimeZone

Note that timezone names under various OSes may be different than those used in Stellarium's location database (e.g. Ubuntu:Asia/Kolkata=Windows:Asia/Calcutta), which requires some translation effort during the loading process. After loading from the location DB, the ianaTimeZone should contain the full name which may differ from the database name.

◆ role

QChar StelLocation::role

Possible values:

  • C or B is a capital city
  • R is a regional capital
  • N is a normal city (any other type of settlement)
  • O is an observatory
  • L is a spacecraft lander
  • I is a spacecraft impact
  • A is a spacecraft crash
  • X is an unknown or user-defined location (the default value).
  • ! is an invalid location.