technical-guidelines icon indicating copy to clipboard operation
technical-guidelines copied to clipboard

Align text to what is allowed in ISO 19115/19139

Open PeterParslow opened this issue 3 years ago • 2 comments

The first sentence of the current wording says explicitly that you can have more than one (lower in the hierarchy) gmd:extent within the gmd:EX_TemporalExtent. Neither 19115 nor 19139 allow this.

The last sentence of the current wording appears to say that if you want more than one date/date period, e.g. for a discontinuous temporal extent, then you should create more than one gmd:EX_Extent within your gmd:extent - but again neither 19115 nor 19139 allows this.

The allowable way to have "more than one extent" (either temporal or spatial) is to have more than one gmd:extent within the gmd:MD_DataIdentification. Each TemporalExtent can only have one gmd:extent, and each of those can only contain one gml:TimePeriod (or other TM_Primitive)

PeterParslow avatar Apr 14 '22 14:04 PeterParslow

Dear @PeterParslow,

the multiplicity expressed by Requirement C.14 refers to the entire gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent child element and not only to the gmd:extent element.

If a temporal reference is provided using the temporal extent, it shall be encoded using the gmd:extent/gmd:EX_Extent element with one or more gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent child elements. The value of each of these element may be an individual date or a time period between two dates.

In the unique gmd:extent/gmd:EX_Extent element multiple occurrences of the gmd:temporalElement element can be provided.

This is also expressed in the last sentence of Requirement C.14:

Individual dates and time periods may be combined to form a complex temporal extent using multiple gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent elements.

Below an example of a valid encoding:

<gmd:extent>
    <gmd:EX_Extent>
        -------------------
        <gmd:temporalElement>
            <gmd:EX_TemporalExtent>
                <gmd:extent>
                    <gml:TimePeriod gml:id="IDcd3b1c4f-b5f7-9a-afc4-3317a4cd89be">
                        <gml:beginPosition>2019-04-29</gml:beginPosition>
                        <gml:endPosition>2019-05-29</gml:endPosition>
                    </gml:TimePeriod>
                </gmd:extent>
            </gmd:EX_TemporalExtent>
        </gmd:temporalElement>
        <gmd:temporalElement>
            <gmd:EX_TemporalExtent>
                <gmd:extent>
                    <gml:TimePeriod gml:id="IDcd3b1c4f-b5f7-4a-afc4-3317a4cd89be">
                        <gml:beginPosition>2020-04-29</gml:beginPosition>
                        <gml:endPosition>2020-05-29</gml:endPosition>
                    </gml:TimePeriod>
                </gmd:extent>
            </gmd:EX_TemporalExtent>
        </gmd:temporalElement>
    </gmd:EX_Extent>
</gmd:extent>

Do you think that this is not clearly expressed by the requirement?

fabiovinci avatar Apr 21 '22 12:04 fabiovinci

Yes, I think that the current wording of the requirement does not express this clearly. It has some ambiguity. I think we agree on what is & isn't allowed.

If you prefer, we could change:

"If a temporal reference is provided using the temporal extent, it shall be encoded using the gmd:extent/gmd:EX_Extent element with one or more gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent child elements"

to

"If a temporal reference is provided using the temporal extent, it shall be encoded using the gmd:extent/gmd:EX_Extent element with one or more gmd:temporalElement elements, each of which can only contain one gmd:EX_TemporalExtent/gmd:extent child element".

(Sometimes, I think the UML is far clearer, at least for those of us who can read it!)

PeterParslow avatar Apr 25 '22 15:04 PeterParslow