A quality profile defines the minimum acceptable horizontal and vertical accuracy required for a location fix and the maximum acceptable time to obtain the fix. A quality profile is used when the client that requests a position fix does not specify any position quality criteria.
Sets of acceptable quality parameters are stored in lbsprofile.ini. The Quality Profile API enables LBS subsystem components to read the quality profile data stored in that file.
An LBS administration setting determines which quality profile is used for different types of location request (MO-LR self locate, MO-LR transfer to third party and MT-LR).
A typical quality profile file lbsprofile.ini is shown below.
# # Quality Profiles for LBS services # [1] ProfileID= 0 MaxTime= 130 HorizontalAccuracy= 50 VerticalAccuracy= 1000 MeasurementInitialTime= 15 MeasurementIntermediateTime= 5 FinalNetPositionLag= 10 [2] ProfileID= 1 MaxTime= 120 HorizontalAccuracy= 20 VerticalAccuracy= 1000 MeasurementInitialTime= 15 MeasurementIntermediateTime= 5
The following table describes the purpose of the parameters in lbsprofile.ini.
Parameter | Type | Description |
---|---|---|
ProfileID |
Integer |
The ID of the profile. This must be a unique value for each quality profile defined in this file. This value is used as a key from the administration repository file. |
MaxTime |
Integer |
The default maximum time (in seconds) to calculate a location fix for the profile. This is the time to obtain GPS measurements and use them to calculate a fix for autonomous or terminal based GPS mode. See also FinalNetPositionLag below. |
HorizontalAccuracy |
Float |
The maximum acceptable error (in metres) in horizontal position for this quality profile. |
VerticalAccuracy |
Float |
The maximum acceptable error (in metres) in vertical position for this quality profile. |
MeasurementInitialTime |
Float |
The maximum time (in seconds) to get the first GPS measurements (but not a GPS location fix). Used in terminal assisted GPS mode. |
MeasurementIntermediateTime |
Float |
The maximum time (in seconds) to get subsequent GPS measurements after the first measurements have been received. |
FinalNetPositionLag |
Integer |
An additional time (in seconds) that the Location Server waits to receive a position update for a MO-LR self-locate before it notifies the client that the request has timed out. This additional time is to allow the "final position" to be retrieved from the network. The final position may have been calculated by a network server for Terminal Assisted Mode. For example, if a client application calls RPositioner::NotifyPositionUpdate(TPositionInfoBase &aPosInfo, TRequestStatus &aStatus) and the profile is configured for MO-LR self locate, then the Location Server waits a total of MaxTime + FinalNetPositionLag seconds to receive a position before it completes the request with aStatus = KErrTimedOut. Note: if a client application sets an update timeout by calling RPositioner::SetUpdateOptions(TPositionUpdateOptions& options) and has set a timeout on the options by calling options.SetUpdateTimeout(), then the Location Server waits a total of options.UpdateTimeOut() + FinalNetPositionLag to receive a position before it completes the request with aStatus = KErrTimedOut. Where FinalNetPositionLag is omitted from a profile, it is assumed to be 0. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.