Ray Intersection Indexing for Point-in-Polygon Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for solving the point-in-polygon problem, such as the crossing number (CN) technique, are computationally expensive and inefficient when processing large GIS boundary datasets against a small number of data points, especially due to the need to iterate over numerous vertices in each polygon.

Innovation Solution

A new indexing technique that involves casting horizontal rays from polygon segments onto a reference line, storing intersected segments, and using a sorted point structure to retrieve intersected segments for a given point, allowing direct application of the CN technique without iterating through polygon boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the crossing number (CN) technique is used to solve the point-in-polygon problem, then the problem can be solved with a straightforward algorithm, but the computational complexity increases significantly when processing large GIS boundary datasets

Engineering Contradiction:
Improvealgorithm simplicityVSAvoidprocessing speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-processing the polygon boundary data into an optimized data structure that stores vertex coordinates in a sorted array format. This pre-processing step organizes the geometric data beforehand, allowing the CN technique to execute efficiently without iterating through all vertices during actual point-in-polygon testing. The sorted array structure enables direct calculation of relevant vertices based on the point's angular position, dramatically reducing computational complexity for large datasets.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the CN technique is applied to each data point against large GIS boundary datasets, then complete coverage is achieved, but processing time increases due to iteration over numerous vertices

Engineering Contradiction:
Improveproblem solving accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the polygon boundary into angular segments radiating from the test point. Instead of iterating through all vertices sequentially, the sorted array structure allows the algorithm to segment the vertex set based on angular position, directly accessing only the relevant vertices that form the polygon boundary in the angular sweep direction. This segmentation dramatically reduces the number of vertices processed while maintaining complete geometric coverage for accurate point-in-polygon determination.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If brute force CN technique is used with hundreds of thousands of vertices per state boundary, then all boundary points are considered, but computational expense becomes prohibitive

Engineering Contradiction:
Improvegeographic boundary accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming the polygon boundary representation from a sequential vertex list into a sorted array structure organized by angular position relative to the test point. This parameter reorganization changes how vertices are accessed during CN calculation, allowing direct computation of the crossing number based on angular sweeps rather than sequential iteration. The transformed data structure maintains complete geographic boundary accuracy while reducing computational complexity from O(n) to O(log n) or better for each point-in-polygon test.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10860624B2Using ray intersection lists to visualize data points bounded by geometric regions
Publication Date: 2020.12.08 CISCO TECHNOLOGY INC
  • US10860624B2 patent drawing
  • US10860624B2 patent drawing
  • US10860624B2 patent drawing

AI summary

A system that displays geographic data is disclosed. The system obtains polygons that define a set of geographic regions. Then, the system projects rays from endpoints of the line segments that define the polygons onto a reference line to form intersection points. For each interval between pairs of consecutive intersection points on the reference line, the system keeps track of open line segments that project onto the interval. For each data point in a set of data points, the system identifies a relevant interval on the reference line that the data point projects onto, and performs a crossing number operation to identify polygons that the data point falls into, and the system increments a count for each polygon that the data point falls into. Finally, the system displays the set of geographic regions in a manner that indicates a number of data points that fall into each geographic region.