A Java library providing geohash encoding, decoding, and bounding box utilities for efficient location-based queries.
Geo is a Java utility library for geohashing, providing methods to encode and decode geographic coordinates into compact string representations. It solves performance issues in spatial queries by enabling efficient bounding box searches in databases, reducing the need for multiple inequality conditions.
Java developers building location-based applications or services that require efficient spatial indexing and querying, such as those working with large datasets of geographic events.
Developers choose Geo for its high performance, thread-safe design, and comprehensive feature set tailored to optimizing geospatial database queries, offering a robust alternative to manual geohash implementations.
Geohash utitlies in java
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Achieves ~3 million GeoHash.encodeHash calls per second on modern hardware, enabling efficient processing for large-scale spatial datasets.
Exposes no mutable types in its API and is explicitly marked as threadsafe, allowing safe concurrent usage without external synchronization.
Provides a full suite of methods for encoding, decoding, adjacent hash calculation, bounding box coverage, and hash dimension computations, covering essential geohash operations.
Features a simple API with detailed javadoc and 100% unit test coverage, facilitating reliable integration and debugging.
Focuses exclusively on geohash operations, lacking support for other spatial data types or advanced queries like nearest neighbor searches, which may require additional libraries.
Requires manual adjustment of parameters like maxHashes for bounding box coverage, which the README notes can be database-dependent and non-trivial to optimize.
Does not offer direct integration with spatial databases, leaving developers to implement indexing and query strategies themselves, as highlighted in the bounding box search examples.