[gdal-dev] Computing a geo-transform with gdalwarp from a set of GCPs also rectifies the input images

Bullinger, Sebastian sebastian.bullinger at iosb.fraunhofer.de
Tue Mar 23 10:47:43 PDT 2021


Dear gdal community,

I'm currently working with a set of satellite images that are geo-registered with a set of GCPs. To compute a geo-transform from the GCPs, I've been using gdalwarp with:

gdalwarp -of GTiff path/to/original/file path/to/warped/file

While "gdalwarp" correctly computes a transformation from the GCPs, at the same it also performs some kind of rectification / north-up image transformation. I'm not sure about the applied operation.

Presumably, the reason for this is that the original GCPs reflect a transformation with skew factors.
See the following transformations of the original and the warped image.

>>> import gdal
>>> dataset = gdal.Open("path/to/original/file")
>>> print(gdal.GCPsToGeoTransform(dataset.GetGCPs()))
(-58.57294039342205, -3.991598267026281e-06, 0.0, -34.451175177186684, -3.6492767328575985e-07, 3.1987810722132996e-06)

>>> import gdal
>>> dataset = gdal.Open("path/to/warped/file")
>>> print(dataset.GetGeoTransform())
(-58.577917916461026, 3.435846284510554e-06, 0.0, -34.44693359348493, 0.0, -3.435846284510554e-06)

The "rectification" result is very convenient, since it allows to use the images with an existing satellite image segmentation pipeline (which tiles the satellite images using geo-tiles)
However, in order to overlay the segmentations (performed on the "rectified" images) with the original images, I need some information about the transformation applied during "gdalwarp".

I've searched the documentation for more information - unfortunately without success.
For example, parameters like "-novshiftgrid" do not affect this transformation.

It would be very helpful, if someone could shed some light on the used "rectification".
What kind of operation is applied? What would be the correct term to search for?
Is it "only" a decomposition of the transform? Or does "gdalwarp" something else too?
Is there a possibility to access this information, while using "gdalwarp"? (Or can this operation also be done by hand?)
Does GDAL contain any functions to invert this "rectification" step - given the corresponding transformation used by "gdalwarp"?

Best regards,
Sebastian



--
Dr. Sebastian Bullinger
Department Object Recognition
Fraunhofer Institute of
Optronics, Sytem Technologies and Image Exploitation IOSB
Gutleuthausstr. 1, 76275 Ettlingen, Germany
Phone +49 7243 992-197
sebastian.bullinger at iosb.fraunhofer.de<mailto:sebastian.bullinger at iosb.fraunhofer.de>
www.iosb.fraunhofer.de<https://webmail.iosb.fraunhofer.de/owa/redir.aspx?C=GM65JhP8Gk6mqlokIktWtqcWz_hm-dIIiaYxp7LDE5w39h4r54rwzTEQR1dXSKQtdNkO601Flpk.&URL=http%3a%2f%2fwww.iosb.fraunhofer.de%2f>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20210323/23a6c141/attachment-0001.html>


More information about the gdal-dev mailing list