![]() |
Stellarium
25.3
|
Store the information for a location on a planet. More...
#include <StelLocation.hpp>
Public Member Functions | |
| StelLocation (const QString &lName, const QString &lState, const QString &lRegion, const QString &plName, const float lng, const float lat, const int alt, const int populationK, const QString &timeZone, const int bortleIndex, const QChar roleKey, const QString &landscapeID=QString()) | |
| constructors for ad-hoc locations. More... | |
| StelLocation (const QString &lName, const QString &lState, const QString &lRegion, const float lng, const float lat, const int alt, const int populationK, const QString &timeZone, const int bortleIndex, const QChar roleKey='X', const QString &landscapeID=QString()) | |
| QString | getID () const |
| Return a short string which can be used in a list view. | |
| bool | isValid () const |
| Test the '!' role, but also whether data entities make sense. | |
| 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... | |
| float | getLatitude (bool suppressObserver=false) const |
| longitude and latitude are private to force use of special getters. More... | |
| float | getLongitude (bool suppressObserver=false) const |
| void | setLatitude (float l) |
| void | setLongitude (float l) |
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. | |
| 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 | region |
| English region name (Northern Europe for example) 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. | |
| int | altitude |
| Altitude in meter. | |
| QVariant | lightPollutionLuminance |
| Zenith luminance at moonless night as could be measured by a Sky Quality Meter, in cd/m² | |
| QString | landscapeKey |
| A hint for associating a landscape to the location. | |
| int | population |
| Population in thousands 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 float | DEFAULT_LIGHT_POLLUTION_LUMINANCE |
Store the information for a location on a planet.
| StelLocation::StelLocation | ( | const QString & | lName, |
| const QString & | lState, | ||
| const QString & | lRegion, | ||
| const QString & | plName, | ||
| const float | lng, | ||
| const float | lat, | ||
| const int | alt, | ||
| const int | populationK, | ||
| const QString & | timeZone, | ||
| const int | bortleIndex, | ||
| const QChar | roleKey, | ||
| const QString & | landscapeID = QString() |
||
| ) |
constructors for ad-hoc locations.
The shorter version is only for earth locations
|
inline |
Compute great-circle distance from other location.
arguments given in decimal degrees
| double StelLocation::distanceKm | ( | const double | otherLong, |
| const double | otherLat | ||
| ) | const |
Compute great-circle distance from other location.
arguments given in decimal degrees
|
static |
Compute azimuth from Obs towards Target.
All angles (args and result) are in degrees.
| double StelLocation::getAzimuthForLocation | ( | double | longTarget, |
| double | latTarget | ||
| ) | const |
Compute azimuth towards Target.
All angles (args and result) are in degrees.
| float StelLocation::getLatitude | ( | bool | suppressObserver = false | ) | const |
longitude and latitude are private to force use of special getters.
These return a location on the north pole if we are located on an "Observer" (when "role" == 'o'). By this we force useful view orientation when on an observer pseudo-planet.
| suppressObserver | set to true to return the actual number in every case. (Required for some UI elements) |
| QString StelLocation::ianaTimeZone |
IANA identificator of time zone.
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.
| QChar StelLocation::role |
Location role code.
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. o is an "observer" pseudo-planet. This is not stored in the location database but used ad-hoc in the LocationDialog.