Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/georust/gdal
Rust bindings for GDAL
https://github.com/georust/gdal
gdal geospatial hacktoberfest rust
Last synced: 7 days ago
JSON representation
Rust bindings for GDAL
- Host: GitHub
- URL: https://github.com/georust/gdal
- Owner: georust
- License: mit
- Created: 2014-04-01T14:35:16.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T17:03:22.000Z (15 days ago)
- Last Synced: 2024-10-29T18:30:17.638Z (15 days ago)
- Topics: gdal, geospatial, hacktoberfest, rust
- Language: Rust
- Homepage: https://crates.io/crates/gdal
- Size: 2.51 MB
- Stars: 364
- Watchers: 21
- Forks: 94
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# GDAL
[![Documentation](https://docs.rs/gdal/badge.svg)](https://docs.rs/gdal)
![Build Status](https://github.com/georust/gdal/workflows/CI/badge.svg)[GDAL](http://gdal.org/) is a translator and processing library for various raster and vector geospatial data formats.
This crate provides safe, idiomatic [Rust](http://www.rust-lang.org/) bindings for GDAL.
## Capabilities
GDAL is an incredibly powerful library. For a general understanding of its capabilities, a good place to get started is the [GDAL User-oriented documentation](https://gdal.org/user/index.html). These features include:
* Opening raster and vector file formats for reading/writing
* Translating between file formats
* Reading and writing metadata in raster and vector datasets
* Accessing raster bands and their metadata
* Reading and writing geospatial coordinate system and projection values
* Warping (resampling and re-projecting) between coordinate systems## Documentation
This crate's [API documentation](https://docs.rs/crate/gdal) is hosted on [docs.rs](https://docs.rs).
The Rust documentation is currently a work in progress, and may not cover requisite details on parameter semantics, value interpretation, etc.
Therefore, the authoritative documentation is that of GDAL in the form of its [C](https://gdal.org/api/index.html#c-api) and [C++](https://gdal.org/api/index.html#id3) APIs.
The former is technically what this crate calls, but the latter is usually more clear and better documented.## Usage
This crate provides high-level, idiomatic Rust bindings for GDAL.
To do that, it uses [`gdal-sys`](gdal-sys) internally, a low-level interface to the GDAL C library, which is generated using [`bindgen`](https://rust-lang.github.io/rust-bindgen/).
Using the `gdal-sys` crate directly is normally not needed, but it can be useful in order to call APIs that have not yet been exposed in `gdal`.## Version support
As a general rule, only GDAL versions in Ubuntu LTS-1 (previous LTS version, that is, GDAL 3.4 in 22.04 at this moment) are supported.
`gdal-sys` might support earlier versions using the `bindgen` feature flag, but `gdal` does not.Building this crate assumes a compatible version of GDAL is installed with the corresponding header files and shared libraries.
This repository includes pre-generated bindings for GDAL 3.4 through 3.10 (see the `gdal-sys/prebuilt-bindings` directory).
If you're compiling against another version of GDAL, you can enable the `bindgen` feature flag to have the bindings generated on the fly.## Community
This crate is part of the expansive (and expanding!) [`georust`](https://georust.org/) organization. Come join our discussions on [Discord](https://discord.gg/Fp2aape)!
## Contributing
This crate continues to evolve, and PRs are always welcome. Make sure you are comfortable with the [Code of Conduct](CODE_OF_CONDUCT.md) and [License](LICENSE.txt) before submitting a PR.
## License
This library is released under the [MIT license](http://opensource.org/licenses/MIT)