<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi gdal community,</p>
<p>
Is there a way to implement the <code class="notranslate">projective</code>
transformation algorithm (Fig. 2) which is available in the QGIS
georeferencer to the <code class="notranslate">gdalwarp</code>
utility?</p>
<p dir="auto">we developed a tool to process sidescan sonar
(underwater acoustic imagery) data (open source, find the code
here: <a href="https://github.com/sonoware/sidescantools"
class="moz-txt-link-freetext">https://github.com/sonoware/sidescantools</a>).
These are roughly three steps:</p>
<ol dir="auto">
<li>Find bottom line</li>
<li>Do corrections for slant range & signal attenuation</li>
<li>convert to image, slice image into small chunks and do
chunk-wise georeferencing using gcps (script <a
href="https://github.com/sonoware/sidescantools/blob/main/sidescan_georeferencer.py">sidescan_georeferencer.py</a>)<br>
The last step uses <code class="notranslate">gdal_translate</code>
and gcps to georeference small chunks of the image and <code
class="notranslate">gdalwarp</code> for the tranformation to
geotiff. Right now we use <code class="notranslate">polynomial
1</code> as transformation algorithm but this, as it preserves
parallels, leaves gaps between the chunks (first pic). In QGIS,
there is an option <code class="notranslate">projective</code>
as tranformation algorithm (2nd pic), which does the trick but
is not implemented in gdal? At least I haven't found it (if I've
overseen something I'm terribly sorry for bothering!). I would
love to help if I can.</li>
</ol>
<p><a target="_blank" rel="noopener noreferrer"
href="https://private-user-images.githubusercontent.com/113985370/428065500-2cd555af-da25-4c0f-bfcb-dd2d91652adb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDMyNjc3MDksIm5iZiI6MTc0MzI2NzQwOSwicGF0aCI6Ii8xMTM5ODUzNzAvNDI4MDY1NTAwLTJjZDU1NWFmLWRhMjUtNGMwZi1iZmNiLWRkMmQ5MTY1MmFkYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMzI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDMyOVQxNjU2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YzM2OGU5MTU3MmRkZTdmOTQxN2M5YmQ4MjhmNzgyZGU4YWFlYjNiMjU5ZTZlZWNlMWExNjYyNDBmN2QwNjgxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.X5ZjNCazDDN-t04S6lv-5hx02SJZ5Q5Ioyzf29gsHBA"><img
width="923" alt="Image"
src="https://private-user-images.githubusercontent.com/113985370/428065500-2cd555af-da25-4c0f-bfcb-dd2d91652adb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDMyNjc3MDksIm5iZiI6MTc0MzI2NzQwOSwicGF0aCI6Ii8xMTM5ODUzNzAvNDI4MDY1NTAwLTJjZDU1NWFmLWRhMjUtNGMwZi1iZmNiLWRkMmQ5MTY1MmFkYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMzI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDMyOVQxNjU2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YzM2OGU5MTU3MmRkZTdmOTQxN2M5YmQ4MjhmNzgyZGU4YWFlYjNiMjU5ZTZlZWNlMWExNjYyNDBmN2QwNjgxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.X5ZjNCazDDN-t04S6lv-5hx02SJZ5Q5Ioyzf29gsHBA"
style="max-width: 100%;"></a></p>
<p><a target="_blank" rel="noopener noreferrer"
href="https://private-user-images.githubusercontent.com/113985370/428065552-824a5f1e-6146-4fb3-9467-338de1be217c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDMyNjc3MDksIm5iZiI6MTc0MzI2NzQwOSwicGF0aCI6Ii8xMTM5ODUzNzAvNDI4MDY1NTUyLTgyNGE1ZjFlLTYxNDYtNGZiMy05NDY3LTMzOGRlMWJlMjE3Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMzI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDMyOVQxNjU2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kODU0MGYzOWFkOTQ1ZDFmMTdmMTIwMjUxMzFlYzNmYzQwYjJlYTBlN2FjMTAzODE1OGJhNmI2M2NkNDA3NDdlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.MoaZNfZR90tHKJxhHIFreY9JDgcsSqAN7RqrjILGCxA"><img
width="453" alt="Image"
src="https://private-user-images.githubusercontent.com/113985370/428065552-824a5f1e-6146-4fb3-9467-338de1be217c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDMyNjc3MDksIm5iZiI6MTc0MzI2NzQwOSwicGF0aCI6Ii8xMTM5ODUzNzAvNDI4MDY1NTUyLTgyNGE1ZjFlLTYxNDYtNGZiMy05NDY3LTMzOGRlMWJlMjE3Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMzI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDMyOVQxNjU2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kODU0MGYzOWFkOTQ1ZDFmMTdmMTIwMjUxMzFlYzNmYzQwYjJlYTBlN2FjMTAzODE1OGJhNmI2M2NkNDA3NDdlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.MoaZNfZR90tHKJxhHIFreY9JDgcsSqAN7RqrjILGCxA"
style="max-width: 100%;"></a></p>
<p></p>
</body>
</html>