Spec-Zone.ru › Qt 5.9

Класс QNmeaPositionInfoSource

Класс QNmeaPositionInfoSource предоставляет информацию о местоположении, используя источник данных NMEA. Подробнее...

Заголовок: #include <QNmeaPositionInfoSource>
qmake: QT += positioning
С тех пор: Qt 5.2
Наследует: QGeoPositionInfoSource
  • Список всех членов, включая унаследованные

Публичные типы

перечисление UpdateMode { РежимРеальногоВремени, РежимМоделирования }

Публичные функции

QNmeaPositionInfoSource(UpdateMode updateMode, QObject *parent = Q_NULLPTR)
~QNmeaPositionInfoSource()
QIODevice * device() const
void setDevice(QIODevice *device)
void setUserEquivalentRangeError(double uere)
UpdateMode updateMode() const
double userEquivalentRangeError() const

Переопределённые публичные функции

virtual Error error() const
virtual QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const
virtual int minimumUpdateInterval() const
virtual void setUpdateInterval(int msec)
virtual PositioningMethods supportedPositioningMethods() const
  • 9 публичных функций унаследованы от QGeoPositionInfoSource
  • 32 публичных функции унаследованы от QObject

Публичные слоты

virtual void requestUpdate(int msec = 0)
virtual void startUpdates()
virtual void stopUpdates()
  • 3 публичных слота унаследованы от QGeoPositionInfoSource
  • 1 публичный слот унаследован от QObject

Защищённые функции

virtual bool parsePosInfoFromNmeaData(const char *data, int size, QGeoPositionInfo *posInfo, bool *hasFix)
  • 9 защищённых функций унаследованы от QObject

Дополнительные унаследованные члены

  • 3 свойства унаследованы от QGeoPositionInfoSource
  • 1 свойство унаследовано от QObject
  • 3 сигналы унаследованы от QGeoPositionInfoSource
  • 2 сигнала унаследованы от QObject
  • 3 статических публичных членов унаследованы от QGeoPositionInfoSource
  • 11 статических публичных членов унаследованы от QObject

Подробное описание

Класс QNmeaPositionInfoSource предоставляет информацию о местоположении, используя источник данных NMEA.

NMEA — это широко используемый протокол для указания глобального местоположения в определённый момент времени. Класс QNmeaPositionInfoSource считывает данные NMEA и использует их для предоставления данных о местоположении в виде объектов QGeoPositionInfo.

Экземпляр QNmeaPositionInfoSource работает в режиме РежимРеальногоВремени или РежимМоделирования. Эти режимы позволяют считывать данные NMEA из активного источника данных о местоположении или воспроизводить их для целей моделирования из ранее записанных данных NMEA.

Источник данных NMEA устанавливается с помощью setDevice().

Используйте startUpdates(), чтобы начать получать регулярные обновления местоположения, и stopUpdates(), чтобы остановить эти обновления. Если вам нужны только периодические обновления, вы можете вызвать requestUpdate(), чтобы запросить одно обновление.

В обоих случаях информация о местоположении поступает через сигнал positionUpdated(), а последний известный результат можно получить с помощью lastKnownPosition().

QNmeaPositionInfoSource поддерживает отчёт об точности горизонтального и вертикального местоположения. Для включения отчёта о точности местоположения необходимо задать оценку User Equivalent Range Error, связанную с источником NMEA, с помощью setUserEquivalentRangeError().

Документация типов членов

перечисление QNmeaPositionInfoSource::UpdateMode

Определяет доступные режимы обновления.

Постоянная Значение Описание
QNmeaPositionInfoSource::RealTimeMode 1 Данные о местоположении считываются и распространяются из источника данных по мере их доступности. Используйте этот режим, если вы используете активный источник данных о местоположении (например, устройство GPS).
QNmeaPositionInfoSource::SimulationMode 2 Данные и временная информация в данных NMEA используются для предоставления обновлений местоположения со скоростью, с которой данные были первоначально записаны. Используйте этот режим, если источник данных содержит ранее записанные данные NMEA и вы хотите воспроизвести данные для целей моделирования.

Документация по функциям членов

QNmeaPositionInfoSource::QNmeaPositionInfoSource(UpdateMode updateMode, QObject *parent = Q_NULLPTR)

