Sur cette page

QGeoCoordinate Class

La classe `QGeoCoordinate` définit une position géographique à la surface de la Terre. En savoir plus...

En-tête : #include <QGeoCoordinate>
CMake : find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake : QT += positioning

Types publics

enum CoordinateFormat { Degrees, DegreesWithHemisphere, DegreesMinutes, DegreesMinutesWithHemisphere, DegreesMinutesSeconds, DegreesMinutesSecondsWithHemisphere }
enum CoordinateType { InvalidCoordinate, Coordinate2D, Coordinate3D }

Propriétés

Fonctions publiques

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

Description détaillée

Une coordonnée QGeoCoordinate est définie par la latitude, la longitude et, éventuellement, l'altitude.

Utilisez la fonction ` type()` pour déterminer si une coordonnée est une coordonnée 2D (comportant uniquement une latitude et une longitude) ou une coordonnée 3D (comportant une latitude, une longitude et une altitude). Utilisez les fonctions ` distanceTo()` et ` azimuthTo()` pour calculer la distance et le relèvement entre deux coordonnées.

Les valeurs des coordonnées doivent être spécifiées en utilisant le système de référence WGS84. Pour plus d’informations sur les termes géographiques, consultez cet article sur les coordonnées et un autre sur les systèmes géodésiques, notamment le WGS84.

Dans ce contexte, l'azimut correspond à un relèvement à la boussole par rapport au nord vrai.

Cette classe est également accessible en QML sous le nom geoCoordinate.

Documentation sur les types de membres

enum QGeoCoordinate::CoordinateFormat

Définit les options de mise en forme possibles pour la fonction ` toString()`.

ConstanteValeurDescription
QGeoCoordinate::Degrees0Renvoie une représentation sous forme de chaîne de caractères des coordonnées au format décimal.
QGeoCoordinate::DegreesWithHemisphere1Renvoie une représentation sous forme de chaîne des coordonnées au format degrés décimaux, en utilisant « N », « S », « E » ou « W » pour indiquer les hémisphères des coordonnées.
QGeoCoordinate::DegreesMinutes2Renvoie une représentation sous forme de chaîne de caractères des coordonnées au format degrés-minutes.
QGeoCoordinate::DegreesMinutesWithHemisphere3Renvoie une représentation sous forme de chaîne des coordonnées au format degrés-minutes, en utilisant « N », « S », « E » ou « O » pour indiquer les hémisphères des coordonnées.
QGeoCoordinate::DegreesMinutesSeconds4Renvoie une représentation sous forme de chaîne des coordonnées au format degrés-minutes-secondes.
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere5Renvoie une représentation sous forme de chaîne des coordonnées au format degrés-minutes-secondes, en utilisant « N », « S », « E » ou « O » pour indiquer les hémisphères des coordonnées.

Voir également toString().

enum QGeoCoordinate::CoordinateType

Définit les types d'une coordonnée.

ConstanteValeurDescription
QGeoCoordinate::InvalidCoordinate0Une coordonnée non valide. Une coordonnée est non valide si ses valeurs de latitude ou de longitude ne sont pas valides.
QGeoCoordinate::Coordinate2D1Une coordonnée dont les valeurs de latitude et de longitude sont valides.
QGeoCoordinate::Coordinate3D2Une coordonnée dont les valeurs de latitude et de longitude sont valides, et qui comporte également une valeur d'altitude.

Documentation sur les propriétés

altitude : double

Cette propriété contient l'altitude en mètres au-dessus du niveau de la mer.

La propriété est indéfinie (qQNaN()) si l'altitude n'a pas été définie.

Bien que cette propriété ait été introduite dans Qt 5.5, les fonctions d'accès associées existent depuis la première version de cette classe.

Fonctions d'accès :

double altitude() const
void setAltitude(double altitude)

[read-only] isValid : bool

Cette propriété indique la validité de ces coordonnées géographiques.

Les coordonnées géographiques sont valides si les propriétés « longitude » et « latitude » ont été définies sur des valeurs valides.

Bien que cette propriété ait été introduite dans Qt 5.5, les fonctions d'accès associées existent depuis la première version de cette classe.

Fonctions d'accès :

bool isValid() const

latitude : double

Cette propriété contient la latitude exprimée en degrés décimaux.

Cette propriété n'est pas définie (qQNaN()) si la latitude n'a pas été définie. Une latitude positive correspond à l'hémisphère nord, tandis qu'une latitude négative correspond à l'hémisphère sud. Lors de la définition de la latitude, la nouvelle valeur doit être exprimée au format de référence WGS84.

Pour être valide, la latitude doit être comprise entre -90 et 90 inclus.

