- class QNmeaPositionInfoSource#
QNmeaPositionInfoSource类使用 NMEA 数据源提供位置信息。更多…摘要#
方法#
def
__init__()def
device()def
setDevice()def
setError()定义
updateMode()
虚函数#
注意
本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题时,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式告知我们。
详细描述#
NMEA 是一种用于指定在特定时间点全球位置的常用协议。《code class="xref py py-class docutils literal notranslate">QNmeaPositionInfoSource`类读取 NMEA 数据,并将其用作`
QGeoPositionInfo`对象的位置数据。`
QNmeaPositionInfoSource`实例可以工作在`RealTimeMode`或`SimulationMode`模式。这些模式允许从实时的位置数据源读取 NMEA 数据,或为了模拟目的从先前记录的 NMEA 数据中重放。NMEA 数据的源通过 `
setDevice()` 设置。使用 `
startUpdates()` 开始接收常规的位置更新,并使用 `stopUpdates()` 停止这些更新。如果您只需要偶尔更新,可以调用 `requestUpdate()` 来请求一次更新。在两种情况下,位置信息都通过 `
positionUpdated()` 信号接收,最后已知的位置可以通过 `lastKnownPosition()` 访问。QNmeaPositionInfoSource支持报告水平和垂直位置的确切性。要启用位置精确度报告,必须使用 `setUserEquivalentRangeError()` 设置与 NMEA 数据源相关联的用户等效 range 错误的估计。- classUpdateMode
定义可用的更新模式。
常量
描述
QNmeaPositionInfoSource.RealTimeMode
当位置数据可用时,从数据源读取并分发位置数据。如果您使用的是实时位置数据源(例如,GPS硬件设备),请使用此模式。
QNmeaPositionInfoSource.SimulationMode
使用原始记录的数据率和时间信息从NMEA数据源中获取数据和时间信息,以提供位置更新。如果数据源包含先前记录的NMEA数据,并且您想用于模拟,请使用此模式。
- __init__(updateMode[, parent=None])#
- 参数:
updateMode –
UpdateModeparent –
QObject
使用给定的
parent和updateMode构造一个QNmeaPositionInfoSource实例。返回NMEA数据源。
另请参阅
- parsePosInfoFromNmeaData(data, posInfo, hasFix)#
- 参数:
data –
QByteArrayViewposInfo –
QGeoPositionInfohasFix – bool
- 返回类型:
bool
- parsePosInfoFromNmeaData(data, size, posInfo, hasFix)
- 参数:
data – str
size – int
posInfo –
QGeoPositionInfohasFix – bool
- 返回类型:
bool
将NMEA句子字符串解析为
QGeoPositionInfo.默认实现将解析标准NMEA句子。当需要处理非标准NMEA句子时,此方法应在子类中重写。
解析器从
data中读取size个字节,并使用该信息设置posInfo和hasFix。如果将hasFix设置为 false,则posInfo可能只包含时间或日期和时间。如果句子成功解析,则返回true,否则返回false,不应该修改
posInfo或hasFix。设置NMEA数据源为
device。如果该设备没有打开,它将以QIODevice::ReadOnly模式打开。数据源设备只能设置一次,并且必须在调用
startUpdates()或requestUpdate()之前设置。注意
device必须发射QIODevice::readyRead()事件,以便在可以读取数据时通知数据源。QNmeaPositionInfoSource不假定对设备的所有权,因此在其销毁时不会释放它。另请参阅
- setUserEquivalentRangeError(uere)#
- 参数:
uere – float
将用户等效距离误差(UERE)设置为
uere。UERE用于计算位置信息源的准确度估计。应将UERE设置为一个适合生成NMEA流的GPS设备的值。真实的UERE值由多个误差源计算得出,包括卫星引入的误差以及信号通过大气传播的延迟以及接收GPS设备引入的误差。有关GPS精度的详细信息,请参阅Sam J. Wormley, GPS Errors & Estimating Your Reveiver’s Accuracy。
典型的UERE值大约是5.1。
返回更新模式。
- userEquivalentRangeError()#
- 返回类型:
float
返回当前用户等效距离误差(UERE)。UERE用于计算位置信息源的准确度估计。默认值为NaN,意味着将不会提供准确度信息。