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, 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.18.1", features = ["bundled_proj"] }
proj-sys = { version = "0.18.1", features = ["pkg_config"] }
Note that these features are mutually exclusive.
bundled_proj(Linux and macOS targets):- allow the crate to internally build and depend on a bundled
libproj. Note that SQLite3 andlibtiffmust be present on your system if you wish to use this feature, and that it buildslibprojwithout its native network functionality; you will have to implement your own set of callbacks if you wish to make use of them (see theprojcrate for an example).
- allow the crate to internally build and depend on a bundled
pkg_config(Linux and macOS targets)- uses
pkg-configto add search paths to the build script. Requirespkg-configto be installed (available on Homebrew, Macports, apt etc.)
- uses
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.