8 releases (1 stable)
11.1.2 | Dec 14, 2023 |
---|---|
0.11.1 | Dec 13, 2023 |
0.5.1 | Sep 5, 2021 |
0.4.0 | Nov 1, 2020 |
0.1.0 | Jul 22, 2020 |
Used in ogc
4MB
102K
SLoC
epsg
EPSG reference data and common types for working with Coordinate Reference Systems.
The Rust structures in this library are generated from the EPSG Dataset version 10.033.
See the documentation for more information.
Building
This project requires a PostgreSQL instance to export data to generate code.
- Download the EPSG*PostgreSQL.zip dataset and place it in this dir
- Create a
database
dir & extract the archive there - Run
prepare.sh
- Run
docker-compose up -d
- Run:
PG_STR="host=localhost user=postgres password=postgres dbname=epsg" cargo build --release
.
More detailed instructions are below.
Versioning
This project follows the semantic versioning convention and uses the corresponding ESPG dataset version as its major and minor versions, reserving maintenance for non-breaking library changes.
Generating the Structures
The data is generated by reading the local PostgreSQL database and exporting it to src/references.rs
via build.rs
.
The steps to do so are as follows (or run prepare.sh
):
- Download the EPSG*PostgreSQL.zip dataset and place it in this dir
- Create a
database
dir & extract the archive there - Rename each file as in
database
as follows:
PostgreSQL_Table_Script.sql
to01.sql
PostgreSQL_Data_Script.sql
to02.sql
PostgreSQL_FKey_Script.sql
to03.sql
- Start the postgres container:
docker-compose up -d
- Run:
PG_STR="host=localhost user=postgres password=postgres dbname=epsg" cargo build --release
.
Contributions
Contributions are welcome. All submissions will be distributed under the MIT license if accepted.
Terms
See the terms of use for the EPSG Dataset.
Dependencies
~1–4MB
~74K SLoC