Planetary-scale answers, unlocked.
A Hands-On Guide for Working with Large-Scale Spatial Data. Learn more.
A GeoTIFF is a TIFF image file that carries georeferencing metadata in standardized tags, so each pixel maps to a coordinate on Earth. The tags record the coordinate reference system, the pixel size, and the position of the grid origin. A Cloud Optimized GeoTIFF (COG) arranges the same file so clients can read parts of it over HTTP.
GeoTIFF is the dominant file format for raster geospatial data. It extends the Tagged Image File Format, an image standard from 1986, with tags that describe where the image sits on the Earth.
The format began in the 1990s as a community specification and became OGC GeoTIFF Standard 1.1 in 2019, which fixed the tag definitions and their meaning.
The defining property is that a GeoTIFF is still a valid TIFF. Any TIFF reader opens the pixels; a geospatial reader also reads the tags and places them.
Three tags do the work. ModelPixelScaleTag gives the ground size of a pixel, and ModelTiepointTag ties a pixel to a ground coordinate. GeoKeyDirectoryTag encodes the coordinate reference system, usually as an EPSG code.
A GeoTIFF can hold one band or many, in integer or floating point, with a NoData value, compression, and internal tiling. BigTIFF lifts the 4 GB size limit of classic TIFF.
GeoTIFF carries almost every raster dataset in Earth observation from producer to analyst.
Satellite agencies deliver Landsat and Sentinel-2 scenes as GeoTIFF, one file per band. Elevation programs deliver DEM tiles as single-band GeoTIFF.
Weather and climate teams export model output as GeoTIFF for GIS users who cannot read GRIB or NetCDF.
Analysts write derived products such as NDVI, classified land cover, and flood depth back to GeoTIFF.
Web map servers read COGs directly from object storage and serve tiles from them.
Machine learning pipelines read training chips and write prediction rasters as GeoTIFF, since every raster library reads it.
The format’s job is interchange. A GeoTIFF written by one tool opens in every other, with its georeferencing intact.
A GeoTIFF is a TIFF with three layers of structure: the image data, the TIFF tags, and the geo tags.
Image data is stored as strips or tiles. Strips are rows of pixels written in sequence; tiles are square blocks, typically 256 or 512 pixels, which allow a reader to fetch one region without reading the rows above it.
Compression applies per strip or tile. LZW and Deflate are lossless and universal, while ZSTD and LERC are faster or smaller but need newer readers.
Overviews are downsampled copies of the image stored inside the file at 2x, 4x, 8x and so on. A viewer at continental zoom reads the smallest overview instead of billions of full-resolution pixels.
A Cloud Optimized GeoTIFF is a GeoTIFF whose internal layout follows rules. The header and tile index sit at the front, the image is internally tiled, and overviews are present, so a client reads the header with one request and then fetches only the tiles for its view.
A 50 GB COG in object storage serves a 512 by 512 window in a few range requests, with no download and no server-side process.
WherobotsDB reads GeoTIFF as a native raster type and writes it back, including as Cloud Optimized GeoTIFF.
RS_FromGeoTiff loads a file’s bytes into an in-db raster stored in the table. RS_FromPath creates an out-db raster, a reference to the GeoTIFF in S3, and reads tiles only when a function touches them. For a COG, that means range requests for the tiles a query needs and nothing else.
Havasu, the Apache Iceberg table format extended with a native raster type, stores millions of GeoTIFF references as rows with metadata columns, and pushes spatial filters into the scan so a query for one county reads only intersecting files.
RS_ functions then operate directly. RS_MapAlgebra, RS_Clip, RS_Resample, RS_Tile, and RS_ZonalStats each run in parallel across every raster in the table.
Writers close the loop. RS_AsGeoTiff serializes a raster to GeoTIFF bytes, and RS_AsCOG writes a Cloud Optimized GeoTIFF with tiling and overviews. Results land in the customer’s S3 bucket ready for any other tool.
The STAC reader registers every GeoTIFF asset in a catalog as an out-db raster in one step.
Because raster and vector data share one engine, a GeoTIFF joins to parcels or buildings in the query that reads it. WherobotsDB is built by the original creators of Apache Sedona, 100% code compatible across all spatial functions.
-- Register COGs in S3 as out-db rasters, clip to a boundary, write the result back as COG WITH scenes AS ( SELECT scene_id, RS_FromPath(path) AS rast FROM eo.scene_index ), aoi AS ( SELECT geometry FROM boundaries WHERE name = 'Study Area' ) SELECT s.scene_id, RS_AsCOG(RS_Clip(s.rast, 1, aoi.geometry)) AS cog_bytes FROM scenes s CROSS JOIN aoi WHERE RS_Intersects(s.rast, aoi.geometry);
Query and write Cloud Optimized GeoTIFFs in SQL with WherobotsDB on the free tier at cloud.wherobots.com.
A TIFF is an image file with pixels and general metadata. A GeoTIFF is a TIFF that adds standardized tags describing the coordinate reference system, pixel size, and grid origin, so each pixel maps to a location on Earth. Every GeoTIFF is a valid TIFF; a plain TIFF has no georeferencing.
A Cloud Optimized GeoTIFF (COG) is a GeoTIFF arranged for reading over HTTP. It is internally tiled, includes overviews, and places its header and tile index at the front of the file, so a client fetches the header in one range request and then only the tiles it needs. The OGC standardized COG in 2023.
GeoTIFF opens in any geospatial tool: QGIS and ArcGIS Pro for desktop, GDAL and rasterio for programming, and WherobotsDB, PostGIS, and other spatial databases for analytics. Because a GeoTIFF is a valid TIFF, image editors also open the pixels, though they ignore the georeferencing and may not handle multi-band or floating-point data.
Yes, a GeoTIFF can hold many bands, each a separate layer of pixel values with the same grid, and each band can carry its own NoData value. Satellite scenes often store bands as separate single-band GeoTIFF files instead, so each can be read independently. Readers address bands by index, starting at 1.
What is LiDAR Data? Point Clouds, Formats, Uses
What is LiDAR data? LiDAR data is the set of 3D points produced by a laser scanner that times the return of each pulse to measure distance. Each point has x, y, z coordinates plus intensity and a classification such as ground, building, or vegetation. Airborne LiDAR data maps terrain and structures at centimeter to […]
What is Landsat? Satellites, Bands, Data Access
What is Landsat? Landsat is the joint USGS and NASA satellite program that has imaged the Earth’s land surface continuously since 1972, the longest such record in existence. Landsat 8 and Landsat 9 currently deliver 30 m multispectral and 100 m thermal imagery every 8 days combined. All Landsat data is free and open. What […]
What is Hyperspectral Imagery? vs Multispectral
What is hyperspectral imagery? Hyperspectral imagery is imagery that records a continuous spectrum for every pixel, typically 100 to 300 narrow bands 5 to 10 nanometers wide across visible, near-infrared, and shortwave infrared light. Multispectral imagery records 3 to 15 broad bands. The extra spectral detail lets analysts identify minerals, crops, plastics, and gases by […]
share this article
Awesome that you’d like to share our articles. Where would you like to share it to: