Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Which external drivers to support #65

Open
8 of 9 tasks
evetion opened this issue May 20, 2019 · 5 comments
Open
8 of 9 tasks

Which external drivers to support #65

evetion opened this issue May 20, 2019 · 5 comments
Labels

Comments

@evetion
Copy link
Member

evetion commented May 20, 2019

We build GDAL (https://github.com/JuliaPackaging/Yggdrasil/tree/master/G/GDAL) only with the most basic drivers/support for now. This includes:

Which drivers should we also include? See the raster and vector format lists on the GDAL website.

Note that it is not the goal to provide everyone with a GDAL build with all drivers. Many drivers see only little use and would increase both the build size and complexity of maintaining the build too much. Therefore it would be good to try to find a rather minimal build that includes enough drivers for most use cases.

If you do need an esoteric format that will not be included in the default build, this does not mean you cannot use this wrapper. If you provide your own build, you can simply point to that instead, see #64 (comment).

@visr
Copy link
Member

visr commented May 20, 2019

This is also a nice reference for what could consitute a good set of drivers to include: https://github.com/OSGeo/gdal/tree/master/docker

We should probably aim to cover ultrasmall first, then small.

@evetion
Copy link
Member Author

evetion commented May 20, 2019

UltraSmall

Raster drivers: VRT, GTiff, HFA, PNG, JPEG, MEM, JP2OpenJPEG, WEB, GPKG
Vector drivers: Shapefile, MapInfo, VRT, Memory, GeoJSON, GPKG, SQLite
External libraries enabled: libsqlite3, libproj, libcurl, libjpeg, libpng, libwebp, libzstd

Small

Raster drivers: ultrasmall + built-in + SQLite-based ones + network-based ones
Vector drivers: ultrasmall + built-in + most XML-based ones + network-based ones + PostgreSQL
External libraries enabled: ultrasmall + libexpat, libpq, libssl

Normal

Raster drivers: small + netCDF, HDF5, BAG
Vector drivers: small + Spatialite, XLS
External libraries enabled: small + libgeos, libhdf5, libhdf5, libkea, libnetcdf, libfreexl, libspatialite, libxml2, libpoppler

@yeesian
Copy link
Member

yeesian commented Sep 19, 2020

On the surface this issue looks complete based on #65 (comment). Are there remaining TODOs?

@visr
Copy link
Member

visr commented Sep 19, 2020

I think the remaining TODO's is completing and tracking UltraSmall as listed above, a few are stil missing from that, I believe libpng, libwebp, libzstd.

And next would be finishing Small. Although we also have a few items from Normal, such as libgeos. Would be good to update the OP with checkboxes for this though. (edit: done)

visr added a commit that referenced this issue Sep 19, 2020
referring to Yggdrasil and #65
@visr visr changed the title Which external drivers to support in GDALBuilder Which external drivers to support Sep 19, 2020
@visr visr added the build label Nov 21, 2020
@visr
Copy link
Member

visr commented Aug 19, 2022

It would be nice to have support for GeoArrow and GeoParquet as well. This was brought up in #136 (comment). But it would first require switching the build to CMake, which is something we should do soon anyway, since for GDAL 3.6 it will be the only option. EDIT: done in JuliaPackaging/Yggdrasil#5423

I saw conda-forge/gdal-feedstock#628 discussing about the possible advantages to build drivers that are large external dependencies as plugins. We might want to look into that as well for Arrow, Parquet and perhaps netCDF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants