QGeoCoordinate Class
Die Klasse „QGeoCoordinate“ definiert eine geografische Position auf der Erdoberfläche. Mehr...
| Header: | #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 Veranstaltungen
| 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 Nichtmitglieder
| 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 es sich bei einer Koordinate um eine 2D-Koordinate (nur Breiten- und Längengrad) oder eine 3D-Koordinate (Breiten-, Längen- und Höhengrad) handelt. Verwenden Sie „ distanceTo()“ und „ azimuthTo()“, um die Entfernung und die Peilung zwischen Koordinaten zu berechnen.
Die Koordinatenwerte sollten unter Verwendung des WGS84-Bezugssystems angegeben werden. Weitere Informationen zu geografischen Begriffen finden Sie in diesem Artikel über Koordinaten und in einem weiteren Artikel über geodätische Systeme, einschließlich WGS84.
Der Azimut entspricht in diesem Zusammenhang einer Kompasspeilung, die auf dem geografischen Norden basiert.
Auf diese Klasse kann in QML auch über „ geoCoordinate “ zugegriffen werden.
Dokumentation zum Mitgliedstyp
enum QGeoCoordinate::CoordinateFormat
Legt die möglichen Formatierungsoptionen für ` toString()` fest.
| Konstante | Wert | Beschreibung |
|---|---|---|
QGeoCoordinate::Degrees | 0 | Gibt eine Zeichenfolgendarstellung der Koordinaten im Dezimalgrad-Format zurück. |
QGeoCoordinate::DegreesWithHemisphere | 1 | Gibt eine Zeichenfolgendarstellung der Koordinaten im Dezimalgrad-Format zurück, wobei „N“, „S“, „E“ oder „W“ zur Angabe der Hemisphären der Koordinaten verwendet werden. |
QGeoCoordinate::DegreesMinutes | 2 | Gibt eine Zeichenfolgendarstellung der Koordinaten im Grad-Minuten-Format zurück. |
QGeoCoordinate::DegreesMinutesWithHemisphere | 3 | Gibt eine Zeichenfolgendarstellung der Koordinaten im Grad-Minuten-Format zurück, wobei „N“, „S“, „E“ oder „W“ zur Angabe der Hemisphären der Koordinaten verwendet werden. |
QGeoCoordinate::DegreesMinutesSeconds | 4 | Gibt eine Zeichenfolgendarstellung der Koordinaten im Grad-Minuten-Sekunden-Format zurück. |
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere | 5 | Gibt eine Zeichenfolgendarstellung der Koordinaten im Grad-Minuten-Sekunden-Format zurück, wobei „N“, „S“, „E“ oder „W“ zur Angabe der Hemisphären der Koordinaten verwendet werden. |
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 ihre Breiten- oder Längengradwerte ungültig sind. |
QGeoCoordinate::Coordinate2D | 1 | Eine Koordinate mit gültigen Breiten- und Längenwerten. |
QGeoCoordinate::Coordinate3D | 2 | Eine Koordinate mit gültigen Breiten- und Längengradwerten sowie einem Höhenwert. |
Eigenschaftsdokumentation
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.
Diese Eigenschaft wurde zwar erst in Qt 5.5 eingeführt, die zugehörigen Zugriffsfunktionen sind jedoch bereits seit der ersten Version dieser Klasse vorhanden.
Zugriffsfunktionen:
| double | altitude() const |
| void | setAltitude(double altitude) |
[read-only] isValid : bool
Diese Eigenschaft gibt die Gültigkeit dieser Geokoordinate an.
Die Geokoordinate ist gültig, wenn die Eigenschaften „ longitude “ und „ latitude “ auf gültige Werte gesetzt wurden.
Diese Eigenschaft wurde zwar erst in Qt 5.5 eingeführt, die zugehörigen Zugriffsfunktionen existieren jedoch 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 bezeichnet die nördliche Hemisphäre, ein negativer Breitengrad die südliche Hemisphäre. Bei der Festlegung des Breitengrads sollte der neue Wert im WGS84-Datumsformat vorliegen.
Um gültig zu sein, muss der Breitengrad zwischen -90 und 90 (einschließlich) liegen.
Diese Eigenschaft wurde zwar erst in Qt 5.5 eingeführt, die zugehörigen Zugriffsfunktionen sind jedoch bereits seit der ersten Version dieser Klasse vorhanden.
Zugriffsfunktionen:
| double | latitude() const |
| void | setLatitude(double latitude) |
longitude : double
Diese Eigenschaft enthält den Längengrad in Dezimalgrad.
Die Eigenschaft ist undefiniert (qQNaN()), wenn der Längengrad nicht festgelegt wurde. Ein positiver Längengrad bezeichnet die östliche Hemisphäre, ein negativer Längengrad die westliche Hemisphäre. Bei der Festlegung des Längengrads sollte der neue Wert im WGS84-Datumsformat vorliegen.
Um gültig zu sein, muss der Längengrad zwischen -180 und 180 (einschließlich) liegen.
Diese Eigenschaft wurde zwar erst in Qt 5.5 eingeführt, die zugehörigen Zugriffsfunktionen existieren jedoch bereits seit der ersten Version dieser Klasse.
Zugriffsfunktionen:
| double | longitude() const |
| void | setLongitude(double longitude) |
Dokumentation zu den Mitgliedsfunktionen
QGeoCoordinate::QGeoCoordinate()
Erstellt eine Koordinate. Die Koordinate ist erst gültig, nachdem die Funktionen „ setLatitude()“ und „ setLongitude()“ aufgerufen wurden.
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)
Erstellt eine Koordinate mit den angegebenen Werten für „ latitude “ und „ longitude “.
Liegt der Breitengrad nicht im Bereich von -90 bis einschließlich 90 oder der Längengrad nicht im Bereich von -180 bis einschließlich 180, wird keiner der Werte gesetzt und die Funktion ` type()` gibt ` QGeoCoordinate::InvalidCoordinate` zurück.
Siehe auch ` isValid()`.
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude, double altitude)
Erstellt eine Koordinate mit den angegebenen Werten „ latitude “, „ longitude “ und „ altitude “.
Liegt der Breitengrad nicht im Bereich von -90 bis einschließlich 90 oder der Längengrad nicht im Bereich von -180 bis einschließlich 180, wird keiner der Werte gesetzt und type() ist gleich QGeoCoordinate::InvalidCoordinate.
Beachten Sie, dass „ altitude “ die Höhe in Metern über dem Meeresspiegel angibt.
Siehe auch ` isValid()`.
QGeoCoordinate::QGeoCoordinate(const QGeoCoordinate &other)
Erstellt eine Koordinate aus dem Inhalt von „ other “.
[constexpr noexcept default, since 6.2] QGeoCoordinate::QGeoCoordinate(QGeoCoordinate &&other)
Erstellt eine Koordinate durch Verschieben von other.
Hinweis: Das QGeoCoordinate-Objekt, von dem die Koordinate abgeleitet wurde, kann nur zerstört oder einer Variablen zugewiesen werden. Die Auswirkungen des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren sind undefiniert.
Diese Funktion wurde in Qt 6.2 eingeführt.
[noexcept] QGeoCoordinate::~QGeoCoordinate()
Löscht das Koordinatenobjekt.
double QGeoCoordinate::altitude() const
Gibt die Höhe (in Metern ü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 von der aktuellen Koordinate bei azimuth (bzw. Peilung) entlang eines Großkreises distance Meter zurücklegt. Für diese Berechnung wird davon ausgegangen, dass die Erde kugelförmig ist.
Zur Höhe wird ein Wert von distanceUp addiert.
Gibt eine ungültige Koordinate zurück, wenn diese Koordinate ungültig ist.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML 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 Metaobjektsystem und aus QML 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öhe wird bei der Berechnung nicht berücksichtigt.
Diese Berechnung liefert die Großkreisdistanz zwischen den beiden Koordinaten, wobei für diese Berechnung davon ausgegangen wird, 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 Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
bool QGeoCoordinate::isValid() const
Gibt „ true “ zurück, wenn „ longitude “ und „ latitude “ gültig sind.
Hinweis: Getter -Funktion für die Eigenschaft „isValid“.
double QGeoCoordinate::latitude() const
Gibt den Breitengrad in Dezimalgrad zurück. Der Rückgabewert ist undefiniert, wenn der Breitengrad nicht festgelegt wurde.
Ein positiver Breitengrad bezeichnet die nördliche Hemisphäre, ein negativer Breitengrad 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 Dezimalgrad zurück. Der Rückgabewert ist undefiniert, wenn der Längengrad nicht festgelegt wurde.
Ein positiver Längengrad bezeichnet die östliche Hemisphäre, 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 (in Metern ü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 Dezimalgrad) auf latitude. Der Wert sollte im WGS84-Bezugssystem angegeben werden.
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 die Längengradangabe (in Dezimalgrad) auf longitude. Der Wert sollte im WGS84-Bezugssystem 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 niemals fehl.
Diese Funktion wurde in Qt 6.2 eingeführt.
[invokable] QString QGeoCoordinate::toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const
Gibt diese Koordinate als Zeichenkette im angegebenen Format „ format “ zurück.
Wenn diese Koordinate beispielsweise eine Breite von -27,46758, eine Länge von 153,027892 und eine Höhe von 28,1 hat, werden je nach „ format “ folgende Zeichenfolgen zurückgegeben:
| format Wert | Zurückgegebene Zeichenfolge |
|---|---|
| Degrees | -27,46758°, 153,02789°, 28,1 m |
| DegreesWithHemisphere | 27,46758° S, 153,02789° O, 28,1 m |
| DegreesMinutes | -27° 28,054', 153° 1,673', 28,1 m |
| DegreesMinutesWithHemisphere | 27° 28,054' S, 153° 1,673' O, 28,1 m |
| DegreesMinutesSeconds | -27° 28' 3,2", 153° 1' 40,4", 28,1 m |
| DegreesMinutesSecondsWithHemisphere | 27° 28' 3,2" S, 153° 1' 40,4" O, 28,1 m |
Das Feld „Höhe“ wird weggelassen, wenn keine Höhe angegeben ist.
Ist die Koordinate ungültig, wird eine leere Zeichenkette zurückgegeben.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML 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)
Die Move-Zuweisung weist „ other “ dieser Koordinate zu und gibt einen Verweis auf diese Koordinate zurück.
Hinweis: Das Objekt „ QGeoCoordinate “, aus dem die Zuweisung erfolgt, kann nur zerstört oder neu zugewiesen werden. Die Auswirkungen des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren sind undefiniert.
Diese Funktion wurde in Qt 6.2 eingeführt.
QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)
Weist dieser Koordinate den Wert „ 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 vonQt-Datentypen“.
bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
Gibt „ true “ zurück, wenn Breitengrad, Längengrad und 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 den angegebenen „ coordinate “ ein.
Siehe auch „Serialisierung vonQt-Datentypen“.
© 2026 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.