mmomtchev / node-gdal-async

Node.js bindings for GDAL (Geospatial Data Abstraction Library) with full async support
https://mmomtchev.github.io/node-gdal-async/
Apache License 2.0
129 stars 26 forks source link

Can't read GRIB datasets that require libaec for decompression #168

Open cjriley-opensnow opened 1 month ago

cjriley-opensnow commented 1 month ago

Some GRIB datasets require GDAL to be built against libaec because they use a specific type of compression. GDAL added support for this in version 3.8, and it seems to generally be enabled on the widely available binaries. Would it be possible to add support for this? And if the maintainers aren't able to take on this work, could someone point me in the right direction to add libaec to the build so I can submit a PR?

GDAL PR where support was added: https://github.com/OSGeo/gdal/pull/8108

libaec: https://gitlab.dkrz.de/k202009/libaec

Thanks

mmomtchev commented 1 month ago

GDAL for JavaScript is a very old first generation C++ addon for Node.js and adding a new library means rewriting its build system to use node-gyp - on all supported platforms. It is a very significant undertaking.

If one day there is a new GDAL for JavaScript - one that uses SWIG and a hadron-based CMake build - this won't be a problem anymore.

However this requires a huge investment of time and given my current situation with the GIS community, it is a very unlikely project anytime soon.

If you need any of the less common options, the best solution is to rebuild the addon using your own system-installed GDAL instead of the bundled version.