Skip to content

Proper Handling of Empty Geometries #1013

@bmendell

Description

@bmendell

There is a problem with creating and using an empty geometry. This can occur when the intersection of the query geometry with the stats for the bounding box of the data that has been ingested and there is no overlap. Here's where the intersection is happening: http://github.com/ngageoint/geowave/blob/master/extensions/adapters/vector/src/main/java/mil/nga/giat/geowave/adapter/vector/util/QueryIndexHelper.java#L162.

Of a lower priority, empty geometries need to be properly handled. When a query geometry is empty, Geowave should throw an "Illegal Geometry" Exception instead of the exception created by the WKBWriter. This should be done with the GeometryUtils.geometryToBinary() method at https://github.com/ngageoint/geowave/blob/0ffd32205d8be17ac4fc7faf792b3c2e9861ba2d/core/geotime/src/main/java/mil/nga/giat/geowave/core/geotime/GeometryUtils.java#L249 and any code using that method should handle the exception. That way, any methods creating queries that result in empty geometries will have to handle the error (either throw an exception or return no data).

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