opengeospatial / opengeospatial/CRS-JSON-Encoding
Should the JSON encoding be a replacement for GML?
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 0
- Forks
- 2
- Avg merge
- 1h 36m
- Merged PRs (30d)
- 3
Description
An open question is whether a CRS JSON encoding could be a replacement for GML. GML is currently the only encoding capable to represent fully the ISO 19111 model, but is based on the 2007 version of ISO 19111 with no plan yet to upgrade to latest ISO 19111 revision. One possibility would be to replace GML by JSON, in which case PROJJSON would need to be completed with the ISO 19111 elements that are currently missing. Those additions can probably be done in a compatible way. Whether the JSON encoding should be restructured (elements renamed or moved in an incompatible way) is not the topic of this issue.
Alternative
An alternative is to keep PROJJSON as it currently is, and instead restart the GML effort with a reduced scope. The parts of the GML schema that are about CRS definitions could be extracted and updated without the rest of GML. The update could use as a starting point the extensions that EPSG made for representing the new ISO 19111 data structures in the EPSG registry. This alternative has not been debated yet.
Missing elements
The following list is derived from the ProjJson v0-7 RL 2024-06-16.docx document. It may contain errors from my transcription from the document, and some elements may have been forgotten:
- Aliases in all objects.
CoordinateSystemAxis.bearing(#7).- Coordinate system types
polar,linearandcylindrical. GeographicCRSandDerivedGeographicCRSsubtypes.- All
CoordinateSystemsubtypes (currently represented by an enum in PROJJSON) (#11). - Domain (scope, description, bounding box, vertical/temporal extent) in conversions.
- Full operation definition in
DeformationModel. GeodeticCRS.definingTransformation.OperationMethod.formula(#29).- Operation method parameters.
realizationMethodon static and dynamic vertical CRS (#45).
Missing constraints
Many constraints cannot be enforced in a JSON schema and need to be stated in the text. However, the following elements may be made more specific:
DerivedTemporalCRS.coordinateSystemshould be restricted toTemporalCS.DerivedVerticalCRS.coordinateSystemshould be restricted toVerticalCS.- All other CRS types. See #63 and #11 for a more general discussion.
Missing features
GML can reference an external document using xlink. This feature is important for making possible to define an operation method once, then reuse it in many CRS definitions. There is currently no equivalent features in PROJJSON.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the ProjJson v0-7 RL 2024-06-16.docx document and the listed PROJJSON gaps, then compare them with the current GML and ISO 19111 scope described in the issue. Review the two alternatives, including xlink reuse and the missing constraints. Done means documenting a clear decision on whether PROJJSON replaces GML or the GML effort is restarted with reduced scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json, xml
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100