# US 11,512,963 B2 · System and method for processing geolocation event data for low-latency

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,512,963 B2
- Document ID: US11512963B2
- Status: Granted
- Kind: B2
- Application number: 16/787,518
- Filed: 2020-02-11
- Published: 2020-08-13
- Granted: 2022-11-29
- Earliest claimed: 2019-02-11
- Assignees: Wejo Ltd.
- Applicants: Wejo Ltd.
- Inventors: Alan Gawthorpe; Roger Downing
- Web page: https://patentgrep.com/patent/US11512963B2

## CPC

- G01C 21/32: Structuring or formatting of map data
- H04W 4/029: Location-based management or tracking services
- G06F 16/29: Geographical information databases
- G07C 5/008: {communicating information to a remotely located station (transmission systems for measured values G08C)}
- G07C 5/0841: {Registering performance data (recording measured values G01D; information storage G11B)}
- G08G 1/0112: {from the vehicle, e.g. floating car data [FCD]}
- G08G 1/0129: {for creating historical data or processing based on historical data}
- H04W 4/021: Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
- H04W 4/40: for vehicles, e.g. vehicle-to-pedestrians [V2P]
- G05B 2219/42342: Path, trajectory tracking control
- H04W 4/44: for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G08G: TRAFFIC CONTROL SYSTEMS (guiding railway traffic, ensuring the safety of railway traffic B61L; arrangement of road signs or traffic signals E01F9/00; radar or analogous systems, sonar systems, lidar systems specially adapted for traffic control G01S13/91, G01S15/88, G01S17/88; {radar or analogous systems, sonar systems, lidar systems specially adapted for anti-collision purposes G01S13/93, G01S15/93, G01S17/93})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

Embodiments are directed to a system and methods for ingesting location event data and encoding location data in the event data to a proximity. The encoding includes geohashing latitude and longitude for each event to a proximity for analysis and throughput.

## Claims

### Claim 1

A system comprising a memory including program instructions and at least one processor configured to execute the program instructions for a method comprising:
ingesting, vehicle event data comprising time and latitude and longitude data for each of a number of events;
encoding the vehicle event data, the encoding comprising generating, for each of the events, a geohash using the latitude and longitude data for the event such that the geohash indicates a geographic area for the event, wherein the encoding the vehicle event data includes geohashing the latitude and longitude data to a rectangle defining the geographic area, the rectangle having edges proportional to a number of characters in the geohash;
indexing the encoded vehicle event data by the generated geohash using an index;
filtering the encoded vehicle event data based on a selected event and a location using the index, wherein the selected event is an event of interest selected from the group of a harsh brake, a harsh deceleration, and a harsh acceleration; and
providing a data product having the filtered data to a customer.

### Claim 2 (depends on 1)

The system of claim 1, wherein the harsh brake is defined as a deceleration in a predetermined period of time, and wherein the harsh acceleration is defined as an acceleration in another predetermined period of time.

### Claim 3 (depends on 1)

The system of claim 1, wherein the encoding the vehicle event data further comprises geohashing the latitude and longitude data to a shape defining the geographic area.

### Claim 4 (depends on 3)

The system of claim 3, wherein the encoding the vehicle event data further comprises at least one of:
encoding the geohash to identify a country;
encoding the geohash to identify a state;
encoding the geohash to identify a zip code; and
encoding the geohash to a precision to uniquely identify a vehicle.

### Claim 5 (depends on 4)

The system of claim 4, wherein encoding the vehicle event further comprises at least one of:
encoding the geohash to 4 characters to identify the country;
encoding the geohash to 5 characters to identify the state;
encoding the geohash to 6 characters to identify the zip code; and
encoding the geohash to 9 characters to uniquely identify a vehicle.

### Claim 6 (depends on 3)

The system of claim 3, wherein, for each of the events, the geohash that is generated has from 4 to 9 characters.

### Claim 7 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to execute the instructions for the method further comprising:
intra record filtering of the vehicle event data, wherein the filtering comprises filtering the vehicle event data that has a latency below a predetermined amount of time.

### Claim 8 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to execute the instructions for the method further comprising, for each of the events, mapping the geohash to a map database.

### Claim 9 (depends on 8)

The system of claim 8, wherein the mapping further comprises mapping the geohash to a point of interest database.

### Claim 10 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to execute the instructions for the method further comprising:
identifying a journey for a vehicle from the vehicle event data, wherein the journey identification comprises identifying whether a given vehicle's route or movement is for purposes of driving to a journey destination, and wherein the journey identification comprises:
identifying an engine on or movement start for the vehicle;
identifying an engine off or movement stop for the vehicle; and
determining if the engine on or movement start and engine off or movement stop for the vehicle meets one or more criteria including: a minimum duration of travel, a minimum distance of travel, and a maximum dwell time for a stop for a vehicle.

### Claim 11 (depends on 10)

The system of claim 10, wherein the minimum duration of travel comprises a duration of from about 60 to about 90 seconds.

### Claim 12 (depends on 10)

The system of claim 10, wherein the dwell time for a stop is from about 30 to about 60 seconds.

### Claim 13 (depends on 10)

The system of claim 10, wherein the minimum distance of travel is from about 100 meters to about 300 meters.

### Claim 14 (depends on 13)

The system of claim 13, wherein the minimum distance of travel is 200 meters.

### Claim 15 (depends on 14)

The system of claim 14, wherein a minimum distance x is defined to an index including about 50% tolerance of the minimum distance x.

### Claim 16 (depends on 1)

The system of claim 1, wherein the system is configured to provide active vehicle detection.

### Claim 17 (depends on 16)

The system of claim 16, wherein the at least one processor is configured to execute instructions for the active vehicle detection, and wherein the active vehicle detection comprises identifying a vehicle path from a plurality of the events over a period of time.

### Claim 18 (depends on 17)

The system of claim 17, wherein the at least one processor is configured to execute instructions for the active vehicle detection comprising: identifying the vehicle path from the plurality of events over the period of time, the identification comprising using a connected components algorithm and the connected components algorithm comprising identifying the vehicle path in a directed graph including the day of vehicle events, wherein in the graph, a node is a journey start or end and a connection between nodes is the identified vehicle path.

### Claim 19 (depends on 1)

The system of claim 1, wherein the processor is configured to execute instructions for validating the vehicle event data.

### Claim 20 (depends on 19)

The system of claim 19, wherein the instructions for validating the vehicle event data further comprise:
checking the vehicle event data for an attribute bound; and
filtering data that does not conform to the attribute bound.

### Claim 21 (depends on 20)

The system of claim 20, wherein the instructions for validating the vehicle event data further comprise:
checking the vehicle event data for an attribute value; and
filtering data that does not conform to the attribute value.

### Claim 22 (depends on 19)

The system of claim 19, wherein the instructions for validating the vehicle event data further comprise:
validating event record data with an inter record consistency criteria; and
filtering the vehicle event data that does not meet the inter-record consistency criteria.
