-
Notifications
You must be signed in to change notification settings - Fork 8
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
use temporal ISO terminology #60
Comments
Thanks - this is not my area of expertise so if you can suggest new wording for the spec that would be very useful. It may also be helpful to consider #56 at the same time, as this also relates to time axes |
query itf rfc 3339 |
Just a note from the telecon - is "2022-03-30Z" legal, i.e. adding a time zone indicator onto a date (not a date-time) |
Adding the "1.0" label as would be useful to resolve this for a first release. This could be a breaking change, so might affect existing usage (although perhaps it's better to make this change now rather than post-1.0). |
The referencing by coordinates standard defines a Temporal Coordinate Reference System which is defined to consist of 1 Temporal coordinate system the this recognises that the 8601 datetime string is a form of coordinate, useful for referencing by coordinates i think it is sensible to adopt this terminology, and to treat the referencing by time coordiantes using the same standardisation as referencing by spatial coordinates ISO19111 uses the term a minimal JSON encoding of the information structure could be
this proposal would require the standardisation of the following terms within coverageJSON, from ISO19111
I am aware that this is many more characters than the current encoding proposal, a common consequence of adopting standardised structures |
an alternative that we could explore is to encourage OGC naming authority to publish a controlled WKT definition of the prolepticGregorian temporalCRS and default to using that via if (e.g.) returned the payload
or
then we could just use the (then, look to adopt a useful and extensible JSON encoding as part of the projjson CRS encoding at version 1.x) |
@jonblower @marqh My reading of the specs is that Maybe this should be raised with ISO. :-( |
An extra bit of information for this discussion: the definition of "TemporalRS" in the CoverageJSON context seems to be taken from the INSPIRE glossary. See the |
An alternative option that may be worth consideration is to expand the normative standard text to assert equivalence between the specific encoding of temporal reference system the current coverage json syntax of TemporalRS can be said to be equivalent to the definition of a TemporalDateTime
|
@marqh I agree with this approach |
@marqh Just to clarify, IETF RFC 3339 is preferred to ISO8601, as it is a highly restrictive profile ISO8601. ISO8601 is much too flexible a notation and syntax to program fully. IETF RFC 3339 also very carefully does not mention calculating durations, only that the time stamps can be placed in monotonically increasing order. And of course the timestamps are only truly comparable if using the same clock, or coordinated clocks. |
Just a reminder that CoverageJSON doesn't import the whole of ISO8601, but defines a restricted subset. I don't know if this subset corresponds with RFC3339 |
@jonblower The restricted subset of ISO8601 used by CoverageJSON is conformant to IETF RFC 3339. |
Presumably RFC 3339 is a superset of the CoverageJSON syntax? I'm just wondering how it would be explained in the specification text (if at all) |
@jonblower As COverageJSON seems to be an even stricter subset of RFC 3339, I do not think theres is a problem. E.g. RFC3339 says it is based on ISO8601, but then goes and optionally allows blank instead of 'T' as the spacer between data and time! I haven't had time to work through the BNF definition. I think that as long as the text same something liek 'based upon', 'uses' etc rather than 'strictly conforms to' we are safe as a comunity standard. |
@chris-little currently the phrase used is "ISO8601-based". I guess we could say "RFC 3339-based" but I think the word "based" is doing most of the hard work here - I think this implies that we've based the format on ISO, but are not claiming complete conformance to the whole thing. My sense is therefore that the text is good enough as-is. What do you think? I also notice that we only say that time coordinates SHOULD use this syntax. I wonder if this is a bit weak and we should go as far as MUST? Technically someone could use their own date/time serialisation and I don't know how we'd know how to deserialise it. Thoughts, @letmaik? |
RFC 3339 doesn't support |
Good point regarding Regarding numeric time values, I guess we could only use these if we had a full TemporalCRS with a datum and spacing (e.g. "days since YYYY-MM-DD"). I wonder if the following would work:
So in future a CoverageJSON provider might have the choice between an RS and a CRS. @marqh this also makes me wonder whether the formulation you have above is valid - you are using the |
@jonblower @marqh @letmaik I support leaving the "conformance" text |
@jonblower there is probably a mistake in the CoverageJSON schema. @m-burgoyne spotted that TemporalRS is mandatory not optional in schema., in that coordinates are expected to be values AND a string. |
@chris-little It's not clear to me what you're saying about TemporalRS being mandatory. Can you go into more details? I don't see an issue at the moment. |
@letmaik @chris-little on reading the comments in the schema, I suspect the problem may be caused by my using the Trajectory domainType incorrectly. I have been using it to describe the heights along a route, I suspect this will have be changed to a Point series. |
@m-burgoyne I guess that if "height" is the thing that's being measured, then it would be encoded as the range (not the domain), unless I'm misunderstanding? This is how a DEM would usually be recorded. This might be a bit off-topic for this thread, so do feel free to raise another issue if you want to discuss further. |
@jonblower yes I was returning the data with the height as the range value but defining the axes as a composite with just |
If you have height as a function of |
agreed to merge at 2022-05-18 meeting and relabelled for v1.x development. |
@jonblower Better late than never, https://www.w3schools.com/xml/schema_dtypes_date.asp allows 'Z' |
Are arbitrary timezones also legal, e.g. "2022-03-30+01:00" also legal? Does there need to be a "T" in there? |
Yes ttime zones are allowed with a data. Of course this is strictly from an XML xsd schema defing data types and using ISO8601 notation, but the examples include:
So it is a good foundaton for normative statements |
the reference objects for time use bespoke syntax
https://github.com/opengeospatial/CoverageJSON/blob/master/standard_template/standard/clause_specification_text.adoc#52-temporal-reference-systems
which shows some inconsistency with terminology used in ISO19111 and ISO19156
e.g.
TemporalRS
i propose aligning terminology in the 1.0 version
this is likely not impacted by #26 as the scope of projjson does not include the temporal aspects available in 19111 and 19156
The text was updated successfully, but these errors were encountered: