[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