Closed ccrook closed 3 years ago
Meeting notes: 2021-06-07
KK: This could be encoded by ordered key pair values such that each key defined what the reader should expect next. ie time function count, then sets of key/pair values for each actual time function, where the first key of the set defines the type of function and therefore what keys follow.
timefunctioncount: 3 timefunction: velocity reference_epoch: .... timefunction: piecewise referencepointcount: 4 epoch value epoch value
MD: Could use UML. Focus on high level specification, not details of carrier.
Final conclusion is that for GGXF it will be useful to have clarity of what is to be encoded in some structured form, essentially a schema. UML may be a suitable way of doing this...
The discussion on structured data in GGXF header is continued in https://github.com/opengeospatial/CRS-Gridded-Geodetic-data-eXchange-Format/issues/10
Also a discussion on the time function model is now in https://github.com/opengeospatial/CRS-Deformation-Models/issues/38
This issue is therefore closed
During the 24 May 2021 GGXF meeting the question was raised about how to represent a deformation model time function in the specification. The time function is part of the "group metadata" in the GGXF terminology, where a group is the set of (typically nested) grids representing a deformation model component.
In the GGXF specification metadata are represented as key/pair values. Keys are not necessarily unique, for example the metadata could include:
Structurally this is an a list (or array) with a defined order of parameter elements. So the metadata structure is in effect a two level structure comprising an dictionary of key/value pairs where the values may be lists.
The metadata values are arbitrary strings, so they can encode much more complex structures. For example some metadata values include WKT definition of the interpolation coordinate reference system, eg
The question raised is "how should the time function be encoded". Below is a fictitious exmple (in YAML format for compactness) that illustrates the level of complexity that this may require - this is a composite time function (ie a list) which includes a piecewise linear time function, which itself contains a list). These functions are taken from the NZGD2000 model (though they are not a composite function in that model).