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) |
Personnes non membres concernées
| 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()`.
| Constante | Valeur | Description |
|---|---|---|
QGeoCoordinate::Degrees | 0 | Renvoie une représentation sous forme de chaîne de caractères des coordonnées au format décimal. |
QGeoCoordinate::DegreesWithHemisphere | 1 | Renvoie 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::DegreesMinutes | 2 | Renvoie une représentation sous forme de chaîne de caractères des coordonnées au format degrés-minutes. |
QGeoCoordinate::DegreesMinutesWithHemisphere | 3 | Renvoie 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::DegreesMinutesSeconds | 4 | Renvoie une représentation sous forme de chaîne des coordonnées au format degrés-minutes-secondes. |
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere | 5 | Renvoie 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.
| Constante | Valeur | Description |
|---|---|---|
QGeoCoordinate::InvalidCoordinate | 0 | Une coordonnée non valide. Une coordonnée est non valide si ses valeurs de latitude ou de longitude ne sont pas valides. |
QGeoCoordinate::Coordinate2D | 1 | Une coordonnée dont les valeurs de latitude et de longitude sont valides. |
QGeoCoordinate::Coordinate3D | 2 | Une 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 valeur | Chaîne renvoyée |
|---|---|
| Degrees | -27,46758°, 153,02789°, 28,1 m |
| DegreesWithHemisphere | 27,46758° S, 153,02789° E, 28,1 m |
| DegreesMinutes | -27° 28,054', 153° 1,673', 28,1 m |
| DegreesMinutesWithHemisphere | 27° 28,054' S, 153° 1,673' E, 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" 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.