Bien que cette propriété ait été introduite dans Qt 5.5, les fonctions d'accès associées existent depuis la première version de cette classe.

Fonctions d'accès :

double latitude() const
void setLatitude(double latitude)

longitude : double

Cette propriété contient la longitude exprimée en degrés décimaux.

Cette propriété n'est pas définie (qQNaN()) si la longitude n'a pas été définie. Une longitude positive correspond à l'hémisphère oriental, tandis qu'une longitude négative correspond à l'hémisphère occidental. Lors de la définition de la longitude, la nouvelle valeur doit être au format de référence WGS84.

Pour être valide, la longitude doit être comprise entre -180 et 180 inclus.

Bien que cette propriété ait été introduite dans Qt 5.5, les fonctions d'accès associées existent depuis la première version de cette classe.

Fonctions d'accès :

double longitude() const
void setLongitude(double longitude)

Documentation des fonctions membres

QGeoCoordinate::QGeoCoordinate()

Crée une coordonnée. La coordonnée ne sera valide qu'après l'appel des fonctions ` setLatitude()` et ` setLongitude()`.

QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)

Crée une coordonnée à partir des valeurs fournies pour ` latitude ` et ` longitude`.

Si la latitude n'est pas comprise entre -90 et 90 inclus, ou si la longitude n'est pas comprise entre -180 et 180 inclus, aucune des valeurs n'est définie et la fonction type() renverra QGeoCoordinate::InvalidCoordinate.

Voir également isValid().

QGeoCoordinate::QGeoCoordinate(double latitude, double longitude, double altitude)

Crée une coordonnée à partir des valeurs fournies : latitude, longitude et altitude.

Si la latitude n'est pas comprise entre -90 et 90 inclus, ou si la longitude n'est pas comprise entre -180 et 180 inclus, aucune des valeurs n'est définie et la fonction type() renverra QGeoCoordinate::InvalidCoordinate.

Notez que la fonction altitude renvoie l’altitude en mètres au-dessus du niveau de la mer.

Voir également isValid().

QGeoCoordinate::QGeoCoordinate(const QGeoCoordinate &other)

Crée une coordonnée à partir du contenu de other.

[constexpr noexcept default, since 6.2] QGeoCoordinate::QGeoCoordinate(QGeoCoordinate &&other)

Crée une coordonnée à partir de l'objet ` other`.

Remarque : l’objet QGeoCoordinate à partir duquel le déplacement a été effectué ne peut être ni détruit ni affecté. L’effet de l’appel à des fonctions autres que le destructeur ou l’un des opérateurs d’affectation est indéfini.

Cette fonction a été introduite dans Qt 6.2.

[noexcept] QGeoCoordinate::~QGeoCoordinate()

Supprime l'objet de coordonnées.

double QGeoCoordinate::altitude() const

Renvoie l'altitude (en mètres au-dessus du niveau de la mer).

La valeur renvoyée est indéfinie si l'altitude n'a pas été définie.

Remarque : fonctiond'accès pour la propriété « altitude ».

Voir également setAltitude() et type().

[invokable] QGeoCoordinate QGeoCoordinate::atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const

Renvoie la coordonnée atteinte après avoir parcouru distance mètres à partir de la coordonnée actuelle, dans la direction azimuth (ou relèvement), le long d'un grand cercle. Ce calcul repose sur l'hypothèse que la Terre est sphérique.

L'altitude sera majorée de distanceUp.

Renvoie une coordonnée non valide si cette coordonnée est incorrecte.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] qreal QGeoCoordinate::azimuthTo(const QGeoCoordinate &other) const

Renvoie l'azimut (ou relèvement) en degrés entre cette coordonnée et la coordonnée spécifiée par other. L'altitude n'est pas prise en compte dans le calcul.

Le relèvement renvoyé correspond au relèvement entre l’origine et other, le long du grand cercle reliant ces deux coordonnées. Ce calcul repose sur l’hypothèse que la Terre est sphérique.

Renvoie 0 si le type de cette coordonnée ou celui de other est QGeoCoordinate::InvalidCoordinate.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] qreal QGeoCoordinate::distanceTo(const QGeoCoordinate &other) const

Renvoie la distance (en mètres) entre cette coordonnée et la coordonnée spécifiée par ` other`. L'altitude n'est pas prise en compte dans le calcul.

Ce calcul renvoie la distance orthodromique entre les deux coordonnées, en partant du principe que la Terre est sphérique aux fins de ce calcul.

Renvoie 0 si le type de cette coordonnée ou celui de other est « QGeoCoordinate::InvalidCoordinate ».

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

bool QGeoCoordinate::isValid() const

