QNmeaSatelliteInfoSource Class
La classe QNmeaSatelliteInfoSource fournit des informations sur les satellites à l'aide d'une source de données NMEA. Plus d'informations...
| En-tête : | #include <QNmeaSatelliteInfoSource> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Positioning)target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
| qmake : | QT += positioning |
| Depuis : | Qt 6.2 |
| Hérite : | QGeoSatelliteInfoSource |
Types publics
| enum class | UpdateMode { RealTimeMode, SimulationMode } |
Fonctions publiques
| QNmeaSatelliteInfoSource(QNmeaSatelliteInfoSource::UpdateMode mode, QObject *parent = nullptr) | |
| virtual | ~QNmeaSatelliteInfoSource() override |
| QIODevice * | device() const |
| void | setDevice(QIODevice *device) |
| QNmeaSatelliteInfoSource::UpdateMode | updateMode() const |
Fonctions publiques réimplémentées
| virtual QVariant | backendProperty(const QString &name) const override |
| virtual QGeoSatelliteInfoSource::Error | error() const override |
| virtual int | minimumUpdateInterval() const override |
| virtual bool | setBackendProperty(const QString &name, const QVariant &value) override |
| virtual void | setUpdateInterval(int msec) override |
Emplacements publics
| virtual void | requestUpdate(int msec = 0) override |
| virtual void | startUpdates() override |
| virtual void | stopUpdates() override |
Membres publics statiques
| QString | SimulationUpdateInterval |
Types protégés
| enum | SatelliteInfoParseStatus { NotParsed, PartiallyParsed, FullyParsed } |
Fonctions protégées
| virtual QNmeaSatelliteInfoSource::SatelliteInfoParseStatus | parseSatelliteInfoFromNmea(const char *data, int size, QList<QGeoSatelliteInfo> &infos, QGeoSatelliteInfo::SatelliteSystem &system) |
| virtual QGeoSatelliteInfo::SatelliteSystem | parseSatellitesInUseFromNmea(const char *data, int size, QList<int> &pnrsInUse) |
Description détaillée
NMEA est un protocole couramment utilisé pour spécifier la position globale d'une personne à un moment donné. La classe QNmeaSatelliteInfoSource lit les données NMEA et les utilise pour fournir des informations sur les satellites en vue et les satellites utilisés sous la forme de listes d'objets QGeoSatelliteInfo.
Une instance de QNmeaSatelliteInfoSource fonctionne en mode RealTimeMode ou SimulationMode. Ces modes permettent de lire les données NMEA à partir d'une source de données en direct ou de les rejouer à des fins de simulation à partir de données NMEA précédemment enregistrées.
La source des données NMEA est définie via setDevice().
Utilisez startUpdates() pour commencer à recevoir des mises à jour régulières des informations satellite et stopUpdates() pour arrêter ces mises à jour. Si vous ne souhaitez que des mises à jour occasionnelles, vous pouvez appeler requestUpdate() pour demander une mise à jour unique des satellites en vue et des satellites utilisés.
Les informations sur les satellites en vue sont reçues via le signal satellitesInViewUpdated().
Les informations sur les satellites utilisés sont reçues via le signal satellitesInUseUpdated().
Type de membre Documentation
enum QNmeaSatelliteInfoSource::SatelliteInfoParseStatus
Définit l'état d'analyse des informations satellite. Les informations satellite peuvent être divisées en plusieurs phrases, et nous devons les analyser toutes.
| Constante | Valeur | Description |
|---|---|---|
QNmeaSatelliteInfoSource::NotParsed | 0 | Les données ne contiennent pas d'informations sur les satellites. |
QNmeaSatelliteInfoSource::PartiallyParsed | 1 | Une information satellite valide est reçue et analysée, mais elle n'est pas complète, nous devons donc attendre une autre phrase NMEA. |
QNmeaSatelliteInfoSource::FullyParsed | 2 | Les informations sur les satellites ont été entièrement collectées et analysées. |
enum class QNmeaSatelliteInfoSource::UpdateMode
Définit les modes de mise à jour disponibles.
| Constante | Valeur | Description du mode de mise à jour |
|---|---|---|
QNmeaSatelliteInfoSource::UpdateMode::RealTimeMode | 1 | Les informations satellite sont lues et distribuées à partir de la source de données au fur et à mesure qu'elles sont disponibles. Utilisez ce mode si vous utilisez une source de données NMEA en direct (par exemple un dispositif matériel GPS). |
QNmeaSatelliteInfoSource::UpdateMode::SimulationMode | 2 | Les informations satellite sont lues et distribuées à partir de la source de données à la vitesse donnée. Le taux est déterminé par le paramètre SimulationUpdateInterval. Utilisez ce mode si la source de données contient des données NMEA précédemment enregistrées et que vous souhaitez les rejouer à des fins de simulation. |
Documentation des fonctions membres
[explicit] QNmeaSatelliteInfoSource::QNmeaSatelliteInfoSource(QNmeaSatelliteInfoSource::UpdateMode mode, QObject *parent = nullptr)
Construit une instance QNmeaSatelliteInfoSource avec les données parent et mode.
[override virtual noexcept] QNmeaSatelliteInfoSource::~QNmeaSatelliteInfoSource()
Détruit la source d'information satellite.
[override virtual] QVariant QNmeaSatelliteInfoSource::backendProperty(const QString &name) const
Réimplémente : QGeoSatelliteInfoSource::backendProperty(const QString &name) const.
Voir également setBackendProperty().
QIODevice *QNmeaSatelliteInfoSource::device() const
Renvoie la source de données NMEA.
Voir également setDevice().
[override virtual] QGeoSatelliteInfoSource::Error QNmeaSatelliteInfoSource::error() const
Réimplémente : QGeoSatelliteInfoSource::error() const.
[override virtual] int QNmeaSatelliteInfoSource::minimumUpdateInterval() const
Réimplémente une fonction d'accès à la propriété : QGeoSatelliteInfoSource::minimumUpdateInterval.
[virtual protected] QNmeaSatelliteInfoSource::SatelliteInfoParseStatus QNmeaSatelliteInfoSource::parseSatelliteInfoFromNmea(const char *data, int size, QList<QGeoSatelliteInfo> &infos, QGeoSatelliteInfo::SatelliteSystem &system)
Analyse une chaîne de phrases NMEA pour extraire les informations sur les satellites en vue.
L'implémentation par défaut analyse les phrases NMEA $GPGSV standard. Cette méthode doit être réimplémentée dans une sous-classe chaque fois qu'il est nécessaire de traiter des phrases NMEA non standard.
L'analyseur lit size octets à partir de data et utilise ces informations pour remplir la liste infos.
Retourne SatelliteInfoParseStatus avec le résultat de l'analyse. Modifie la liste infos au cas où PartiallyParsed ou FullyParsed serait retourné. Définit également le type de système satellite correct sur system. Ceci est nécessaire pour déterminer le type de système dans le cas où il n'y a pas de satellites en vue.
[virtual protected] QGeoSatelliteInfo::SatelliteSystem QNmeaSatelliteInfoSource::parseSatellitesInUseFromNmea(const char *data, int size, QList<int> &pnrsInUse)
Analyse une chaîne de phrases NMEA pour extraire les identifiants des satellites utilisés.
L'implémentation par défaut analyse les phrases NMEA $GPGSA standard. Cette méthode doit être réimplémentée dans une sous-classe chaque fois qu'il est nécessaire de traiter des phrases NMEA non standard.
L'analyseur lit size octets à partir de data et utilise ces informations pour remplir la liste pnrsInUse.
Renvoie un type de système si la phrase a été analysée avec succès, sinon il renvoie QGeoSatelliteInfo::Undefined et ne doit pas modifier pnrsInUse.
[override virtual slot] void QNmeaSatelliteInfoSource::requestUpdate(int msec = 0)
Réimplémente : QGeoSatelliteInfoSource::requestUpdate(int timeout).
[override virtual] bool QNmeaSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value)
Réimplémente : QGeoSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value).
Voir également backendProperty().
void QNmeaSatelliteInfoSource::setDevice(QIODevice *device)
Définit la source de données NMEA sur device. Si le dispositif n'est pas ouvert, il le sera en mode ReadOnly.
Le dispositif source ne peut être défini qu'une seule fois et doit l'être avant d'appeler startUpdates() ou requestUpdate().
Remarque : device doit émettre QIODevice::readyRead() pour que la source soit informée de la disponibilité des données en lecture. QNmeaSatelliteInfoSource n'assume pas la propriété du périphérique et ne le désalloue donc pas en cas de destruction.
Voir également device().
[override virtual] void QNmeaSatelliteInfoSource::setUpdateInterval(int msec)
Réimplémente une fonction d'accès à la propriété : QGeoSatelliteInfoSource::updateInterval.
[override virtual slot] void QNmeaSatelliteInfoSource::startUpdates()
Réimplémente : QGeoSatelliteInfoSource::startUpdates().
[override virtual slot] void QNmeaSatelliteInfoSource::stopUpdates()
Réimplémente : QGeoSatelliteInfoSource::stopUpdates().
QNmeaSatelliteInfoSource::UpdateMode QNmeaSatelliteInfoSource::updateMode() const
Renvoie le mode de mise à jour.
Documentation des variables membres
QString QNmeaSatelliteInfoSource::SimulationUpdateInterval
Cette variable contient le nom de la propriété du backend pour le taux de lecture des données dans la méthode SimulationMode. La valeur de cette propriété est un nombre entier représentant le nombre de millisecondes entre les lectures suivantes. Utilisez ce paramètre dans les méthodes setBackendProperty() et backendProperty().
Remarque : cette propriété est différente de l'intervalle qui peut être défini via setUpdateInterval(). La valeur définie via setUpdateInterval() indique un intervalle pour la notification de l'utilisateur, alors que ce paramètre spécifie la fréquence interne de lecture des données du fichier source. Cela signifie qu'il peut y avoir plusieurs lectures (ou aucune) au cours de la période updateInterval().
© 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.