Looking for an open-source Java based GeoTIFF library

Install OpenJUMP and study what all has been gathered into it

enter image description here

I have never really understood what all the alternatives are. ImageIO-ext is probably utilising native GDAL binaries if such are available but at least most other alternatives are pure java. There is also one more alternative in OpenJUMP called "Sextante raster" which is also pure java. Different drivers understand different tiff variants. Make a test data set with different compressions and try what works and what not. Sometimes the tiff needs to be geotiff with valid georeferencing, sometimes .tfw is enough and sometimes even an ungeoreferenced tiff opens.

GeoTools and GeoServer for sure can deal at least with some tiff variants without the ImageIO-ext extension. Install GeoServer without extensions and create new GeoTIFF raster stores from different tiffs and you will know what works and what not with GeoTools.

enter image description here


I believe that I have found an adequate solution that meets all of my requirements. Thanks to user30184's answer, which pointed me in the direction of ImageIO, I was able to find an alternative Java imaging library called Apache Commons Imaging. It is a pure-Java library that consists of a single small JAR file. It also supports both reading and writing of the TIFF file format and it has built-in support for GeoTIFF tags. It appears to handle all of the common compression formats as well. It's developed under the Apache License, which makes it available to be used within GPL licensed projects. It appears to check all of the requirements.