Skip to content
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.

Coverage Referencing #39

Open
Open
@marqh

Description

Following on from #35 I have been further investigating ISO 19123:2007

I have a concern regarding this document and Figure 2 - CV_Coverage. I have prepared an abbreviated version of this figure:
figure2_abbrv_19123 2007

This figure defines how a coverage is directly associated with one CRS as defined in ISO19111

However, ISO19111 only presents one way to interface to a CRS:

Coordinate Set and Metadata.png
https://github.com/ISO-TC211/ISO19111/blob/master/Figures/Coordinate%20Set%20and%20Metadata.png

The CoordinateSet is the entry point for use of ISO19111 CRS instances. A CoordinateSet is an ordered list of coordinate tuples, each a direct position.

There is nothing that I have seen in 19123 that describes a CV_Coverage as providing a sequence of coordinate tuples, ordered to be consistent with the CRS and only containing those coordinate values that are being referenced.

This, I think, represents a disconnect between 19111 and 19123 and is leading to a number of problems within implementations of 19123 and 19111.
I am concerned that at present the CV_Coverage is associated with the SC_CRS but does not provide the information that SC_CRS expects in the way it is expected. Coordinate tuples are not provided and axis ordering is not explicitly matched to the CRS definition.

For example, a coverage may contain a 2D array if data, with a 1D array of latitudes and a 1D array of longitudes. This may be stored as data(latitude, longitude), ordered for convenience for the data.
Within the scope of the CRS, Axis order is vital, and defined; convention dictates that (longitude, latitude) coordinate pairs are spatially referenced.
There does not appear to be the provision for obtaining a (longitude, latitude) directPosition tuple for each element from the CV_Coverage.

If 19123 CV_Coverage is to have a direct association into 19111's CRS, then I feel it should declare itself as being derived from a 19111 CoordinateSet, so that it is consistent with the 19111 model.
It could also be stated that it should include a method +coordinateTuple() that returns a Sequence of DirectPositions

This could be modelled as follows (perhaps)
remodelled_figure2_abbrv_19123 2007

There could be numerous ways of dealing with this issue, this is one attempt. My key aim here is to consider and potentially recognise that this is an issue that should be dealt with.

The approach suggested here would enable a coverage to present a dynamically generated CoordinateSet on demand, from the various elements describing individual coverage dimensions.

For example, consider a 5D coverage of 3 spatial, 1 temporal and 1 statistical dimension, where each dimension is defined by a 1d array of coordinate values.
This coverage could define the coordinateTuple method to return an structured array of coordinate tuples, each a (longitude, latitude, altitude, time)
A compound CRS providing referencing for this tuple may then be referenced via the coordinate metadata and there will not be potential confusion about how to interpret aspects such as axis order, as this is explicitly handled by the coordinateTuple method.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions