IP Library › Granted Patent US 12,238,610
Granted Patent B2
US 12,238,610 · App. 18/654,345 · Granted Feb 25, 2025

Systems and methods for processing geographical zones

Inventor: Michael Scott (Langley, CA)
Assignee: Geotab Inc.
H04W4/021G08G1/207H04W4/029
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,238,610
App. No.
18/654,345
Filed
May 3, 2024
Granted
Feb 25, 2025
Kind
B2
Art Unit
2642
USPC
455/456.1
Abstract

Systems and methods for processing geographical zones are provided. The method involves operating at least one processor to: define a bounding box surrounding a geographical zone; iteratively partition the bounding box into a plurality of bounding boxes by, starting with the bounding box in the first iteration: determine whether the bounding box contains more than a predetermined maximum number of vertices; divide the bounding box into two additional bounding boxes if the bounding box contains more than the predetermined maximum number of vertices, repeat the steps of determining and dividing the bounding box for the additional bounding boxes in the next iteration until each additional bounding box does not contain more than the predetermined maximum number of vertices; generate a binary tree data structure representing the geographical zone; search the binary tree data structure to determine whether a vehicle is located within one of the bounding boxes.

Claims (54)

1. A system for processing a geographical zone, the system comprising:

at least one data store operable to store the geographical zone; and

at least one processor in communication with the at least one data store, the at least one processor operable to:

define a bounding box surrounding the geographical zone;

iteratively partition the bounding box into a plurality of bounding boxes by:

determine whether the bounding box contains more than a predetermined maximum number of vertices;

divide the bounding box into two additional bounding boxes if the bounding box contains more than the predetermined maximum number of vertices, the bounding box being divided along an axis that is parallel to: i.) a transverse axis of the bounding box if the length of the bounding box is larger than the width of the bounding box, or ii.) a longitudinal axis of the bounding box if the width of the bounding box is larger than the length of the bounding box; and

repeat the steps of determining and dividing the bounding box for the additional bounding boxes until each additional bounding box does not contain more than the predetermined maximum number of vertices;

identify a location of a vehicle based on telematics data received from a telematics device installed in the vehicle; and

determine whether the vehicle is located within one of the bounding boxes in the plurality of bounding boxes.

2. The system of claim 1 , wherein:

at least one bounding box in the plurality of bounding boxes does not contain a portion of the geographical zone.

3. The system of claim 1 , wherein dividing the bounding box comprises positioning the axis to minimize empty space in one of the two additional bounding boxes.

4. The system of claim 1 , wherein dividing the bounding box comprises positioning the axis so that each of the additional bounding boxes contains a predetermined minimum number of vertices.

5. The system of claim 1 , wherein dividing the bounding box comprises positioning the axis at: i.) half the width of bounding box if the length of the bounding box is larger than the width of the bounding box, or ii.) half the length of the bounding box if the width of the bounding box is larger than the length of the bounding box.

6. The system of claim 1 , wherein the at least one processor is further operable to:

generate a binary tree data structure representing the geographical zone, the binary tree data structure comprising a plurality of parent nodes connected to a plurality of end nodes, each parent node representing a division of one of the bounding boxes into two additional bounding boxes, each end node representing one of the bounding boxes.

7. The system of claim 6 , wherein:

at least one bounding box in the plurality of bounding boxes contains a portion of the geographical zone; and

each end node associated with each bounding box in the at least one bounding box further represents the portion of the geographical zone.

8. The system of claim 6 wherein the at least one processor is further operable to:

search the binary tree data structure using the location of the vehicle.

9. The system of claim 8 , wherein searching the binary tree data structure comprises:

evaluating a parent node by determining which of the two bounding boxes associated with the division represented by the parent node the vehicle is located.

10. A method for processing a geographical zone, the method comprising operating at least one processor to:

define a bounding box surrounding the geographical zone;

iteratively partition the bounding box into a plurality of bounding boxes by:

determine whether the bounding box contains more than a predetermined maximum number of vertices;

divide the bounding box into two additional bounding boxes if the bounding box contains more than the predetermined maximum number of vertices, the bounding box being divided along an axis that is parallel to: i.) a transverse axis of the bounding box if the length of the bounding box is larger than the width of the bounding box, or ii.) a longitudinal axis of the bounding box if the width of the bounding box is larger than the length of the bounding box; and

repeat the steps of determining and dividing the bounding box for the additional bounding boxes until each additional bounding box does not contain more than the predetermined maximum number of vertices;

identify a location of a vehicle based on telematics data received from a telematics device installed in the vehicle; and

determine whether the vehicle is located within one of the bounding boxes in the plurality of bounding boxes.

11. The method of claim 10 , wherein:

at least one bounding box in the plurality of bounding boxes does not contain a portion of the geographical zone.

12. The method of claim 10 , wherein dividing the bounding box comprises positioning the axis to minimize empty space in one of the two additional bounding boxes.

13. The method of claim 10 , wherein dividing the bounding box comprises positioning the axis so that each of the additional bounding boxes contains a predetermined minimum number of vertices.

