IP Library Granted Patent US 10,003,946
Granted Patent B2
US 10,003,946 · App. 15/099,718 · Granted Jun 19, 2018

Enhanced spatial index for point in polygon operations

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 10,003,946
App. No.
15/099,718
Granted
Jun 19, 2018
Kind
B2
Abstract

An improved method is provided for determining whether a sample point is within a defined geographic area. Indexes for the geographic area of interest are generated in advance. Such indexes complement the traditional spatial indexing techniques such as quad tree and r-tree. The geographic area, as defined by an outer boundary, is subdivided into some regular geometric shape, preferably a rectangle, encoded into a suitable form, and indexed. Then, a simplified comparison of the sample point to the indexed regular shapes is made.

Claims (44)

1. A computer implemented method for determining whether a sample point is within a geographic area by generating indices for subdivided areas within the geographic area, and the geographic area having a defined boundary, the method comprising:

defining a rectangular boundary box that encloses the geographic area;

dividing the boundary box into a plurality of equal first level rectangular boxes at a first dividing level;

determining for each of the first level boxes whether the first level box is (a) entirely outside the geographic area; (b) entirely inside the geographic area; or (c) intersecting with the defined boundary;

for each of the first level boxes performing the following indexing steps:

if the first level box is (a) entirely outside the geographic area, then that box is discarded and it is not part of the indices;

if the first level box is (b) entirely inside the geographic area, then that box is added to the indices and is assigned an index number that is stored with the corresponding range of coordinates for that box;

if the first level box is (c) intersecting with the defined boundary then dividing that box into a plurality of equal second level rectangular boxes at the second dividing level;

repeating the determining and indexing steps for each of the second level boxes as described above for the first level boxes;

receiving the sample point for which a response is required as to whether the sample point is located within the geographic area;

comparing the sample point to the coordinate ranges of the indexed boxes to determine if the sample point is included in the indices;

if the sample point is within the indexed boxes then providing a response indicating that the sample point is within the geographic area; and

if the sample point is not within the indexed boxes then performing a full geometric analysis of the sample point in comparison to a geometry of the defined boundary.

2. The method of claim 1 wherein the step of repeating further comprises:

iteratively repeating the determining and indexing steps for a subsequent number of dividing levels until (1) there are no more boxes that intersect with the defined boundary, or (2) a maximum dividing level has been reached.

3. The method of claim 2 wherein the indexing step includes including the level of an indexed box as part of the index number.

4. The method of claim 1 further including, prior to the step of comparing the sample point to the coordinate ranges of the Indexed boxes, determining whether the sample point is inside or outside the boundary box; and

if the sample point is outside the boundary box, then providing an output indicating that the sample point is outside of the geographic area;

if the sample point is inside the boundary box, then proceeding with the comparing step and subsequent steps thereafter.

5. The method of claim 1 wherein conventional analysis includes comparing the sample point to a complete geometry of the defined boundary.

6. The method of claim 1 wherein multiple indices are generated for multiple layers of maps having different boundaries for a same physical location, and wherein the step of comparing the sample point to the coordinate ranges of the Indexed boxes is done concurrently for the multiple Indices.

7. The method of claim 6 wherein the multiple layers represent different types of insurance risks, and whereby the method determines whether the sample point is in located in designated risk zones in each of the respective layers.

8. A computer implemented method for determining whether a sample point is within a geographic area by generating indices for subdivided areas within the geographic area, and the geographic area having a defined boundary, the method comprising:

defining a geometric boundary shape that encloses the geographic area;

dividing the boundary shape into a plurality of equal first level shapes at a first dividing level;

determining for each of the first level shapes whether the first level shape is (a) entirely outside the geographic area; (b) entirely inside the geographic area; or (c) intersecting with the defined boundary;

for each of the first level shapes performing the following indexing steps:

if the first level shape is (a) entirely outside the geographic area, then that shape is discarded and it is not part of the indices;

if the first level shape is (b) entirely inside the geographic area, then that shape is added to the indices and is assigned an index number that is stored with the corresponding range of coordinates for that shape;

if the first level shape is (c) intersecting with the defined boundary then dividing that shape into a plurality of equal second level shapes at the second dividing level;

repeating the determining and indexing steps for each of the second level shapes as described above for the first level shapes;

receiving the sample point for which a response is required as to whether the sample point is located within the geographic area;

