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

PROJJSON: bump to 0.6 with an additional optional source_crs property… #3454

Merged
merged 1 commit into from
Nov 17, 2022

Conversation

rouault
Copy link
Member

@rouault rouault commented Nov 11, 2022

… in abridged_transformation (refs #3428)

@rouault
Copy link
Member Author

rouault commented Nov 17, 2022

@kbevers does that look reasonable to you ? This is an extension of the BoundCRS of WKT adding an explicit sourceCRS to the transformation embedded in the BoundCRS (as it is sometimes a bit fuzzy to know exactly to which CRS the transformation applies too when the sourceCRS of the BoundCRS is something more complex than a regular geographicCRS), but specific to PROJJSON as I don't want to mess with WKT

@kbevers
Copy link
Member

kbevers commented Nov 17, 2022

I'm not sure about this. Is this the first time PROJJSON conceptually diverges from WKT?

@rouault
Copy link
Member Author

rouault commented Nov 17, 2022

I'm not sure about this. Is this the first time PROJJSON conceptually diverges from WKT?

no, we allow BOUNDCRS[] to be used as one of the horizontal or vertical component of a CompoundCRS for example, and we actually allow that in the C++ code, WKT and PROJJSON, wheras it isn't allowed by the WKT spec. Actually we treat a BoundCRS as a CRS, whereas BoundCRS is only defined in WKT and its status is not clearly the one of a CRS but some object in-between a CRS and a transformation.

@kbevers
Copy link
Member

kbevers commented Nov 17, 2022

wheras it isn't allowed by the WKT spec

Does that mean we produce incorrect WKT?

I'm not sure I've got a strong opinion on this matter. Ideally PROJJSON is a just a JSON representation of WKT but if WKT is insufficiently specced it makes sense to do something smarter with PROJJSON.

@rouault
Copy link
Member Author

rouault commented Nov 17, 2022

we produce incorrect WKT?

yes, or "extended" in commercial terms :-)

@hernando
Copy link
Contributor

As I understand, this change won't introduce anything invalid in a WKT2, it just extends PROJJSON with information that is known to the BoundCRS C++ class but can't be expressed in WKT2. The lack of this information renders the WKT2 ambiguous in the presence of a derived CRS as the base.
I would prefer to see a solution in the WKT standard, but despite I've raised the question in the OGC's coordtrans mailing list, the discussion didn't make any progress for almost 2 weeks.

@kbevers
Copy link
Member

kbevers commented Nov 17, 2022

yes, or "extended" in commercial terms :-)

Well, we are know to be quite commercial around here :-)

I would prefer to see a solution in the WKT standard, but despite I've raised the question in the OGC's coordtrans mailing list, the discussion didn't make any progress for almost 2 weeks.

Adding to the standard is going to be a slow process. PROJJSON can possibly be used as a sort of beta test for new concepts that are candidates to be included in WKT. I think that's a good enough reason to merge this PR.

@rouault rouault merged commit 1d5b157 into OSGeo:master Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants