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

Even Rouault even.rouault at spatialys.com
Thu Mar 25 09:08:01 PDT 2021


Hi,

When creating an output file from scatch (either it doesn't exist, or 
-overwrite is used), gdalwarp will always produce a "north-up" image in 
the target CRS. This is by design of the utility. If you just want to 
subset, preserving the original orientation, use gdal_translate. In 
update mode of an existing target dataset however, gdalwarp will use the 
georeferencing attached to the target (so potentially not north-up).

How gdalwarp rectifies depends on content of the source dataset (GCP, 
geolocation arrays, RPCs), user switches and default behaviours. For a 
source dataset with GCPs, if you have < 6 GCPs, a linear fit will be 
used by default. For >= 6 GCPs, a 2nd order polynomial fit will be used. 
You may also use the -tps switch to ask for thin plate splines. The -to 
switch can also be used for finer control: see link pointed by 
https://gdal.org/programs/gdalwarp.html#cmdoption-gdalwarp-to

Even

Le 23/03/2021 à 18:47, Bullinger, Sebastian a écrit :
> 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>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
http://www.spatialys.com
My software is free, but my time generally not.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20210325/93bc1856/attachment-0001.html>


More information about the gdal-dev mailing list