Manipulating GeoTIFF Files

Hi everyone,

I need some advice please.
This is something I have coded in C++ in years past - but would like to implement in Xojo.

Basically…I want to manipulate satellite images that are in GeoTIFF format. They are all identical - only the wavelength is different for each file (Red, Blue, Green, Near-Infrared…etc). I want to calculate products from them using simple formulas. For example - NDVI (a measure of photosynthesis):

NDVI = (NIR - RED) / (NIR + RED)

So…if I have two GeoTIFF images (RED and NIR) and I want to create a new GeoTIFF output file called NDVI…is there a library available that retains the georeferenced values stored in the header that might be needed by users wanting to inport the product (NDVI in this example) into a Geographical Information System (GIS) package?

Many thanks

Googling told me this about GeoTIFF:
" GeoTIFF is format extension for storing georeference and geocoding information in a TIFF 6.0 compliant raster file by tying a raster image to a known model space or map projection. A GeoTIFF file is a TIFF 6.0 [TIFF_6] file, and inherits the file structure as described in the corresponding portion of the TIFF spec. The GeoTIFF format uses a defined set of TIFF tags to describe cartographic information associated with TIFF imagery that originates from satellite imaging systems, scanned aerial photography, scanned maps, digital elevation models, or as a result of geographic analyses."

If you have the MBS plugins the TiffPictureMBS class will probably have everything you need.

1 Like

Thanks Keving. My existing knowledge of the GeoTIFF file structure is pretty good…just not the Xojo-specific tools to manipulate them. I will explore the MBS plugin you mention.