Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add string writer for OGC WKT-CRS version 2 #245

Open
juliohm opened this issue Feb 13, 2025 · 3 comments
Open

Add string writer for OGC WKT-CRS version 2 #245

juliohm opened this issue Feb 13, 2025 · 3 comments
Labels
💎 Bounty feature help wanted Extra attention is needed

Comments

@juliohm
Copy link
Member

juliohm commented Feb 13, 2025

Issue

The OGC WKT-CRS 2 standard defines a textual representation of coordinate reference systems that is widely adopted in industry. This textual representation is mostly used in file formats as metadata.

We need to implement a new CoordRefSystems.wkt(crs::CRS)::AbstractString utility function to convert CRS objects into strings. The implementation should adhere to the standard (no GDAL/PROJ extensions), and be tested against mature implementations (e.g. GDAL) in our test suite.

Bounty

If you enjoy working with specifications, consider helping with this task. I am reserving a /bounty $250 for it. The implementation should fit nicely to the current code base in terms of software engineering best practices and code style.

Tips

  • The function CoordRefSystems.string2code in this repository does the opposite operation. It takes a WKT string (or other standards) and returns the integer code of the CRS.
  • The https://epsg.io website provides this feature. If you search for a given CRS code or name like "Mercator" you will see the different strings at the bottom of the page, including OGC WKT 2: https://epsg.io/53004

Image
You can even access the string directly with a HTTP request by pressing the button "Open" in the screenshot. It will direct you to https://epsg.io/53004.wkt2 This is not a valid solution as it requires internet connection during the function call.

  • If the EPSG database can be downloaded during the installation of the package with DataDeps.jl, we could explore the feasibility of storing the database locally on the host machine, and querying it with the given EPSG integer code. We would also need to make sure we are not infringing licensing terms by doing that. I doubt it, but worth checking.
@juliohm juliohm added feature help wanted Extra attention is needed labels Feb 13, 2025
Copy link

algora-pbc bot commented Feb 13, 2025

💎 $250 bounty • JuliaEarth

Steps to solve:

  1. Start working: Comment /attempt #245 with your implementation plan
  2. Submit work: Create a pull request including /claim #245 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to JuliaEarth/CoordRefSystems.jl!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @asr2003 Feb 13, 2025, 1:09:23 PM WIP

@asr2003
Copy link

asr2003 commented Feb 13, 2025

/attempt #245

Algora profile Completed bounties Tech Active attempts Options
@asr2003 10 bounties from 4 projects
Rust, Scala,
Go & more
Cancel attempt

@asr2003
Copy link

asr2003 commented Feb 13, 2025

@juliohm I have just started understanding the OGC WKT-CRS 2 specification and will complete this at this weekend as i will not available with my desktop until tomorrow though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💎 Bounty feature help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants