epsg

Crates.ioepsg
lib.rsepsg
version11.1.2
sourcesrc
created_at2020-07-22 14:51:59.501572
updated_at2023-12-14 09:23:11.959866
descriptionEPSG Coordinate Reference System tools & data
homepagehttps://github.com/atcol/epsg
repositoryhttps://github.com/atcol/epsg
max_upload_size
id268052
size4,064,872
Alex (atcol)

documentation

README

epsg

Master branch build License - MIT EPSG on docs.rs

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.

  1. Download the EPSG*PostgreSQL.zip dataset and place it in this dir
  2. Create a database dir & extract the archive there
  3. Run prepare.sh
  4. Run docker-compose up -d
  5. 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):

  1. Download the EPSG*PostgreSQL.zip dataset and place it in this dir
  2. Create a database dir & extract the archive there
  3. Rename each file as in database as follows:
  • PostgreSQL_Table_Script.sql to 01.sql
  • PostgreSQL_Data_Script.sql to 02.sql
  • PostgreSQL_FKey_Script.sql to 03.sql
  1. Start the postgres container:
  docker-compose up -d
  1. 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.

Commit count: 38

cargo fmt