LocationTech Spatial4j has a fairly limited scope largely centered around geometric shape implementations:
- Define geometric shapes, both classic Euclidean/Cartesian two-dimensional ones and geodetic (surface-of-sphere) ones. Some sample shapes are: point, rectangle, circle (aka point-distance), polygon, linestring
- Compute the bounding box of a shape
- Compute the intersection case between a pair of shapes, especially where one of them is a point or rectangle. Intersection cases are intersects, contains, within, and disjoint.
- Compute the area of a shape
- Compute the distance between points (plus other misc. distance / angle calculations)
- Compute a geohash string for a point, and vice-versa, and compute the rectangle for a geohash, (plus other misc. geohash calculations)
- Encode and decode a shape to and from a serialized representation. An example is Well Known Text (WKT).