#proj #projection #geo #geospatial #osgeo

sys proj-sys

Rust bindings for PROJ v9.0.x

39 releases (21 breaking)

0.23.1 Jun 23, 2022
0.22.0 Feb 5, 2022
0.21.0 Oct 20, 2021
0.19.1 Jul 12, 2021
0.6.1 Mar 9, 2018

#6 in #projection

Download history 961/week @ 2022-11-30 1075/week @ 2022-12-07 709/week @ 2022-12-14 644/week @ 2022-12-21 663/week @ 2022-12-28 817/week @ 2023-01-04 1064/week @ 2023-01-11 866/week @ 2023-01-18 742/week @ 2023-01-25 996/week @ 2023-02-01 1029/week @ 2023-02-08 934/week @ 2023-02-15 858/week @ 2023-02-22 846/week @ 2023-03-01 739/week @ 2023-03-08 746/week @ 2023-03-15

3,322 downloads per month
Used in 7 crates (3 directly)


3.5K SLoC

Low-level bindings for PROJ v9.0.x

This is a *-sys crate; you shouldn't use its API directly. See the proj crate for general use.

A guide to PROJ functions can be found here: https://proj.org/development/reference/functions.html.

By default, the crate will search for an acceptable existing libproj installation on your system using pkg-config.

If an acceptable installation is not found, proj-sys will attempt to build libproj from source bundled in the crate.


  • bundled_proj - forces building libproj from source even if an acceptable version could be found on your system. Note that SQLite3 must be present on your system if you wish to use this feature, and that it builds libproj without its native network functionality; you will have to implement your own set of callbacks if you wish to make use of them (see the proj crate for an example).
  • bundled_proj_tiff - If the bundled_proj feature is enabled, adding the bundled_proj_tiff feature will build PROJ with TIFF support. Note that libtiff must be present on your system if you wish to use this feature.


Licensed under either of

at your option.