QNmeaPositionInfoSource¶
The
QNmeaPositionInfoSource
class provides positional information using a NMEA data source. More…
Synopsis¶
Functions¶
def
device
()def
setDevice
(source)def
setUserEquivalentRangeError
(uere)def
updateMode
()def
userEquivalentRangeError
()
Virtual functions¶
def
parsePosInfoFromNmeaData
(data, size, posInfo, hasFix)
Detailed Description¶
NMEA is a commonly used protocol for the specification of one’s global position at a certain point in time. The
QNmeaPositionInfoSource
class reads NMEA data and uses it to provide positional data in the form ofQGeoPositionInfo
objects.A
QNmeaPositionInfoSource
instance operates in eitherRealTimeMode
orSimulationMode
. These modes allow NMEA data to be read from either a live source of positional data, or replayed for simulation purposes from previously recorded NMEA data.The source of NMEA data is set with
setDevice()
.Use
startUpdates()
to start receiving regular position updates andstopUpdates()
to stop these updates. If you only require updates occasionally, you can callrequestUpdate()
to request a single update.In both cases the position information is received via the
positionUpdated()
signal and the last known position can be accessed withlastKnownPosition()
.
QNmeaPositionInfoSource
supports reporting the accuracy of the horizontal and vertical position. To enable position accuracy reporting an estimate of the User Equivalent Range Error associated with the NMEA source must be set withsetUserEquivalentRangeError()
.
- class PySide2.QtPositioning.QNmeaPositionInfoSource(updateMode[, parent=None])¶
- param parent:
- param updateMode:
Constructs a
QNmeaPositionInfoSource
instance with the givenparent
andupdateMode
.
- PySide2.QtPositioning.QNmeaPositionInfoSource.UpdateMode¶
Defines the available update modes.
Constant
Description
QNmeaPositionInfoSource.RealTimeMode
Positional data is read and distributed from the data source as it becomes available. Use this mode if you are using a live source of positional data (for example, a GPS hardware device).
QNmeaPositionInfoSource.SimulationMode
The data and time information in the NMEA source data is used to provide positional updates at the rate at which the data was originally recorded. Use this mode if the data source contains previously recorded NMEA data and you want to replay the data for simulation purposes.
- PySide2.QtPositioning.QNmeaPositionInfoSource.device()¶
- Return type:
Returns the NMEA data source.
See also
- PySide2.QtPositioning.QNmeaPositionInfoSource.parsePosInfoFromNmeaData(data, size, posInfo, hasFix)¶
- Parameters:
data – str
size – int
posInfo –
PySide2.QtPositioning.QGeoPositionInfo
hasFix – bool
- Return type:
bool
Parses an NMEA sentence string into a
QGeoPositionInfo
.The default implementation will parse standard NMEA sentences. This method should be reimplemented in a subclass whenever the need to deal with non-standard NMEA sentences arises.
The parser reads
size
bytes fromdata
and uses that information to setupposInfo
andhasFix
. IfhasFix
is set to false thenposInfo
may contain only the time or the date and the time.Returns true if the sentence was succsesfully parsed, otherwise returns false and should not modifiy
posInfo
orhasFix
.
- PySide2.QtPositioning.QNmeaPositionInfoSource.setDevice(source)¶
- Parameters:
source –
PySide2.QtCore.QIODevice
Sets the NMEA data source to
device
. If the device is not open, it will be opened inReadOnly
mode.The source device can only be set once and must be set before calling
startUpdates()
orrequestUpdate()
.Note
The
device
must emitreadyRead()
for the source to be notified when data is available for reading.QNmeaPositionInfoSource
does not assume the ownership of the device, and hence does not deallocate it upon destruction.See also
- PySide2.QtPositioning.QNmeaPositionInfoSource.setUserEquivalentRangeError(uere)¶
- Parameters:
uere –
double
Sets the User Equivalent Range Error (UERE) to
uere
. The UERE is used in calculating an estimate of the accuracy of the position information reported by the position info source. The UERE should be set to a value appropriate for the GPS device which generated the NMEA stream.The true UERE value is calculated from multiple error sources including errors introduced by the satellites and signal propogation delays through the atmosphere as well as errors introduced by the receiving GPS equipment. For details on GPS accuracy see http://edu-observatory.org/gps/gps_accuracy.html .
A typical value for UERE is approximately 5.1.
See also
- PySide2.QtPositioning.QNmeaPositionInfoSource.updateMode()¶
- Return type:
Returns the update mode.
- PySide2.QtPositioning.QNmeaPositionInfoSource.userEquivalentRangeError()¶
- Return type:
double
Returns the current User Equivalent Range Error (UERE). The UERE is used in calculating an estimate of the accuracy of the position information reported by the position info source. The default value is NaN which means no accuracy information will be provided.
See also
© 2022 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.