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.

  1. Divide each GeoTIFF into smaller tile sizes (size could be configured) or into individual pixel and obtain spatial coordinates.
  2. 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.)

  • which spatial database are you using?
    – Mapperz
    Nov 2, 2020 at 21:45
  • hi @Vince, I'm new to this. Could you please explain what do you mean by the 'envelope'? Thanks!
    – CoolCK
    Nov 2, 2020 at 21:55
  • @Mapperz I intend to use HBase.
    – CoolCK
    Nov 2, 2020 at 21:56
  • 1
    I've deleted a comment from this question which described some of its content as insane. That goes against the Code of Conduct: "Focus on the content, not the person. This includes terms that feel personal even when they're applied to content (e.g. “lazy”)."
    – PolyGeo
    Nov 2, 2020 at 23:42
  • 1
    see gis.stackexchange.com/questions/352571/… for a discussion on GeoTools and tiles
    – Ian Turton
    Nov 3, 2020 at 13:51


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.