Skip to content

feat(sedona-gdal): add high-level safe GDAL API wrappers#682

Draft
Kontinuation wants to merge 2 commits intoapache:mainfrom
Kontinuation:feat/sedona-gdal-safe
Draft

feat(sedona-gdal): add high-level safe GDAL API wrappers#682
Kontinuation wants to merge 2 commits intoapache:mainfrom
Kontinuation:feat/sedona-gdal-safe

Conversation

@Kontinuation
Copy link
Member

@Kontinuation Kontinuation commented Mar 3, 2026

Summary

  • Add safe Rust wrappers on top of the dynamically loaded GDAL bindings from feat(sedona-gdal): add crate with dynamically loaded GDAL bindings #681.
  • Includes: Dataset, Driver/DriverManager, RasterBand, SpatialRef, Geometry, Feature, Layer, VRT dataset builder, VSI virtual filesystem, rasterize, rasterize_affine, polygonize, GeoTransform, CslStringList, MemDatasetBuilder, and supporting types.
  • APIs use the georust/gdal v0.19.0 crate as a reference (see file-level doc comments for attribution). We only implemented the code we actually need for now. We'll extend these high-level APIs as we implement more RS functions.

Depends on #681.

Add the sedona-gdal crate providing runtime-loaded GDAL FFI bindings
via libloading. This includes the SedonaGdalApi function-pointer struct,
dynamic symbol loading, the GdalApi handle with call_gdal_api! macro,
error types, and global API registration.
Add safe Rust wrappers on top of the dynamically loaded GDAL bindings:
Dataset, Driver, RasterBand, SpatialRef, Geometry, Feature, Layer, VRT,
VSI, rasterize, polygonize, and supporting types. These APIs use the
georust/gdal v0.19.0 crate as a reference (see file-level doc comments
for attribution).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant