IP Library Granted Patent US 12,705,226
Granted Patent B2
US 12,705,226 · App. 18/797,854 · Granted Aug 11, 2026

Refining location estimates and reverse geocoding based on a user profile

Inventors: Christopher Lambert (San Francisco, CA); Michael Chu (Los Altos Hills, CA); Rohan Seth (San Francisco, CA)
Assignee: Google LLC
G06F16/23G01S5/021G01S5/0244G06F16/2228G06F16/29G06F16/9537G06F16/955G06Q30/02H04L67/306H04L67/52H04W4/029H04W4/18G01C21/3682
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,705,226
App. No.
18/797,854
Granted
Aug 11, 2026
Kind
B2
Abstract

The present invention pertains to enhancement or refinement of estimated locations based upon user-specific information. Upon user authorization, geographical information is extracted from a number of user-related sources, including the web browser history, search history, maps history, address book, e-mail archives and calendar entries. Such information is used to build a spatial index of specific physical locations for a geocoded result set. From this, heat maps identifying particular locations from the user-related sources are created for different periods of time. The heat maps may be used to refine an initial location estimate of the user. This may be done by determining whether one or more positions in a given heat map provide a more accurate position of the user than the initial estimate. If so, a best position is selected. This can be used to provide enhanced driving directions to the user.

Claims (42)

1 . A method for processing geolocation information, comprising:

receiving a request to generate a heatmap;

extracting, from one or more databases in response to receiving the request, a result set comprising the geolocation information and associated time information;

generating, based on the result set, a spatial index of physical locations associated with the geolocation information and the associated time information;

ranking the physical locations in the spatial index based on at least one of the time information or a frequency of occurrence of a specific physical location in the spatial index; and

providing for output, on a map of a geographical region associated with the geolocation information and based on the spatial index, one or more indicators identifying the ranked physical locations, wherein the one or more indicators correspond to the heatmap of the geolocation information.

2 . The method of claim 1 , wherein the associated time information indicates at least one of a time an event occurred at a specific physical location, a time that the geolocation information expires, or a degradation factor.

3 . The method of claim 1 , wherein the result set further comprises confidence scores associated with the geolocation information.

4 . The method of claim 3 , further comprising:

associating a weight with a type of geolocation information,

wherein the confidence score is determined based on at least the weight associated with the type of geolocation information.

5 . The method of claim 1 , further comprising filtering the spatial index to identify a subset of specific physical locations having time information corresponding to a first historical time range, wherein the subset of specific physical locations has fewer specific physical locations than the spatial index.

6 . The method of claim 5 , wherein the one or more indicators identify the subset of specific physical locations.

7 . The method of claim 1 , wherein the physical locations correspond to latitude and longitude coordinates of physical addresses.

8 . The method of claim 1 , wherein the ranking indicates a confidence in the specific physical locations in the spatial index.

9 . A system for processing geolocation information, comprising:

one or more processors, the one or more processors configured to:

receive a request to generate a heatmap;

extract, from one or more databases in response to receiving the request, a result set comprising the geolocation information and associated time information;

generate, based on the result set, a spatial index of physical locations associated with the geolocation information and the associated time information;

rank the physical locations in the spatial index based on at least one of the time information or a frequency of occurrence of a specific physical location in the spatial index; and

provide for output, on a map of a geographical region associated with the geolocation information and based on the spatial index, one or more indicators identifying the ranked physical locations, wherein the one or more indicators correspond to the heatmap of the geolocation information.

10 . The system of claim 9 , wherein the associated time information indicates at least one of a time an event occurred at a specific physical location, a time that the geolocation information expires, or a degradation factor.

11 . The system of claim 9 , wherein the result set further comprises confidence scores associated with the geolocation information.

12 . The system of claim 11 , wherein the one or more processors are further configured to:

associate a weight with a type of geolocation information,

wherein the confidence score is determined based on at least the weight associated with the type of geolocation information.

13 . The system of claim 9 , wherein the one or more processors are further configured to filter the spatial index to identify a subset of specific physical locations having time information corresponding to a first historical time range, wherein the subset of specific physical locations has fewer specific physical locations than the spatial index.

14 . The system of claim 13 , wherein the one or more indicators identify the subset of specific physical locations.

15 . The system of claim 9 , wherein the physical locations correspond to latitude and longitude coordinates of physical addresses.

16 . The system of claim 9 , wherein the rank indicates a confidence in the specific physical locations in the spatial index.

17 . A non-transitory computer-readable medium storing instructions executable by one or more processors to perform a method comprising:

receiving a request to generate a heatmap;

extracting, from one or more databases in response to receiving the request, a result set comprising geolocation information and associated time information;

generating, based on the result set, a spatial index of physical locations associated with the geolocation information and the associated time information;

ranking the physical locations in the spatial index based on at least one of the time information or a frequency of occurrence of a specific physical location in the spatial index; and

providing for output, on a map of a geographical region associated with the geolocation information and based on the spatial index, one or more indicators identifying the ranked physical locations, wherein the one or more indicators correspond to the heatmap of the geolocation information.

18 . The non-transitory computer-readable medium of claim 17 , wherein the associated time information indicates at least one of a time an event occurred at a specific physical location, a time that the geolocation information expires, or a degradation factor.

19 . The non-transitory computer-readable medium of claim 17 , wherein the result set further comprises confidence scores associated with the geolocation information.

20 . The non-transitory computer-readable medium of claim 19 , further comprising:

associating a weight with a type of geolocation information,

wherein the confidence score is determined based on at least the weight associated with the type of geolocation information.