PySide6.QtPositioning.QNmeaPositionInfoSource¶
- class QNmeaPositionInfoSource¶
QNmeaPositionInfoSource
类使用 NMEA 数据源提供位置信息。更多…概要¶
方法¶
def
__init__()
def
device()
def
setDevice()
def
setError()
def
updateMode()
虚拟方法¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
NMEA 是一种常用的协议,用于指定某人在某个时间点的全球位置。
QNmeaPositionInfoSource
类读取 NMEA 数据,并使用它以QGeoPositionInfo
对象的形式提供位置数据。一个
QNmeaPositionInfoSource
实例可以在RealTimeMode
或SimulationMode
中运行。这些模式允许从实时位置数据源读取NMEA数据,或者从先前记录的NMEA数据中回放以进行模拟。NMEA数据的来源通过
setDevice()
设置。使用
startUpdates()
开始接收定期的位置更新,使用stopUpdates()
停止这些更新。如果你只需要偶尔的更新,可以调用requestUpdate()
来请求一次单独的更新。在这两种情况下,位置信息都是通过
positionUpdated()
信号接收的,并且可以使用lastKnownPosition()
访问最后已知的位置。QNmeaPositionInfoSource
支持报告水平和垂直位置的精度。要启用位置精度报告,必须使用setUserEquivalentRangeError()
设置与NMEA源相关的用户等效范围误差的估计值。- class UpdateMode¶
定义可用的更新模式。
常量
描述
QNmeaPositionInfoSource.RealTimeMode
当数据源可用时,位置数据会被读取并分发。如果您使用的是实时位置数据源(例如,GPS硬件设备),请使用此模式。
QNmeaPositionInfoSource.SimulationMode
NMEA源数据中的日期和时间信息用于以数据最初记录的速率提供位置更新。如果数据源包含先前记录的NMEA数据,并且您希望为了模拟目的重放数据,请使用此模式。
- __init__(updateMode[, parent=None])¶
- Parameters:
updateMode –
UpdateMode
parent –
QObject
使用给定的
parent
和updateMode
构造一个QNmeaPositionInfoSource
实例。返回NMEA数据源。
另请参阅
- parsePosInfoFromNmeaData(data, posInfo, hasFix)¶
- Parameters:
data –
QByteArrayView
posInfo –
QGeoPositionInfo
hasFix – 布尔值
- Return type:
布尔
- parsePosInfoFromNmeaData(data, size, posInfo, hasFix)
- Parameters:
data – 字符串
size – int
posInfo –
QGeoPositionInfo
hasFix – 布尔值
- Return type:
布尔
将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)¶
- Parameters:
uere – 浮点数
将用户等效范围误差(UERE)设置为
uere
。UERE用于计算位置信息源报告的位置信息的准确性估计。UERE应设置为适合生成NMEA流的GPS设备的值。真实的UERE值是从多个误差源计算得出的,包括由卫星引入的误差、通过大气层的信号传播延迟以及接收GPS设备引入的误差。有关GPS准确性的详细信息,请参见Sam J. Wormley, GPS Errors & Estimating Your Reveiver’s Accuracy。
UERE的典型值大约为5.1。
- updateMode()¶
- Return type:
返回更新模式。
- userEquivalentRangeError()¶
- Return type:
浮点数
返回当前的用户等效距离误差(UERE)。UERE用于计算位置信息源报告的位置信息的精度估计。默认值为NaN,这意味着不会提供精度信息。