Создаёт экземпляр QNmeaPositionInfoSource с заданным parent и updateMode.

QNmeaPositionInfoSource::~QNmeaPositionInfoSource()

Удаляет источник местоположения.

QIODevice *QNmeaPositionInfoSource::device() const

Возвращает источник данных NMEA.

См. также setDevice().

[virtual] Error QNmeaPositionInfoSource::error() const

Переопределено из QGeoPositionInfoSource::error().

[virtual] QGeoPositionInfo QNmeaPositionInfoSource::lastKnownPosition(bool fromSatellitePositioningMethodsOnly = false) const

Переопределено из QGeoPositionInfoSource::lastKnownPosition().

[virtual] int QNmeaPositionInfoSource::minimumUpdateInterval() const

Переопределено из QGeoPositionInfoSource::minimumUpdateInterval().

[virtual protected] bool QNmeaPositionInfoSource::parsePosInfoFromNmeaData(const char *data, int size, QGeoPositionInfo *posInfo, bool *hasFix)

Парсит строку NMEA-предложения в QGeoPositionInfo.

Реализация по умолчанию будет парсить стандартные NMEA-предложения. Этот метод должен быть переопределён в подклассе, когда возникает необходимость обработки нестандартных NMEA-предложений.

Парсер считывает size байтов из data и использует эту информацию для настройки posInfo и hasFix. Если hasFix установлено в false, то posInfo может содержать только время или дату и время.

Возвращает true, если предложение было успешно обработано, в противном случае возвращает false и не должно изменять posInfo или hasFix.

[virtual slot] void QNmeaPositionInfoSource::requestUpdate(int msec = 0)

Переопределено из QGeoPositionInfoSource::requestUpdate().

void QNmeaPositionInfoSource::setDevice(QIODevice *device)

Устанавливает источник данных NMEA в device. Если устройство не открыто, оно будет открыто в режиме QIODevice::ReadOnly.

Устройство-источник может быть установлено только один раз и должно быть установлено до вызова startUpdates() или requestUpdate().

Примечание: Устройство device должно излучать сигнал QIODevice::readyRead() для уведомления источника о наличии данных для чтения. QNmeaPositionInfoSource не предполагает владение устройством и, следовательно, не удаляет его при уничтожении.

См. также device().

[virtual] void QNmeaPositionInfoSource::setUpdateInterval(int msec)

Переопределено из QGeoPositionInfoSource::setUpdateInterval().

void QNmeaPositionInfoSource::setUserEquivalentRangeError(double uere)

Устанавливает ошибку эквивалентного радиуса пользователя (UERE) в uere. UERE используется для расчёта оценки точности информации о местоположении, предоставляемой источником информации о местоположении. UERE следует устанавливать в значение, соответствующее устройству GPS, которое генерировало поток NMEA.

Истинное значение UERE вычисляется на основе нескольких источников ошибок, включая ошибки, введённые спутниками и задержками распространения сигнала через атмосферу, а также ошибки, введённые принимающим GPS-оборудованием. Подробнее о точности GPS см. http://edu-observatory.org/gps/gps_accuracy.html.

Типичное значение UERE составляет приблизительно 5,1.

Эта функция была добавлена в Qt 5.3.

См. также userEquivalentRangeError().

[virtual slot] void QNmeaPositionInfoSource::startUpdates()

Переопределено из QGeoPositionInfoSource::startUpdates().

[virtual slot] void QNmeaPositionInfoSource::stopUpdates()

Переопределено из QGeoPositionInfoSource::stopUpdates().

[virtual] PositioningMethods QNmeaPositionInfoSource::supportedPositioningMethods() const

Переопределено из QGeoPositionInfoSource::supportedPositioningMethods().

UpdateMode QNmeaPositionInfoSource::updateMode() const

Возвращает режим обновления.

double QNmeaPositionInfoSource::userEquivalentRangeError() const

Возвращает текущую ошибку эквивалентного радиуса пользователя (UERE). Значение UERE по умолчанию равно NaN, что означает, что информация о точности не будет предоставлена.

Эта функция была добавлена в Qt 5.3.

См. также setUserEquivalentRangeError().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qnmeapositioninfosource.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API