US 12,004,041 B1
Systems and methods for processing geographical zones
Michael Scott, Langley (CA)
Assigned to Geotab Inc., Oakville (CA)
Filed by Geotab Inc., Oakville (CA)
Filed on Dec. 20, 2023, as Appl. No. 18/390,129.
Claims priority of provisional application 63/440,143, filed on Jan. 20, 2023.
Int. Cl. H04W 4/021 (2018.01); G08G 1/00 (2006.01); H04W 4/029 (2018.01)
CPC H04W 4/021 (2013.01) [G08G 1/207 (2013.01); H04W 4/029 (2018.02)] 21 Claims
OG exemplary drawing
 
1. A system for determining whether a vehicle is located within 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, 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, 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 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, 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 in the plurality of bounding boxes;
identify the location of the vehicle based on telematics data received from a telematics device installed in the vehicle; and
search the binary tree data structure using the location of the vehicle to determine whether the vehicle is located within one of the bounding boxes in the plurality of bounding boxes.