<div dir="ltr"><div>Hi Thomas,</div><div><br></div><div>Congratulations! These look like great projects.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 4, 2021 at 4:07 AM thomas bonfort <<a href="mailto:thomas.bonfort@gmail.com">thomas.bonfort@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello gdal,<br>
<br>
We're releasing two projects on github under an Apache-2.0 licence<br>
which may be of interest to the GDAL community.<br>
<br>
The first one, <a href="https://github.com/airbusgeo/cogger" rel="noreferrer" target="_blank">https://github.com/airbusgeo/cogger</a> is a lightweight<br>
geotiff to COG converter that reshuffles the bytes of a tiled geotiff<br>
to make it cloud compatible. Whereas it does not replace the standard<br>
gdal tools for initially creating a geotiff, it is much faster than<br>
the last "-co COPY_SRC_OVERVIEWS=YES" classical gdal_translate method<br>
for outputting a cog, and also allows more flexibility when varying<br>
compression methods or tile sizes need to applied on overviews. Cogger<br>
can be used as a standalone command line tool, or as a go library<br>
function for interacting with remote storage without the need for<br>
local files.<br>
<br>
The second one, <a href="https://github.com/airbusgeo/godal" rel="noreferrer" target="_blank">https://github.com/airbusgeo/godal</a> is a golang wrapper<br>
for GDAL's raster api. While there is an already established golang<br>
wrapper for gdal that exists (<a href="https://github.com/lukeroth/gdal" rel="noreferrer" target="_blank">https://github.com/lukeroth/gdal</a>), godal<br>
differs by offering:<br>
- robust error handling and reporting<br>
- a stable compatible api promise (to the extent of what is possible<br>
to achieve given gdal's own api)<br>
- a vsi abstraction that hands off i/o to native golang code<br>
- a more user-friendly API that is not an exact mirror of the gdal<br>
api, making lesser used functionality optional. (For example, instead<br>
of the GDALOpen, GDALOpenEx and GDALOpenShared methods, godal exposes<br>
a single Open() method with optional arguments validated at compile<br>
time to pass in open options, shared mode, sibling files, etc...)<br>
Although the raster handling side of godal is mostly feature complete<br>
with gdal, the vector and spatial-referencing part is not.<br>
<br>
Outside contributions to both these projects are welcome through github.<br>
<br>
Best regards,<br>
Thomas<br></blockquote><div><br></div><div>I'm very interested in "a vsi abstraction that hands off i/o to native golang code". </div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Sean Gillies</div></div></div>