CPC H04W 52/0261 (2013.01) [G01S 5/0063 (2013.01); G01S 5/0252 (2013.01); G01S 5/02685 (2020.05); G06T 11/00 (2013.01); G06T 13/00 (2013.01); H04W 64/003 (2013.01); G01S 19/48 (2013.01)] | 15 Claims |
1. A mobile device comprising:
one or more computer processors; and
one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the mobile device to perform operations comprising:
in response to a start-up of the mobile device, determining, from one of a plurality of location sources, an initial location as a previous current position;
selecting a location source of the plurality of location sources, wherein the selecting is based on one or more conditions;
scheduling a request for the selected location source to generate new location data;
accessing the new location data from the selected location source, the new location data comprising a new position and an accuracy of the new position;
determining a current position and an accuracy of the current position based on the new position, the accuracy of the new position, the previous current position, and an accuracy of the previous current position; and
determining a change in location based on a difference between the current position and the previous current position, wherein the current position comprises: an x value, a y value, and a z value, the previous current position comprises: an x1 value, a y1 value, and a z1 value, and the new position comprises: an x2 value, a y2 value, and a z2 value, and wherein determining the current position further comprises:
determining the x value, the y value, and the z value as equal to: ((the x1 value, the y1 value, and the z1 value)×(1/the accuracy of the previous current position)+ (the x2 value, the y2 value, and the z2 value)×(1/the accuracy of the new position))/(the change in location value).
|
13. A method performed on a device, the method comprising:
in response to a start-up of the device, determining, from one of a plurality of location sources, an initial location as a previous current position;
selecting a location source of the plurality of location sources, wherein the selecting is based on one or more conditions;
scheduling a request for the selected location source to generate new location data;
accessing the new location data from the selected location source, the new location data comprising a new position and an accuracy of the new position;
determining a current position and an accuracy of the current position based on the new position, the accuracy of the new position, the previous current position, and an accuracy of the previous current position; and
determining a change in location based on a difference between the current position and the previous current position, wherein the current position comprises: an x value, a y value, and a z value, the previous current position comprises: an x1 value, a y1 value, and a z1 value, and the new position comprises: an x2 value, a y2 value, and a z2 value, and wherein determining the current position further comprises:
determining the x value, the y value, and the z value as equal to: ((the x1 value, the y1 value, and the z1 value)×(1/the accuracy of the previous current position)+ (the x2 value, the y2 value, and the z2 value)×(1/the accuracy of the new position))/(the change in location value).
|
15. A non-transitory computer-readable storage medium including instructions that, when processed by a computer, configure the computer to perform operations comprising:
in response to a start-up of the computer, determining, from one of a plurality of location sources, an initial location as a previous current position;
selecting a location source of the plurality of location sources, wherein the selecting is based on one or more conditions;
scheduling a request for the selected location source to generate new location data;
accessing the new location data from the selected location source, the new location data comprising a new position and an accuracy of the new position;
determining a current position and an accuracy of the current position based on the new position, the accuracy of the new position, the previous current position, and an accuracy of the previous current position; and
determining a change in location based on a difference between the current position and the previous current position, wherein the current position comprises: an x value, a y value, and a z value, the previous current position comprises: an x1 value, a y1 value, and a z1 value, and the new position comprises: an x2 value, a y2 value, and a z2 value, and wherein determining the current position further comprises:
determining the x value, the y value, and the z value as equal to: ((the x1 value, the y1 value, and the z1 value)×(1/the accuracy of the previous current position)+ (the x2 value, the y2 value, and the z2 value)×(1/the accuracy of the new position))/(the change in location value).
|