-
Notifications
You must be signed in to change notification settings - Fork 57
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
Require PROJJSON instead of WKT2:2019 #97
Conversation
format-specs/geoparquet.md
Outdated
[OGC Topic 2: Referencing by coordinates abstract specification / ISO-19111:2019](http://docs.opengeospatial.org/as/18-005r4/18-005r4.html). | ||
Apart from the difference of encodings, the semantics is intended to be exactly | ||
the same as WKT2:2019, and PROJJSON can be morphed losslessly from/into | ||
WKT2:2019. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like PROJJSON mentions a few deviations from WKT2:2019. Maybe "exactly" and "losslessly" are too strong here.
How about "Apart from the difference of encodings, the semantics of PROJJSON are intended to match WKT2:2019, and a CRS in one encoding can generally be represented in the other"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding this, it could be wise, for greater interoperability, to discourage the use of BoundCRS objects, softly for top-level (as this maps to standard WKT2), and strongly for BoundCRS embedded in CompoundCRS (as this is a PROJ extension), for the PROJJSON CRS of GeoParquet.
BoundCRS objects are mostly the port of PROJ.4 +nadgrids/+towgs84/+geoidgrids constructs that are less necessary nowadays since PROJ can use its database to infer transformations between datums.
So the list of top-level objects suggested for use in PROJJSON would be:
- GeographicCRS 2D (or 3D if 3D data),
- ProjectedCRS 2D (note: ProjectedCRS 3D with ellipsoidal height is supported by PROJ, but still a bit of esoteric)
- CompoundCRS with horizontal part being a GeographicCRS 2D or a ProjectedCRS 2D and vertical part being a VerticalCRS
- and perhaps, GeodeticCRS with cartesian geocentric coordinate system (X,Y,Z) (probably of marginal use)
BBOX[-90,-180,90,180]], | ||
ID["OGC","CRS84"]] | ||
``` | ||
The CRS is likely equivalent to OGC:CRS84 for a GeoParquet file if the `id` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for putting this together. I have some thoughts on it, but seemed to be a bigger scope than just a line in a PR, getting into if we might be able to tweak projjson. See #98
Still seing this open/ I'm confused: I thought that PROJJSON was already part of GeoParquet v0.4 ! And existing GDAL versions (latest 3.5.x and 3.6.0) that write GeoParquet v0.4 do write PROJJSON ! |
@rouault sorry, my mistake for not closing this. It was superseded by #96, which did indeed bring in PROJJSON support. The distinction here was about whether or not |
Resolves #95 based on associated discussions in #90 and #52.
Supersedes #94 by incorporating a modification of that text here.
Supersedes #96 by requiring
crs
instead of allowing it to be optional, with associated text changes to express this. PROJJSON for OGC:CRS84 and rules for inferring it are equivalent to #96.This includes a minor formatting change of the table including crs but only the crs row changed content and position within the table.