QNmeaSatelliteInfoSource Class
La clase QNmeaSatelliteInfoSource proporciona información sobre satélites utilizando una fuente de datos NMEA. Más...
| Cabecera: | #include <QNmeaSatelliteInfoSource> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning)target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
| qmake: | QT += positioning |
| Desde: | Qt 6.2 |
| Hereda: | QGeoSatelliteInfoSource |
Tipos Públicos
| enum class | UpdateMode { RealTimeMode, SimulationMode } |
Funciones Públicas
| QNmeaSatelliteInfoSource(QNmeaSatelliteInfoSource::UpdateMode mode, QObject *parent = nullptr) | |
| virtual | ~QNmeaSatelliteInfoSource() override |
| QIODevice * | device() const |
| void | setDevice(QIODevice *device) |
| QNmeaSatelliteInfoSource::UpdateMode | updateMode() const |
Funciones Públicas Reimplementadas
| 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 |
Ranuras Públicas
| virtual void | requestUpdate(int msec = 0) override |
| virtual void | startUpdates() override |
| virtual void | stopUpdates() override |
Miembros públicos estáticos
| QString | SimulationUpdateInterval |
Tipos protegidos
| enum | SatelliteInfoParseStatus { NotParsed, PartiallyParsed, FullyParsed } |
Funciones protegidas
| 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) |
Descripción detallada
NMEA es un protocolo de uso común para la especificación de la posición global en un momento determinado. La clase QNmeaSatelliteInfoSource lee datos NMEA y los utiliza para proporcionar información sobre satélites a la vista y satélites en uso en forma de listas de objetos QGeoSatelliteInfo.
Una instancia de QNmeaSatelliteInfoSource funciona en los modos RealTimeMode o SimulationMode. Estos modos permiten leer datos NMEA de una fuente de datos en tiempo real o reproducirlos con fines de simulación a partir de datos NMEA previamente grabados.
La fuente de datos NMEA se establece a través de setDevice().
Utilice startUpdates() para empezar a recibir actualizaciones periódicas de la información del satélite y stopUpdates() para detener estas actualizaciones. Si sólo necesita actualizaciones ocasionalmente, puede llamar a requestUpdate() para solicitar una única actualización tanto de los satélites a la vista como de los satélites en uso.
La información sobre los satélites a la vista se recibe a través de la señal satellitesInViewUpdated().
La información sobre los satélites en uso se recibe a través de la señal satellitesInUseUpdated().
Documentación de tipos de miembros
enum QNmeaSatelliteInfoSource::SatelliteInfoParseStatus
Define el estado de análisis de la información del satélite. La información del satélite puede estar dividida en varias frases y es necesario analizarlas todas.
| Constante | Valor | Descripción |
|---|---|---|
QNmeaSatelliteInfoSource::NotParsed | 0 | Los datos no contienen información sobre satélites. |
QNmeaSatelliteInfoSource::PartiallyParsed | 1 | Se ha recibido y analizado una información de satélite válida, pero no está completa, por lo que necesitamos esperar a otra sentencia NMEA. |
QNmeaSatelliteInfoSource::FullyParsed | 2 | La información de satélite se ha recogido y analizado completamente. |
enum class QNmeaSatelliteInfoSource::UpdateMode
Define los modos de actualización disponibles.
| Constante | Valor | Descripción |
|---|---|---|
QNmeaSatelliteInfoSource::UpdateMode::RealTimeMode | 1 | La información del satélite se lee y distribuye desde la fuente de datos a medida que está disponible. Utilice este modo si utiliza una fuente de datos NMEA en tiempo real (por ejemplo, un dispositivo de hardware GPS). |
QNmeaSatelliteInfoSource::UpdateMode::SimulationMode | 2 | La información de satélite se lee y distribuye desde la fuente de datos a la velocidad indicada. La velocidad viene determinada por el parámetro SimulationUpdateInterval. Utilice este modo si la fuente de datos contiene datos NMEA previamente grabados y desea reproducir los datos con fines de simulación. |
Documentación de las funciones
[explicit] QNmeaSatelliteInfoSource::QNmeaSatelliteInfoSource(QNmeaSatelliteInfoSource::UpdateMode mode, QObject *parent = nullptr)
Construye una instancia de QNmeaSatelliteInfoSource con los datos parent y mode.
[override virtual noexcept] QNmeaSatelliteInfoSource::~QNmeaSatelliteInfoSource()
Destruye la fuente de información del satélite.
[override virtual] QVariant QNmeaSatelliteInfoSource::backendProperty(const QString &name) const
Reimplementa: QGeoSatelliteInfoSource::backendProperty(const QString &name) const.
Véase también setBackendProperty().
QIODevice *QNmeaSatelliteInfoSource::device() const
Devuelve la fuente de datos NMEA.
Véase también setDevice().
[override virtual] QGeoSatelliteInfoSource::Error QNmeaSatelliteInfoSource::error() const
Reimplementa: QGeoSatelliteInfoSource::error() const.
[override virtual] int QNmeaSatelliteInfoSource::minimumUpdateInterval() const
Reimplementa una función de acceso para la propiedad: QGeoSatelliteInfoSource::minimumUpdateInterval.
[virtual protected] QNmeaSatelliteInfoSource::SatelliteInfoParseStatus QNmeaSatelliteInfoSource::parseSatelliteInfoFromNmea(const char *data, int size, QList<QGeoSatelliteInfo> &infos, QGeoSatelliteInfo::SatelliteSystem &system)
Analiza una cadena de sentencia NMEA para extraer la información sobre los satélites a la vista.
La implementación por defecto analizará sentencias NMEA estándar $GPGSV. Este método debe ser reimplementado en una subclase siempre que surja la necesidad de tratar con sentencias NMEA no estándar.
El analizador lee size bytes de data y utiliza esa información para rellenar la lista infos.
Devuelve SatelliteInfoParseStatus con el resultado del análisis. Modifica la lista infos en caso de que se devuelva PartiallyParsed o FullyParsed. También establece el system para corregir el tipo de sistema de satélite. Esto es necesario para determinar el tipo de sistema en caso de que no haya satélites a la vista.
[virtual protected] QGeoSatelliteInfo::SatelliteSystem QNmeaSatelliteInfoSource::parseSatellitesInUseFromNmea(const char *data, int size, QList<int> &pnrsInUse)
Analiza una cadena de sentencia NMEA para extraer los IDs de los satélites en uso.
La implementación por defecto analizará sentencias NMEA estándar $GPGSA. Este método debe ser reimplementado en una subclase siempre que surja la necesidad de tratar con sentencias NMEA no estándar.
El analizador lee size bytes de data y utiliza esa información para rellenar la lista pnrsInUse.
Devuelve el tipo de sistema si la sentencia fue analizada con éxito, de lo contrario devuelve QGeoSatelliteInfo::Undefined y no debe modificar pnrsInUse.
[override virtual slot] void QNmeaSatelliteInfoSource::requestUpdate(int msec = 0)
Reimplementa: QGeoSatelliteInfoSource::requestUpdate(int timeout).
[override virtual] bool QNmeaSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value)
Reimplementa: QGeoSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value).
Véase también backendProperty().
void QNmeaSatelliteInfoSource::setDevice(QIODevice *device)
Establece la fuente de datos NMEA en device. Si el dispositivo no está abierto, se abrirá en modo ReadOnly.
El dispositivo fuente sólo puede establecerse una vez y debe establecerse antes de llamar a startUpdates() o requestUpdate().
Nota: device debe emitir QIODevice::readyRead() para que la fuente reciba una notificación cuando los datos estén disponibles para su lectura. QNmeaSatelliteInfoSource no asume la propiedad del dispositivo y, por lo tanto, no lo desasigna al destruirlo.
Véase también device().
[override virtual] void QNmeaSatelliteInfoSource::setUpdateInterval(int msec)
Reimplementa una función de acceso para la propiedad: QGeoSatelliteInfoSource::updateInterval.
[override virtual slot] void QNmeaSatelliteInfoSource::startUpdates()
Reimplementa: QGeoSatelliteInfoSource::startUpdates().
[override virtual slot] void QNmeaSatelliteInfoSource::stopUpdates()
Reimplementa: QGeoSatelliteInfoSource::stopUpdates().
QNmeaSatelliteInfoSource::UpdateMode QNmeaSatelliteInfoSource::updateMode() const
Devuelve el modo de actualización.
Documentación de la variable miembro
QString QNmeaSatelliteInfoSource::SimulationUpdateInterval
Esta variable contiene el nombre de la propiedad backend para la tasa de lectura de datos en SimulationMode. El valor de esta propiedad es el número entero que representa la cantidad de milisegundos entre las lecturas subsiguientes. Utilice este parámetro en los métodos setBackendProperty() y backendProperty().
Nota: Esta propiedad es diferente del intervalo que puede establecerse mediante setUpdateInterval(). El valor establecido mediante setUpdateInterval() denota un intervalo para la notificación al usuario, mientras que este parámetro especifica la frecuencia interna de lectura de los datos del archivo fuente. Esto significa que se pueden tener múltiples (o ninguna) lecturas durante el periodo de 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.