<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Hi,</p>
<p>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).</p>
<p>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
<a class="moz-txt-link-freetext" href="https://gdal.org/programs/gdalwarp.html#cmdoption-gdalwarp-to">https://gdal.org/programs/gdalwarp.html#cmdoption-gdalwarp-to</a></p>
<p>Even<br>
</p>
<div class="moz-cite-prefix">Le 23/03/2021 à 18:47, Bullinger,
Sebastian a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:e8f5b454711a48039405a1319dec4681@iosb.fraunhofer.de">
<div id="divtagdefaultwrapper" dir="ltr">
<div>Dear gdal community,<br>
<br>
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:<br>
<br>
gdalwarp -of GTiff path/to/original/file path/to/warped/file<br>
<br>
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.<br>
<br>
Presumably, the reason for this is that the original GCPs
reflect a transformation with skew factors.<br>
See the following transformations of the original and the
warped image. <br>
<br>
>>> import gdal<br>
>>> dataset = gdal.Open("path/to/original/file")<br>
>>> print(gdal.GCPsToGeoTransform(dataset.GetGCPs()))<br>
(-58.57294039342205, -3.991598267026281e-06, 0.0,
-34.451175177186684, -3.6492767328575985e-07,
3.1987810722132996e-06)<br>
<br>
>>> import gdal<br>
>>> dataset = gdal.Open("path/to/warped/file")<br>
>>> print(dataset.GetGeoTransform())<br>
(-58.577917916461026, 3.435846284510554e-06, 0.0,
-34.44693359348493, 0.0, -3.435846284510554e-06)<br>
<br>
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)<br>
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".<br>
<br>
I've searched the documentation for more information -
unfortunately without success.
<br>
For example, parameters like "-novshiftgrid" do not affect
this transformation.<br>
<br>
<span></span>It would be very helpful, if someone could shed
some light on the used "rectification".<br>
What kind of operation is applied? What would be the correct
term to search for?<br>
Is it "only" a decomposition of the transform? Or does <span>"gdalwarp</span>"
something else too?<br>
Is there a possibility to access this information, while using<span>
"gdalwarp</span>"? (Or can this operation also be done by
hand?)<br>
Does GDAL contain any functions to invert this "rectification"
step - given the corresponding transformation used by
"gdalwarp"?<br>
<br>
Best regards,<br>
Sebastian</div>
<br>
<p><br>
</p>
<div id="Signature">
<div>
<div>
<div>
<div><span lang="de">
<div><span lang="de"><span><span lang="en-US"><span
lang="de"><span><span lang="en-US">--</span></span></span></span></span></span><br>
<span><span lang="en-US">Dr. Sebastian Bullinger<br>
</span></span></div>
<div><span><span lang="en-US">Department Object
Recognition</span></span></div>
<div><span><span lang="en-US">Fraunhofer Institute
of
</span></span></div>
<div><span><span lang="en-US">Optronics, Sytem
Technologies and Image Exploitation IOSB</span></span></div>
<div><span>Gutleuthausstr. 1, 76275 Ettlingen,
Germany</span></div>
<div><span>Phone +49 7243 992-197</span></div>
<div><span><a
href="mailto:sebastian.bullinger@iosb.fraunhofer.de"
id="LPNoLP" moz-do-not-send="true">sebastian.bullinger@iosb.fraunhofer.de</a><br>
</span></div>
<div><span><a
href="https://webmail.iosb.fraunhofer.de/owa/redir.aspx?C=GM65JhP8Gk6mqlokIktWtqcWz_hm-dIIiaYxp7LDE5w39h4r54rwzTEQR1dXSKQtdNkO601Flpk.&URL=http%3a%2f%2fwww.iosb.fraunhofer.de%2f"
target="_blank" id="LPNoLP"
moz-do-not-send="true">www.iosb.fraunhofer.de</a></span></div>
</span></div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
</body>
</html>