Global Grid Indexing Library Vectorization for Faster Geospatial Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing geospatial libraries require significant processing time and capacity for functions that operate on geospatial cells, necessitating improvements in vectorization to enhance computational efficiency.

Innovation Solution

The implementation of vectorization techniques in geospatial libraries, such as decomposing operations into validation and evaluation steps, using bitwise operations, and custom kernels, to generate optimized code that allows parallel processing of multiple operands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional geospatial library functions are used to operate on geospatial cells, then the functions can be implemented with standard processing, but the processing time and computational capacity required are significant

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments geospatial operations into distinct validation and evaluation steps. The validation step checks geometric properties and relationships, while the evaluation step performs the actual computation. This segmentation allows each step to be optimized independently and enables parallel processing of multiple geospatial cells simultaneously, significantly improving processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the computational parameters by implementing custom kernels that operate on vectorized data structures. Instead of processing single geospatial cells sequentially, the system processes batches of cells using optimized mathematical operations, changing the parameter from scalar to vector operations. This parameter change enables parallel execution and reduces overall execution time.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If standard processing methods are used for geospatial functions, then implementation is straightforward, but computational efficiency is reduced

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidcode complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By dividing geospatial operations into validation and evaluation phases, the patent creates modular code structures that are easier to maintain and optimize. Each phase has a specific purpose and can be implemented with targeted optimizations without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces traditional sequential processing mechanisms with vectorized parallel processing mechanisms. Custom kernels implement efficient mathematical operations that substitute for slower standard library functions, improving computational efficiency while maintaining code organization through clear separation of validation and evaluation logic.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12450043B2Efficiently vectorized implementation of operations in a global grid indexing library
Publication Date: 2025.10.21 DATABRICKS INC
  • US12450043B2 patent drawing
  • US12450043B2 patent drawing
  • US12450043B2 patent drawing

AI summary

A data processing service generates for iteratively applying a geospatial function to geospatial data. The generated code includes at least a first iterative loop and a second iterative loop. The data processing service compiles the generated code to generate compiled code that vectorized at least the second iterative loop. The data processing service receives a request from a client device to perform one or more data processing operations including applying the geospatial function to a data table of geospatial cell indices. The data processing service compiles the request into one or more tasks including at least a vectorized operation based on the compiled code and executes the one or more tasks by at least invoking the vectorized operation on the set of worker nodes.