You could use osr's CoordinateTransformation to evaluate the new location of 
the four corners in the destination spatial reference:

From there a min/max on the four coordinates will give you the extent of the 
new image space.

If the input and output CRS are very dissimilar you might want to evaluate a 
regular grid instead to get a more representative extent.

Benjamin Deschamps 

Physical Sciences Specialist
Canadian Ice Service, Meteorological Service of Canada
Environment and Climate Change Canada / Government of Canada / Tel: 613-943-4293 

Spécialiste des sciences physiques
Service Canadien des Glaces, Service Météorologique du Canada, 
Environnement et Changement climatique Canada / Gouvernement du Canada / Tél. : 613-943-4293

-----Original Message-----
From: Bang Pham Huu [] 
Sent: May 17, 2018 5:34 AM
Subject: [gdal-dev] How to estimate the width/height size of output image in a 
target CRS without running gdalwarp?


I have a hard problem to find the width/height of a 2D GeoTiff file which is 
reprojected from a source CRS (e.g: EPSG:4326) to target CRS
(e.g: EPSG:3857) without running gdalwarp. Because, the file could be large 
(GBs) and I don't need the projected output file, just need the width/height of 

What could be done with gdalwarp is:

gdalwarp  -s_srs EPSG:4326 -t_srs EPSG:3857 full.tif full_3857.tif

gdalinfo full_3857.tif

Size is 879, 811 (width/height).

I've searched a lot and what seems to be good without doing the real projection 
is this gdal function: GDALSuggestedWarpOutput2
However, it doesn't help because my application developed in Java and it uses 
gdal-java (GDAL JNI)
as library. Unfortunately, I cannot find this GDALSuggestedWarpOutput2() from 
gdal-java then cannot invoke this 
C++ function from my application to test.

Can anyone please give me a hint to solve this problem?


gdal-dev mailing list

Reply via email to