Low-level bindings for PROJ v7.1.x
This is a *-sys
crate; you shouldn't use its API directly. The proj
crate is designed for general use.
A guide to the functions can be found here: https://proj.org/development/reference/functions.html. Run cargo doc (optionally --open)
to generate the crate documentation.
Requirements
By default, this crate depends on a pre-built library, so libproj
(via PROJ v7.1.x
) must be present on your system. While this crate may be backwards-compatible with older PROJ 7 and PROJ 6 versions, this is neither tested or supported.
Optional Features
Enable these in your Cargo.toml
like so:
proj-sys = { version = "0.17", features = ["pkg_config"] }
proj-sys = { version = "0.17", features = ["bundled_proj"] }
Note that these features are mutually exclusive.
pkg_config
(Linux and macOS targets)- uses
pkg-config
to add search paths to the build script. Requirespkg-config
to be installed (available on Homebrew, Macports, apt etc.)
- uses
bundled_proj
(Linux and macOS targets):- allow the crate to internally build and depend on a bundled PROJ library. This may make it easier to compile the crate, but is not yet thoroughly tested. Note that SQLite3 must be present on your system if you wish to use this feature.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.