Skip to content

Ingest optimization, replacing the use of the Geometry.buffer #451

@rwgdrummer

Description

@rwgdrummer

During ingest, the index returns a set of insertion IDs for a given geometry. Each ID is associated with a grid cell. The system checks to see if each grid cell intersects the geometry. Up to four grid cells are returned (quad) if the geometry does not fit into one grid cell. In oddly shaped geometries, not all four grid cells may intersect.

The intersection logic built a small (EPSILON) buffer around the grid cell using the Geometry.buffer to compensate for precision errors. In this simple case, this turns out to be very expensive. Instead, the replacement extends grid cell boundaries by adding/subtracting EPSILON boundaries manually.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions