I have a requirement to spatially index each pixel of GeoTIFF images and store them in a scalable database. I intend to perform this in the following manner.
- Divide each GeoTIFF into smaller tile sizes (size could be configured) or into individual pixel and obtain spatial coordinates.
- Calculate spatial index for each tile/pixel (Quadtree index or Hilbert Space-Filling index or another suitable spatial index) and store pixels later in a HashMap or directly in a key-value database such as HBase.
Currently, I see Java libraries such as GeoTools are being used for GeoTIFF manipulation. But I am looking for a pure Java-based library. I am aware of Apache Commons Imaging. I didn't find it's capability to support spatial indexing. I don't intend to use GeoSpatial systems such as GeoTrellis, GeoMesa or GeoWave as my requirement is simple. Thus, I'm looking for an existing pure Java library (or a GitHub repository) that could support my requirement.
(Side note for people who have similar requirements. GeoTrellis could be a viable solution. Please check here and here for more information. Since my requirement cannot be bind to existing spatial system implementation, I am looking for a pure Java library.)