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.bullin...@iosb.fraunhofer.de
<mailto:sebastian.bullin...@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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev