[Feature Request] [Rust] Roadmap and status of native Raster Functional APIs (RS_ functions) in sedona-rust
- Dominant language
- Rust
- Stars
- 503
- Forks
- 61
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 91
Description
### Is your feature request related to a problem? Please describe.
Currently, Apache Sedona provides a highly robust suite of Raster Functional APIs (`RS_` functions) within the JVM and Python ecosystems, relying heavily on GeoTools and distributed Spark/Flink architectures. However, as the ecosystem expands toward native Rust performance and lighter-weight deployments, there is a visible gap in pixel-level raster manipulation and map algebra functionality within the `sedona-rust` crate.
For developers looking to build highly performant, native spatial pipelines in Rust or WebAssembly without a JVM dependency, the lack of raster analytical capabilities (e.g., raster loading, map algebra, metadata extraction) limits the utility of Sedona's Rust bindings compared to its Java/Python counterparts.
### Describe the solution you'd like
I would like to inquire if there is an official roadmap or an open tracking issue for porting Sedona's Raster Functional APIs to the native Rust codebase. Specifically, it would be incredibly beneficial to understand:
1. **Core Milestones:** Are there plans to incrementally port fundamental raster types and basic operations (e.g., `RS_LoadRaster`, `RS_Value`, metadata accessors)?
2. **Underlying Dependencies:** Is the community considering leveraging native Rust crates like `gdal` or `geo-raster` to handle the underlying pixel-level logic, or is an entirely native implementation envisioned?
3. **Contribution Points:** Are there specific architectural bottlenecks (such as memory management or geometry conversion boundaries) preventing this, and how can external contributors best help jumpstart this effort?
### Describe alternatives you've considered
Currently, the primary workarounds involve:
* Falling back to the JVM/Python Sedona environment when heavy raster manipulation is required, which negates the deployment advantages of a native Rust environment.
* Interoperating with external Rust GIS crates (like `gdal` or `geo`) manually alongside `sedona-rust` for vector-only tasks, which introduces serialization overhead and fragmented workflows.
### Additional context
Thank you all for the incredible work on Apache Sedona and the continuous push toward bringing spatial analytics to the Rust ecosystem! I am eager to hear the core maintainers' thoughts on where raster capabilities stand in the long-term vision of `sedona-rust`.
Contributor guide
Research direction
No files, tests, or entry points are named in the issue. Start by reviewing the current sedona-rust crate and its existing spatial capabilities, then identify where raster support would fit and what maintainers consider an acceptable roadmap or contribution boundary. Done means a documented direction or concrete tracking plan, rather than an implemented API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100