comparing the sample point to the coordinate ranges of the indexed shapes to determine if the sample point is included in the indices;

if the sample point is within the indexed shapes then providing a response indicating that the sample point Is within the geographic area; and

if the sample point is not within the indexed shapes then performing a full geometric analysis of the sample point in comparison to a geometry of the defined boundary.

9. The method of claim 8 wherein the step of repeating further comprises:

iteratively repeating the determining and indexing steps for a subsequent number of dividing levels until (1) there are no more shapes that Intersect with the defined boundary, or (2) a maximum dividing level has been reached.

10. The method of claim 9 wherein the indexing step includes including the level of an indexed shape as part of the index number.

11. The method of claim 8 further including, prior to the step of comparing the sample point to the coordinate ranges of the indexed shapes, determining whether the sample point is inside or outside the boundary shape; and

if the sample point is outside the boundary shape; then providing an output indicating that the sample point is outside of the geographic area;

if the sample point is inside the boundary shape, then proceeding with the comparing step and subsequent steps thereafter.

12. The method of claim 8 wherein conventional analysis includes comparing the sample point to a complete geometry of the defined boundary.

13. The method of claim 8 wherein multiple Indices are generated for multiple layers of maps having different boundaries for a same physical location, and wherein the step of comparing the sample point to the coordinate ranges of the indexed shapes is done concurrently for the multiple indices.

14. The method of claim 13 wherein the multiple layers represent different types of insurance risks, and whereby the method determines whether the sample point is in located in designated risk zones in each of the respective layers.

Assignments (13)
FIRST LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 17, 2025
From: PRECISELY SOFTWARE INCORPORATED; VISIONS SOLUTIONS, INC.; PITNEY BOWES SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072019/0370 →
SECOND LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 17, 2025
From: PRECISELY SOFTWARE INCORPORATED; VISIONS SOLUTIONS, INC.; PITNEY BOWES SOFTWARE INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 072019/0382 →
MERGER Recorded Mar 11, 2022
From: PITNEY BOWES SOFTWARE INC.
To: PRECISELY SOFTWARE INCORPORATED
Reel/Frame 059236/0593 →
FIRST LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 26, 2021
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: VISION SOLUTIONS, INC.; PRECISELY SOFTWARE INCORPORATED (F/K/A SYNCSORT INCORPORATED); PITNEY BOWES SOFTWARE INC.
Reel/Frame 056038/0001 →
SECOND LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 26, 2021
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: VISION SOLUTIONS, INC.; PRECISELY SOFTWARE INCORPORATED (F/K/A SYNCSORT INCORPORATED); PITNEY BOWES SOFTWARE INC.
Reel/Frame 056107/0233 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION. PATENT NUMBERS 10003946 AND 10119825 WERE INCORRECTLY DESIGNATED AS APPLICATION NUMBERS. PREVIOUSLY RECORDED ON REEL 052323 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF SECURITY INTEREST IN PATENTS. Recorded Apr 14, 2021
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: JEFFERIES FINANCE LLC, AS SUCCESSOR AGENT
Reel/Frame 056304/0891 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION. PATENT NUMBERS 10003946 AND 10119825 WERE INCORRECTLY DESIGNATED AS APPLICATION NUMBERS. PREVIOUSLY RECORDED ON REEL 052323 FRAME 0304. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF SECURITY INTEREST IN PATENTS. Recorded Apr 14, 2021
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: GOLUB CAPITAL MARKETS LLC, AS SUCCESSOR AGENT
Reel/Frame 056305/0117 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Apr 6, 2020
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: JEFFERIES FINANCE LLC, AS SUCCESSOR AGENT
Reel/Frame 052323/0254 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Apr 6, 2020
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: GOLUB CAPITAL MARKETS LLC, AS SUCCESSOR AGENT
Reel/Frame 052323/0304 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Dec 20, 2019
From: PITNEY BOWES SOFTWARE INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 051383/0336 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Dec 20, 2019
From: PITNEY BOWES SOFTWARE INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 051383/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2019
From: PITNEY BOWES INC.
To: PITNEY BOWES SOFTWARE INC.
Reel/Frame 051163/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2016
From: KANNAN, ANAND; KANE, ANDREW
To: PITNEY BOWES INC.
Reel/Frame 038290/0485 →