<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 14, 2015 at 2:23 PM, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Le vendredi 14 août 2015 19:15:44, Ivan Castellucci Vidal a écrit :<br>
> Thanks Even!<br>
><br>
> That's exactly what I was looking for and I just have one question about<br>
> it. GDAL documentation states: "Due to imprecision in the calculations the<br>
> fit algorithm will often return non-zero rotational coefficients even if<br>
> given perfectly non-rotated inputs"<br>
><br>
> Is there a way to use a more precise algorithm?<br>
<br>
</span>The algorithm is mostly a least square regression. There are also a few<br>
heuristics to force the rotational coefficients to 0 in a few situations, like<br>
when there are 4 GCPs that form a rectangle. But since you mentionned that<br>
your images would have rotation, that shouldn't be much of a concern I think.<br>
Anyway in cases where the theory should be perfect 0, the values got in<br>
practice should be sufficiently close to zero for most practical purposes.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>Thanks for your help, Even<br><br></div><div>Your help was really valuable<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<br>
> It's not a requirement by<br>
> now since this program is in development but at some point I'll need to<br>
> count with the maximum possible precision to make it work in a production<br>
> release.<br>
><br>
><br>
> On Fri, Aug 14, 2015 at 1:22 PM, Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>><br>
><br>
> wrote:<br>
> > > Instead of warping the image, you could compute a geotransformation<br>
> ><br>
> > matrix<br>
> ><br>
> > > that would include rotational terms with GDALGCPsToGeoTransform()<br>
> > ><br>
> > > <a href="http://www.gdal.org/gdal_8h.html#ae44b32f08d61072dddbdd30ac8ca962b" rel="noreferrer" target="_blank">http://www.gdal.org/gdal_8h.html#ae44b32f08d61072dddbdd30ac8ca962b</a><br>
> > ><br>
> > > and set it to your geotiff with GDALSetGCPs()<br>
> > ><br>
> > > <a href="http://www.gdal.org/gdal_8h.html#acd47aa85ca5751fbe9ea09c1a2341ef8" rel="noreferrer" target="_blank">http://www.gdal.org/gdal_8h.html#acd47aa85ca5751fbe9ea09c1a2341ef8</a><br>
> ><br>
> > Arg, sorry I meant with GDALSetGeoTransform() of course :<br>
> > <a href="http://www.gdal.org/gdal_8h.html#ae93448112c1a7e69f2764c1aa3c6c8b5()" rel="noreferrer" target="_blank">http://www.gdal.org/gdal_8h.html#ae93448112c1a7e69f2764c1aa3c6c8b5()</a><br>
> ><br>
> > GDALSetGCPs() is to set the "raw" GCPs.<br>
> ><br>
> > --<br>
> > Spatialys - Geospatial professional services<br>
> > <a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
> > _______________________________________________<br>
> > gdal-dev mailing list<br>
> > <a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
> > <a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
<br>
--<br>
Spatialys - Geospatial professional services<br>
<a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Iván Castellucci Vidal</div>
</div></div>