PySide6.QtPositioning.QNmeaSatelliteInfoSource¶
- class QNmeaSatelliteInfoSource¶
QNmeaSatelliteInfoSource类使用 NMEA 数据源提供卫星信息。更多…概要¶
方法¶
def
__init__()def
device()def
setDevice()def
setError()def
updateMode()
虚拟方法¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
NMEA 是一种常用的协议,用于指定某人在某个时间点的全球位置。
QNmeaSatelliteInfoSource类读取 NMEA 数据,并使用它以QGeoSatelliteInfo对象列表的形式提供有关可见卫星和使用中卫星的信息。一个
QNmeaSatelliteInfoSource实例可以在RealTimeMode或SimulationMode中运行。这些模式允许从实时数据源读取NMEA数据,或者从先前记录的NMEA数据中回放以进行模拟。NMEA数据的来源通过
setDevice()设置。使用
startUpdates()开始接收定期的卫星信息更新,使用stopUpdates()停止这些更新。如果你只需要偶尔更新,可以调用requestUpdate()请求一次性的更新,包括可见卫星和使用中的卫星。关于可见卫星的信息是通过
satellitesInViewUpdated()信号接收的。有关使用中的卫星信息是通过
satellitesInUseUpdated()信号接收的。- class UpdateMode¶
定义可用的更新模式。
常量
描述
QNmeaSatelliteInfoSource.UpdateMode.RealTimeMode
卫星信息在数据源可用时被读取和分发。如果您使用的是实时的NMEA数据源(例如GPS硬件设备),请使用此模式。
QNmeaSatelliteInfoSource.UpdateMode.SimulationMode
卫星信息以给定的速率从数据源读取并分发。该速率由SimulationUpdateInterval参数确定。如果数据源包含先前记录的NMEA数据,并且您希望为了模拟目的重放数据,请使用此模式。
- class SatelliteInfoParseStatus¶
定义卫星信息的解析状态。卫星信息可以分成多个句子,我们需要解析所有这些句子。
常量
描述
QNmeaSatelliteInfoSource.NotParsed
数据不包含有关卫星的信息。
QNmeaSatelliteInfoSource.PartiallyParsed
接收到并解析了有效的卫星信息,但它不完整,因此我们需要等待另一个NMEA句子。
QNmeaSatelliteInfoSource.FullyParsed
卫星信息已完全收集并解析。
- PySide6.QtPositioning.QNmeaSatelliteInfoSource.SimulationUpdateInterval¶
- __init__(mode[, parent=None])¶
- Parameters:
mode –
UpdateModeparent –
QObject
使用给定的
parent和mode构造一个QNmeaSatelliteInfoSource实例。返回NMEA数据源。
另请参阅
- parseSatelliteInfoFromNmea(data, infos, system)¶
- Parameters:
data –
QByteArrayViewinfos – QGeoSatelliteInfo 的列表
系统 –
SatelliteSystem
- Return type:
- parseSatelliteInfoFromNmea(data, size, infos, system)
- Parameters:
data – 字符串
size – int
infos – QGeoSatelliteInfo 的列表
system –
SatelliteSystem
- Return type:
解析NMEA语句字符串以提取有关可见卫星的信息。
默认实现将解析标准的NMEA $GPGSV语句。当需要处理非标准的NMEA语句时,应在子类中重新实现此方法。
解析器从
data中读取size字节,并使用该信息填充infos列表。返回带有解析结果的
SatelliteInfoParseStatus。如果返回PartiallyParsed或FullyParsed,则修改infos列表。同时将system设置为正确的卫星系统类型。这在没有可见卫星的情况下确定系统类型是必需的。- parseSatellitesInUseFromNmea(data, pnrsInUse)¶
- Parameters:
data –
QByteArrayViewpnrsInUse – 整数列表
- Return type:
- parseSatellitesInUseFromNmea(data, size, pnrsInUse)
- Parameters:
data – 字符串
size – int
pnrsInUse – 整数列表
- Return type:
解析NMEA句子字符串以提取使用中的卫星ID。
默认实现将解析标准的NMEA $GPGSA语句。当需要处理非标准的NMEA语句时,应在子类中重新实现此方法。
解析器从
data中读取size字节,并使用该信息填充pnrsInUse列表。如果句子成功解析,则返回系统类型,否则返回
Undefined,并且不应修改pnrsInUse。将NMEA数据源设置为
device。如果设备未打开,它将以QIODevice::ReadOnly模式打开。源设备只能设置一次,并且必须在调用
startUpdates()或requestUpdate()之前设置。注意
device必须发出 QIODevice::readyRead() 以便在有数据可供读取时通知源。QNmeaSatelliteInfoSource不拥有该设备的所有权,因此在销毁时不会释放它。另请参阅
- updateMode()¶
- Return type:
返回更新模式。