QGeoCoordinate Class
Die Klasse QGeoCoordinate definiert eine geographische Position auf der Oberfläche der Erde. Mehr...
Kopfzeile: | #include <QGeoCoordinate> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake: | QT += positioning |
Öffentliche Typen
enum | CoordinateFormat { Degrees, DegreesWithHemisphere, DegreesMinutes, DegreesMinutesWithHemisphere, DegreesMinutesSeconds, DegreesMinutesSecondsWithHemisphere } |
enum | CoordinateType { InvalidCoordinate, Coordinate2D, Coordinate3D } |
Eigenschaften
Öffentliche Funktionen
QGeoCoordinate() | |
QGeoCoordinate(double latitude, double longitude) | |
QGeoCoordinate(double latitude, double longitude, double altitude) | |
QGeoCoordinate(const QGeoCoordinate &other) | |
(since 6.2) | QGeoCoordinate(QGeoCoordinate &&other) |
~QGeoCoordinate() | |
double | altitude() const |
QGeoCoordinate | atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const |
qreal | azimuthTo(const QGeoCoordinate &other) const |
qreal | distanceTo(const QGeoCoordinate &other) const |
bool | isValid() const |
double | latitude() const |
double | longitude() const |
void | setAltitude(double altitude) |
void | setLatitude(double latitude) |
void | setLongitude(double longitude) |
(since 6.2) void | swap(QGeoCoordinate &other) |
QString | toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const |
QGeoCoordinate::CoordinateType | type() const |
(since 6.2) QGeoCoordinate & | operator=(QGeoCoordinate &&other) |
QGeoCoordinate & | operator=(const QGeoCoordinate &other) |
Verwandte Nicht-Mitglieder
bool | operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs) |
QDataStream & | operator<<(QDataStream &stream, const QGeoCoordinate &coordinate) |
bool | operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs) |
QDataStream & | operator>>(QDataStream &stream, QGeoCoordinate &coordinate) |
Detaillierte Beschreibung
Eine QGeoCoordinate wird durch Breitengrad, Längengrad und optional durch die Höhe definiert.
Verwenden Sie type(), um festzustellen, ob eine Koordinate eine 2D-Koordinate (nur Breitengrad und Längengrad) oder eine 3D-Koordinate (Breitengrad, Längengrad und Höhe) ist. Verwenden Sie distanceTo() und azimuthTo(), um die Entfernung und Peilung zwischen Koordinaten zu berechnen.
Die Koordinatenwerte sollten unter Verwendung des WGS84-Datums angegeben werden. Weitere Informationen zu geografischen Begriffen finden Sie in diesem Artikel über Koordinaten und einem weiteren über geodätische Systeme einschließlich WGS84.
Das Azimut entspricht in diesem Zusammenhang einer Kompasspeilung, die auf dem geografischen Norden basiert.
Diese Klasse ist eine Q_GADGET seit Qt 5.5. Sie kann direkt aus C++ und QML verwendet werden.
Dokumentation der Mitgliedstypen
enum QGeoCoordinate::CoordinateFormat
Definiert die möglichen Formatierungsoptionen für toString().
Konstante | Wert | Beschreibung |
---|---|---|
QGeoCoordinate::Degrees | 0 | Gibt eine String-Darstellung der Koordinaten im Dezimalgradformat zurück. |
QGeoCoordinate::DegreesWithHemisphere | 1 | Gibt eine String-Darstellung der Koordinaten im Dezimalgradformat zurück, wobei 'N', 'S', 'E' oder 'W' zur Angabe der Hemisphären der Koordinaten verwendet wird. |
QGeoCoordinate::DegreesMinutes | 2 | Gibt eine String-Repräsentation der Koordinaten im Grad-Minuten-Format zurück. |
QGeoCoordinate::DegreesMinutesWithHemisphere | 3 | Gibt eine String-Repräsentation der Koordinaten im Grad-Minuten-Format zurück, wobei 'N', 'S', 'E' oder 'W' zur Angabe der Hemisphären der Koordinaten verwendet wird. |
QGeoCoordinate::DegreesMinutesSeconds | 4 | Gibt eine String-Repräsentation der Koordinaten im Format Grad-Minuten-Sekunden zurück. |
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere | 5 | Gibt eine String-Repräsentation der Koordinaten im Grad-Minuten-Sekunden-Format zurück, wobei 'N', 'S', 'E' oder 'W' zur Angabe der Hemisphären der Koordinaten verwendet wird. |
Siehe auch toString().
enum QGeoCoordinate::CoordinateType
Definiert die Typen einer Koordinate.
Konstante | Wert | Beschreibung |
---|---|---|
QGeoCoordinate::InvalidCoordinate | 0 | Eine ungültige Koordinate. Eine Koordinate ist ungültig, wenn die Werte für Breitengrad oder Längengrad ungültig sind. |
QGeoCoordinate::Coordinate2D | 1 | Eine Koordinate mit gültigen Werten für Breitengrad und Längengrad. |
QGeoCoordinate::Coordinate3D | 2 | Eine Koordinate mit gültigen Werten für Breitengrad und Längengrad sowie einem Höhenwert. |
Dokumentation der Eigenschaft
altitude : double
Diese Eigenschaft enthält die Höhe in Metern über dem Meeresspiegel.
Die Eigenschaft ist undefiniert (qQNaN()), wenn die Höhe nicht festgelegt wurde.
Während diese Eigenschaft in Qt 5.5 eingeführt wurde, existieren die zugehörigen Accessor-Funktionen bereits seit der ersten Version dieser Klasse.
Zugriffsfunktionen:
double | altitude() const |
void | setAltitude(double altitude) |
[read-only]
isValid : const bool
Diese Eigenschaft enthält die Gültigkeit dieser Geokoordinate.
Die Geokoordinate ist gültig, wenn die Eigenschaften longitude und latitude auf gültige Werte gesetzt wurden.
Während diese Eigenschaft in Qt 5.5 eingeführt wurde, existieren die zugehörigen Accessor-Funktionen bereits seit der ersten Version dieser Klasse.
Zugriffsfunktionen:
bool | isValid() const |
latitude : double
Diese Eigenschaft enthält den Breitengrad in Dezimalgraden.
Die Eigenschaft ist undefiniert (qQNaN()), wenn der Breitengrad nicht festgelegt wurde. Ein positiver Breitengrad steht für die nördliche Hemisphäre, ein negativer Breitengrad für die südliche Hemisphäre. Beim Setzen des Breitengrads sollte der neue Wert im WGS84-Datumsformat angegeben werden.
Um gültig zu sein, muss der Breitengrad zwischen -90 und 90 einschließlich liegen.
Während diese Eigenschaft in Qt 5.5 eingeführt wurde, existieren die zugehörigen Accessor-Funktionen bereits seit der ersten Version dieser Klasse.
Zugriffsfunktionen:
double | latitude() const |
void | setLatitude(double latitude) |
longitude : double
Diese Eigenschaft enthält den Längengrad in Dezimalgraden.
Die Eigenschaft ist undefiniert (qQNaN()), wenn der Längengrad nicht festgelegt wurde. Ein positiver Längengrad zeigt die östliche Hemisphäre an, ein negativer Längengrad die westliche Hemisphäre. Beim Setzen des Längengrads sollte der neue Wert im WGS84-Datumsformat angegeben werden.
Um gültig zu sein, muss der Längengrad zwischen -180 und 180 einschließlich liegen.
Während diese Eigenschaft in Qt 5.5 eingeführt wurde, existieren die zugehörigen Accessor-Funktionen bereits seit der ersten Version dieser Klasse.
Zugriffsfunktionen:
double | longitude() const |
void | setLongitude(double longitude) |
Dokumentation der Mitgliedsfunktionen
QGeoCoordinate::QGeoCoordinate()
Konstruiert eine Koordinate. Die Koordinate ist ungültig, bis setLatitude() und setLongitude() aufgerufen wurden.
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)
Konstruiert eine Koordinate mit den angegebenen latitude und longitude.
Wenn der Breitengrad nicht zwischen -90 bis einschließlich 90 oder der Längengrad nicht zwischen -180 bis einschließlich 180 liegt, wird keiner der Werte gesetzt und type() wird QGeoCoordinate::InvalidCoordinate.
Siehe auch isValid().
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude, double altitude)
Konstruiert eine Koordinate mit den angegebenen latitude, longitude und altitude.
Wenn der Breitengrad nicht zwischen -90 bis einschließlich 90 oder der Längengrad nicht zwischen -180 bis einschließlich 180 liegt, wird keiner der Werte gesetzt und type() lautet QGeoCoordinate::InvalidCoordinate.
Beachten Sie, dass altitude die Meter über dem Meeresspiegel angibt.
Siehe auch isValid().
QGeoCoordinate::QGeoCoordinate(const QGeoCoordinate &other)
Konstruiert eine Koordinate aus dem Inhalt von other.
[noexcept, since 6.2]
QGeoCoordinate::QGeoCoordinate(QGeoCoordinate &&other)
Konstruiert eine Koordinate durch Verschieben von other.
Hinweis: Das verschobene QGeoCoordinate-Objekt kann nur zerstört oder zugewiesen werden. Die Wirkung des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren ist undefiniert.
Diese Funktion wurde in Qt 6.2 eingeführt.
[noexcept]
QGeoCoordinate::~QGeoCoordinate()
Zerstört das Koordinatenobjekt.
double QGeoCoordinate::altitude() const
Gibt die Höhe (Meter über dem Meeresspiegel) zurück.
Der Rückgabewert ist undefiniert, wenn die Höhe nicht festgelegt wurde.
Hinweis: Getter-Funktion für die Eigenschaft altitude.
Siehe auch setAltitude() und type().
[invokable]
QGeoCoordinate QGeoCoordinate::atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const
Gibt die Koordinate zurück, die erreicht wird, wenn man sich von der aktuellen Koordinate unter azimuth (oder Peilung) entlang eines Großkreises distance Meter bewegt. Für diese Berechnung wird davon ausgegangen, dass die Erde kugelförmig ist.
Zu der Höhe wird distanceUp addiert.
Gibt eine ungültige Koordinate zurück, wenn diese Koordinate ungültig ist.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
qreal QGeoCoordinate::azimuthTo(const QGeoCoordinate &other) const
Gibt den Azimut (oder die Peilung) in Grad von dieser Koordinate zu der durch other angegebenen Koordinate zurück. Die Höhe wird bei der Berechnung nicht berücksichtigt.
Die zurückgegebene Peilung ist die Peilung vom Ursprung zu other entlang des Großkreises zwischen den beiden Koordinaten. Für diese Berechnung wird davon ausgegangen, dass die Erde kugelförmig ist.
Gibt 0 zurück, wenn der Typ dieser Koordinate oder der Typ von other QGeoCoordinate::InvalidCoordinate ist.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
qreal QGeoCoordinate::distanceTo(const QGeoCoordinate &other) const
Gibt die Entfernung (in Metern) von dieser Koordinate zu der durch other angegebenen Koordinate zurück. Die Höhenlage wird bei der Berechnung nicht berücksichtigt.
Diese Berechnung gibt die Großkreisdistanz zwischen den beiden Koordinaten zurück, wobei davon ausgegangen wird, dass die Erde für die Zwecke dieser Berechnung kugelförmig ist.
Gibt 0 zurück, wenn der Typ dieser Koordinate oder der Typ von other QGeoCoordinate::InvalidCoordinate ist.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
bool QGeoCoordinate::isValid() const
Gibt true
zurück, wenn die longitude und latitude gültig sind.
Hinweis: Getter-Funktion für die Eigenschaft isValid.
double QGeoCoordinate::latitude() const
Gibt den Breitengrad in Dezimalgraden zurück. Der Rückgabewert ist undefiniert, wenn der Breitengrad nicht festgelegt wurde.
Ein positiver Breitengrad weist auf die nördliche Hemisphäre hin, ein negativer Breitengrad auf die südliche Hemisphäre.
Hinweis: Getter-Funktion für die Eigenschaft latitude.
Siehe auch setLatitude() und type().
double QGeoCoordinate::longitude() const
Gibt den Längengrad in Dezimalgraden zurück. Der Rückgabewert ist undefiniert, wenn der Längengrad nicht festgelegt wurde.
Ein positiver Längengrad zeigt die östliche Hemisphäre an, ein negativer Längengrad die westliche Hemisphäre.
Hinweis: Getter-Funktion für die Eigenschaft longitude.
Siehe auch setLongitude() und type().
void QGeoCoordinate::setAltitude(double altitude)
Setzt die Höhe (Meter über dem Meeresspiegel) auf altitude.
Hinweis: Setter-Funktion für die Eigenschaft altitude.
Siehe auch altitude().
void QGeoCoordinate::setLatitude(double latitude)
Setzt den Breitengrad (in Dezimalgraden) auf latitude. Der Wert sollte im WGS84-Datum sein.
Um gültig zu sein, muss der Breitengrad zwischen -90 und 90 einschließlich liegen.
Hinweis: Setter-Funktion für die Eigenschaft latitude.
Siehe auch latitude().
void QGeoCoordinate::setLongitude(double longitude)
Setzt den Längengrad (in Dezimalgraden) auf longitude. Der Wert sollte im WGS84-Datum angegeben werden.
Um gültig zu sein, muss der Längengrad zwischen -180 und 180 einschließlich liegen.
Hinweis: Setter-Funktion für die Eigenschaft longitude.
Siehe auch longitude().
[noexcept, since 6.2]
void QGeoCoordinate::swap(QGeoCoordinate &other)
Tauscht diese Koordinate mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
Diese Funktion wurde in Qt 6.2 eingeführt.
[invokable]
QString QGeoCoordinate::toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const
Gibt diese Koordinate als String in der angegebenen format zurück.
Wenn diese Koordinate beispielsweise einen Breitengrad von -27.46758, einen Längengrad von 153.027892 und eine Höhe von 28.1 hat, sind dies die zurückgegebenen Zeichenketten in Abhängigkeit von format:
format Wert | Zurückgegebene Zeichenfolge |
---|---|
Degrees | -27.46758°, 153.02789°, 28.1m |
DegreesWithHemisphere | 27.46758° S, 153.02789° E, 28.1m |
DegreesMinutes | -27° 28.054', 153° 1.673', 28.1m |
DegreesMinutesWithHemisphere | 27° 28.054 S', 153° 1.673' E, 28.1m |
DegreesMinutesSeconds | -27° 28' 3.2", 153° 1' 40.4", 28.1m |
DegreesMinutesSecondsWithHemisphere | 27° 28' 3,2" S, 153° 1' 40,4" E, 28,1m |
Das Feld für die Höhe wird ausgelassen, wenn keine Höhe angegeben wird.
Wenn die Koordinate ungültig ist, wird eine leere Zeichenkette zurückgegeben.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
QGeoCoordinate::CoordinateType QGeoCoordinate::type() const
Gibt den Typ dieser Koordinate zurück.
[noexcept, since 6.2]
QGeoCoordinate &QGeoCoordinate::operator=(QGeoCoordinate &&other)
Move-zuweist other dieser Koordinate zu und gibt eine Referenz auf diese Koordinate zurück.
Hinweis: Das verschobene QGeoCoordinate Objekt kann nur zerstört oder zugewiesen werden. Die Wirkung des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren ist undefiniert.
Diese Funktion wurde in Qt 6.2 eingeführt.
QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)
Weist dieser Koordinate other zu und gibt eine Referenz auf diese Koordinate zurück.
Verwandte Nicht-Mitglieder
bool operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
Gibt true
zurück, wenn Breitengrad, Längengrad oder Höhe der Koordinate lhs nicht mit denen der Koordinate rhs übereinstimmen. Andernfalls wird false
zurückgegeben.
QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)
Schreibt die angegebene coordinate in die angegebene stream.
Siehe auch Serialisierung von Qt-Datentypen.
bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
Gibt true
zurück, wenn der Breitengrad, der Längengrad und die Höhe der Koordinate lhs mit denen der Koordinate rhs übereinstimmen. Andernfalls wird false
zurückgegeben.
Der Längengrad wird ignoriert, wenn der Breitengrad +/- 90 Grad beträgt.
QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)
Liest eine Koordinate aus dem angegebenen stream in die angegebene coordinate.
Siehe auch Serialisierung von Qt-Datentypen.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.