Renvoie « true » si les adresses longitude et latitude sont valides.

Remarque : fonctiongetter pour la propriété isValid.

double QGeoCoordinate::latitude() const

Renvoie la latitude, en degrés décimaux. La valeur renvoyée n'est pas définie si la latitude n'a pas été définie.

Une latitude positive correspond à l'hémisphère nord, tandis qu'une latitude négative correspond à l'hémisphère sud.

Remarque : fonctiongetter pour la propriété latitude.

Voir également setLatitude() et type().

double QGeoCoordinate::longitude() const

Renvoie la longitude, exprimée en degrés décimaux. La valeur renvoyée n'est pas définie si la longitude n'a pas été définie.

Une longitude positive correspond à l'hémisphère oriental, tandis qu'une longitude négative correspond à l'hémisphère occidental.

Remarque : fonctiongetter pour la propriété « longitude ».

Voir également setLongitude() et type().

void QGeoCoordinate::setAltitude(double altitude)

Définit l'altitude (en mètres au-dessus du niveau de la mer) sur altitude.

Remarque : fonctionde définition de la propriété altitude.

Voir également altitude().

void QGeoCoordinate::setLatitude(double latitude)

Définit la latitude (en degrés décimaux) sur latitude. La valeur doit être exprimée selon le système de référence WGS84.

Pour être valide, la latitude doit être comprise entre -90 et 90 inclus.

Remarque : fonctionde définition de la propriété latitude.

Voir également latitude().

void QGeoCoordinate::setLongitude(double longitude)

Définit la longitude (en degrés décimaux) sur longitude. La valeur doit être exprimée selon le système de référence WGS84.

Pour être valide, la longitude doit être comprise entre -180 et 180 inclus.

Remarque : fonctionde définition de la propriété longitude.

Voir également longitude().

[noexcept, since 6.2] void QGeoCoordinate::swap(QGeoCoordinate &other)

Permute cette coordonnée avec celle de other. Cette opération est très rapide et ne rencontre jamais d'échec.

Cette fonction a été introduite dans Qt 6.2.

[invokable] QString QGeoCoordinate::toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const

Renvoie cette coordonnée sous forme de chaîne de caractères au format spécifié format.

Par exemple, si cette coordonnée a une latitude de -27,46758, une longitude de 153,027892 et une altitude de 28,1, voici les chaînes de caractères renvoyées en fonction de l'format:

format valeurChaîne renvoyée
Degrees-27,46758°, 153,02789°, 28,1 m
DegreesWithHemisphere27,46758° S, 153,02789° E, 28,1 m
DegreesMinutes-27° 28,054', 153° 1,673', 28,1 m
DegreesMinutesWithHemisphere27° 28,054' S, 153° 1,673' E, 28,1 m
DegreesMinutesSeconds-27° 28' 3,2", 153° 1' 40,4", 28,1 m
DegreesMinutesSecondsWithHemisphere27° 28' 3,2" S, 153° 1' 40,4" E, 28,1 m

Le champ d'altitude est omis si aucune altitude n'est définie.

Si les coordonnées ne sont pas valides, une chaîne vide est renvoyée.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

QGeoCoordinate::CoordinateType QGeoCoordinate::type() const

Renvoie le type de cette coordonnée.

[noexcept, since 6.2] QGeoCoordinate &QGeoCoordinate::operator=(QGeoCoordinate &&other)

La fonction « move-assign » attribue la valeur de ` other ` à cette coordonnée et renvoie une référence à cette coordonnée.

Remarque : l’objet « moved-from » QGeoCoordinate ne peut être que détruit ou affecté. L’effet de l’appel à d’autres fonctions que le destructeur ou l’un des opérateurs d’affectation est indéfini.

Cette fonction a été introduite dans Qt 6.2.

QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)

Attribue la valeur « other » à cette coordonnée et renvoie une référence à cette coordonnée.

Éléments non membres associés

bool operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)

Renvoie « true » si la latitude, la longitude ou l'altitude de la coordonnée lhs ne correspondent pas à celles de la coordonnée rhs. Sinon, renvoie « false ».

QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)

Écrit l'coordinate on fournie dans l'stream on spécifiée.

Voir également Sérialisation des types de données Qt.

bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)

Renvoie « true » si la latitude, la longitude et l'altitude de la coordonnée lhs sont identiques à celles de la coordonnée rhs. Sinon, renvoie « false ».

La longitude sera ignorée si la latitude est comprise entre +/- 90 degrés.

QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)

Lit une coordonnée à partir de l'stream spécifié et la stocke dans l'coordinate donné.

Voir également Sérialisation des types de données Qt.

© 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.