14. The method of claim 10 , wherein dividing the bounding box comprises positioning the axis at: i.) half the width of bounding box if the length of the bounding box is larger than the width of the bounding box, or ii.) half the length of the bounding box if the width of the bounding box is larger than the length of the bounding box.

15. The method of claim 10 , further comprising operating the at least one processor to:

generate a binary tree data structure representing the geographical zone, the binary tree data structure comprising a plurality of parent nodes connected to a plurality of end nodes, each parent node representing a division of one of the bounding boxes into two additional bounding boxes, each end node representing one of the bounding boxes.

16. The method of claim 15 , wherein:

at least one bounding box in the plurality of bounding boxes contains a portion of the geographical zone; and

each end node associated with each bounding box in the at least one bounding box further represents the portion of the geographical zone.

17. The method of claim 15 , further comprising operating the at least one processor to:

search the binary tree data structure using the location of the vehicle.

18. The method of claim 17 , wherein searching the binary tree data structure comprises:

evaluating a parent node by determining which of the two bounding boxes associated with the division represented by the parent node the vehicle is located.

19. A non-transitory computer readable medium having instructions stored thereon executable by at least one processor to implement a method for processing a geographical zone, the method comprising operating at least one processor to:

define a bounding box surrounding the geographical zone;

iteratively partition the bounding box into a plurality of bounding boxes by:

determine whether the bounding box contains more than a predetermined maximum number of vertices;

divide the bounding box into two additional bounding boxes if the bounding box contains more than the predetermined maximum number of vertices, the bounding box being divided along an axis that is parallel to: i.) a transverse axis of the bounding box if the length of the bounding box is larger than the width of the bounding box, or ii.) a longitudinal axis of the bounding box if the width of the bounding box is larger than the length of the bounding box; and

repeat the steps of determining and dividing the bounding box for the additional bounding boxes until each additional bounding box does not contain more than the predetermined maximum number of vertices;

identify a location of a vehicle based on telematics data received from a telematics device installed in the vehicle; and

determine whether the vehicle is located within one of the bounding boxes in the plurality of bounding boxes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: SCOTT, MICHAEL
To: GEOTAB INC.
Reel/Frame 067306/0680 →
Continuity (3)
Continuation 18390129 · Dec 20, 2023
Provisional Application 63440143 · Jan 20, 2023
Related Publication 20240292182A1 · Aug 29, 2024
References Cited (33)
US 7088358B2 · Aharon et al. · 2006 [cited by applicant]
US 7353114B1 · Rohlf · 2008 [cited by examiner]
US 7746343B1 · Charaniya · 2010 [cited by examiner]
US 8180379B2 · Forstall et al. · 2012 [cited by applicant]
US 9041556B2 · Tucker et al. · 2015 [cited by applicant]
US 9520062B2 · Tucker et al. · 2016 [cited by applicant]
US 10140863B2 · Tucker et al. · 2018 [cited by applicant]
US 10670735B2 · Tu et al. · 2020 [cited by applicant]
US 10748422B2 · Tucker et al. · 2020 [cited by applicant]
US 11727339B2 · Davidson et al. · 2023 [cited by applicant]
US 11741760B1 · Dubin et al. · 2023 [cited by applicant]
US 11861785B2 · McAllister et al. · 2024 [cited by applicant]
US 11959772B2 · Robbins et al. · 2024 [cited by applicant]
US 20010013867A1 · Watanabe et al. · 2001 [cited by applicant]
US 20040193566A1 · Kothuri · 2004 [cited by applicant]
US 20060247845A1 · Cera · 2006 [cited by examiner]
US 20060247846A1 · Cera · 2006 [cited by examiner]
US 20080016472A1 · Rohlf · 2008 [cited by examiner]
US 20140146047A1 · Wu et al. · 2014 [cited by applicant]
US 20180342030A1 · Magleby · 2018 [cited by examiner]
US 20190045324A1 · Eldic · 2019 [cited by examiner]
US 20190066328A1 · Kwant · 2019 [cited by examiner]
US 20200035000A1 · Raut · 2020 [cited by examiner]
US 20200240805A1 · Kanajan · 2020 [cited by examiner]
US 20200264002A1 · Gotsman · 2020 [cited by examiner]
US 20200314588A1 · Kirwan · 2020 [cited by applicant]
US 20220228887A1 · Robbins et al. · 2022 [cited by applicant]
US 20220357453A1 · Zhou et al. · 2022 [cited by applicant]
US 20230018053A1 · Bhowmick · 2023 [cited by applicant]
US 20230413302A1 · Dhanani et al. · 2023 [cited by applicant]
WO 2023177391A1 · 2023 [cited by applicant]
Extended European Search Report for European Application No. 23217206.4, mailed Jun. 20, 2024, 11 pages. [cited by applicant]
Jared Petker: “Point-in-Polygon Detection”, Apr. 1, 2010 (Apr. 1, 2010), pp. 1-38, XP093162958, Retrieved from the Internet: URL:https://faculty.ucmerced.edu/kmitchell /Theses/jpetkerthesis.pdf [retrieved on May 15, 202… [cited by applicant]