Sur cette page

QGeoCoordinate Class

La classe QGeoCoordinate définit une position géographique à la surface de la Terre. Plus d'informations...

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 QGeoCoordinate est définie par la latitude, la longitude et, éventuellement, l'altitude.

Utilisez type() pour déterminer si une coordonnée est une coordonnée 2D (avec la latitude et la longitude uniquement) ou une coordonnée 3D (avec la latitude, la longitude et l'altitude). Utilisez distanceTo() et azimuthTo() pour calculer la distance et le relèvement entre les 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, voir cet article sur les coordonnées et un autre sur les systèmes géodésiques, y compris le WGS84.

Dans ce contexte, l'azimut équivaut à un relèvement au compas basé sur le nord vrai.

Cette classe est également accessible en QML sous la forme geoCoordinate.

Documentation sur les types de membres

enum QGeoCoordinate::CoordinateFormat

Définit les options de formatage possibles pour toString().

ConstanteValeurDescription
QGeoCoordinate::Degrees0Renvoie une représentation sous forme de chaîne de caractères des coordonnées en degrés décimaux.
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 'W' 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 'W' pour indiquer les hémisphères des coordonnées.

Voir également toString().

enum QGeoCoordinate::CoordinateType

Définit les types de coordonnées.

ConstanteValeurDescription
QGeoCoordinate::InvalidCoordinate0Coordonnée non valide. Une coordonnée est invalide 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 avec des valeurs de latitude et de longitude valides, ainsi qu'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 correspondantes 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 cette coordonnée géographique.

La coordonnée géographique est valide 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 correspondantes existent depuis la première version de cette classe.

Fonctions d'accès :

bool isValid() const

latitude : double

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

La propriété est indéfinie (qQNaN()) si la latitude n'a pas été définie. Une latitude positive indique l'hémisphère nord et une latitude négative indique l'hémisphère sud. Lors de la définition de la latitude, la nouvelle valeur doit être au format 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 correspondantes 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 en degrés décimaux.

La propriété est indéfinie (qQNaN()) si la longitude n'a pas été définie. Une longitude positive indique l'hémisphère oriental et une longitude négative indique l'hémisphère occidental. Lors de la définition de la longitude, la nouvelle valeur doit être au format 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 correspondantes 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()

Construit une coordonnée. La coordonnée ne sera pas valide tant que setLatitude() et setLongitude() n'auront pas été appelés.

QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)

Construit une coordonnée avec les valeurs 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 type() sera QGeoCoordinate::InvalidCoordinate.

Voir également isValid().

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

Construit une coordonnée avec les données 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 type() sera QGeoCoordinate::InvalidCoordinate.

Notez que altitude indique le nombre de mètres au-dessus du niveau de la mer.

Voir également isValid().

QGeoCoordinate::QGeoCoordinate(const QGeoCoordinate &other)

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

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

Construit une coordonnée en se déplaçant à partir de other.

Note : L'objet QGeoCoordinate déplacé ne peut être que détruit ou assigné. L'effet de l'appel à d'autres fonctions que le destructeur ou l'un des opérateurs d'affectation n'est pas défini.

Cette fonction a été introduite dans Qt 6.2.

[noexcept] QGeoCoordinate::~QGeoCoordinate()

Détruit 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 : fonction Getter 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 en parcourant distance mètres à partir de la coordonnée actuelle à azimuth (ou relèvement) le long d'un grand cercle. Pour les besoins de ce calcul, on suppose que la Terre est sphérique.

L'altitude sera ajoutée à distanceUp.

Renvoie une coordonnée non valide si cette coordonnée n'est pas valide.

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

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

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

Le relèvement renvoyé est le relèvement depuis l'origine jusqu'à other le long du grand cercle entre les deux coordonnées. On suppose que la Terre est sphérique pour les besoins de ce calcul.

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

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de 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 utilisée dans le calcul.

Ce calcul renvoie la distance orthodromique entre les deux coordonnées, en supposant que la Terre est sphérique pour les besoins de ce calcul.

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

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

bool QGeoCoordinate::isValid() const

Renvoie true si longitude et latitude sont valides.

Remarque : fonction Getter pour la propriété isValid.

double QGeoCoordinate::latitude() const

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

Une latitude positive indique l'hémisphère nord et une latitude négative l'hémisphère sud.

Remarque : fonction d'obtention de la propriété latitude.

Voir aussi setLatitude() et type().

double QGeoCoordinate::longitude() const

Renvoie la longitude, en degrés décimaux. La valeur de retour est indéfinie si la longitude n'a pas été définie.

Une longitude positive indique l'hémisphère oriental et une longitude négative indique l'hémisphère occidental.

Remarque : fonction Getter pour la propriété longitude.

Voir aussi setLongitude() et type().

void QGeoCoordinate::setAltitude(double altitude)

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

Note : Fonction de définition de la propriété altitude.

Voir également altitude().

void QGeoCoordinate::setLatitude(double latitude)

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

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

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

Voir aussi latitude().

void QGeoCoordinate::setLongitude(double longitude)

Fixe la longitude (en degrés décimaux) à longitude. La valeur doit être dans le système de référence WGS84.

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

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

Voir aussi longitude().

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

Remplace cette coordonnée par other. Cette opération est très rapide et n'échoue jamais.

Cette fonction a été introduite dans Qt 6.2.

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

Renvoie cette coordonnée sous la forme d'une chaîne de caractères dans le 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 renvoyées en fonction de format:

format valeurChaîne retournée
Degrees-27.46758°, 153.02789°, 28.1m
DegreesWithHemisphere27.46758° S, 153.02789° E, 28.1m
DegreesMinutes-27° 28.054', 153° 1.673', 28.1m
DegreesMinutesWithHemisphere27° 28.054 S', 153° 1.673' E, 28.1m
DegreesMinutesSeconds-27° 28' 3.2", 153° 1' 40.4", 28.1m
DegreesMinutesSecondsWithHemisphere27° 28' 3.2" S, 153° 1' 40.4" E, 28.1m

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

Si la coordonnée n'est pas valide, une chaîne vide est renvoyée.

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de 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)

Move-assigne other à cette coordonnée et renvoie une référence à cette coordonnée.

Remarque : l'objet QGeoCoordinate déplacé ne peut être que détruit ou assigné. L'effet de l'appel à d'autres fonctions que le destructeur ou l'un des opérateurs d'affectation n'est pas défini.

Cette fonction a été introduite dans Qt 6.2.

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

Attribue other à cette coordonnée et renvoie une référence à cette coordonnée.

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 sont pas identiques à celles de la coordonnée rhs. Sinon, il renvoie false.

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

Écrit l'adresse coordinate donnée dans l'adresse stream spécifiée.

Voir aussi Serializing Qt Data Types (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, il renvoie false.

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

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

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

Voir aussi Serializing Qt Data Types (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.