Spatial Index Range Union Computation Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing relational database systems are inefficient when computing the union of bounding boxes filtered by entity criteria, as they often rely on a brute-force approach that processes all entities, wasting resources and causing latency, especially on devices with limited computing power or large databases.

Innovation Solution

A technique that creates a backchannel object to maintain a current range union result and the most recent bounding box tested, excluding targets whose bounding boxes are completely contained within the current result and only testing entities that meet the filtering criteria, thereby avoiding unnecessary comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a brute-force approach is used to compute the union of bounding boxes filtered by entity criteria, then all entities are processed to ensure completeness, but processing time and computational resources are wasted on entities that cannot contribute to the final result

Engineering Contradiction:
Improvecompleteness of range union resultVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing a bounding box containment test before evaluating entity criteria. The system checks whether a target's bounding box is completely contained within the current range union result, and if so, excludes it from further processing. This preliminary spatial filter prevents wasted computation on entities that cannot contribute to the final range union, while maintaining completeness by only excluding entities that are spatially redundant.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If entity filtering criteria are applied to all entities in the spatial index, then accurate filtered results are obtained, but unnecessary comparisons increase processing overhead

Engineering Contradiction:
Improveaccuracy of filtered resultsVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the filtering process into two distinct stages: (1) a spatial pre-filtering stage that uses bounding box containment tests to identify potentially contributing entities, and (2) a criteria evaluation stage that applies entity filtering criteria only to those pre-selected entities. This segmentation dramatically reduces the number of criteria evaluations needed while ensuring accuracy, as the spatial filter eliminates only entities that are spatially redundant.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If the spatial index structure (R-tree) is fully traversed to ensure all entities are considered, then complete results are achieved, but the complexity and time consumption increase significantly

Engineering Contradiction:
Improvecompleteness of entity coverageVSAvoidquery processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent integrates a preliminary bounding box containment check into the R-tree traversal process. As the query descends through the R-tree levels, each target node and entity is first tested against the current range union result using bounding box containment. Only targets that pass this preliminary spatial test proceed to criteria evaluation and potential inclusion in the result. This maintains complete entity coverage while simplifying the processing logic by early-excluding redundant targets.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8751526B1Efficient range unions in SQL
Publication Date: 2014.06.10 BENTLEY SYSTEMS INC
  • US8751526B1 patent drawing
  • US8751526B1 patent drawing
  • US8751526B1 patent drawing

AI summary

In one embodiment, a union of the bounding boxes is computed of entities in a relational database indexed by a spatial index, filtered according to some criteria. For each of a set of targets to be considered, a bounding box of the target is tested against a current range union result. If the bounding box is completely contained in the current range union result, the target is excluded from further consideration. Otherwise, the target is processed. When the target is an entity, it is determined whether the entity meets the entity filtering criteria. If so a union is computed and the current range union result updated. When each of the targets to be considered in the spatial index has been subject to test or excluded, the current range union result is returned as a final range union result.