Skip to content

Commit 6d33001

Browse files
authored
Merge pull request #163 from tomkralidis/issue-162
add version conformance (#163)
2 parents 2a79a7c + 84f069e commit 6d33001

2 files changed

Lines changed: 54 additions & 38 deletions

File tree

ogcmetanorma.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"OGC_doc_number": "21-069r1",
44
"urn":"http://www.opengis.net/doc/CS/covjson/1.0",
55
"title":"OGC CoverageJSON Community Standard",
6-
"version":"1.0.0",
6+
"version":"1.0.1",
77
"path":"standard/document.adoc"
88
}
99
}

standard/clause_specification_text.adoc

Lines changed: 53 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ The following is an illustrative example of using CoverageJSON to encode air tem
1515
[%unnumbered%]
1616
```json
1717
{
18+
"version": "1.0.1",
1819
"type" : "Coverage",
1920
"domain" : {
2021
"type": "Domain",
@@ -107,7 +108,22 @@ ParameterGroup "0..1" *-- "1..*" Parameter
107108
@enduml
108109
....
109110

110-
//## 2. i18n Objects
111+
//##
112+
=== Version
113+
114+
//## 2. Version
115+
=== Version
116+
117+
The ``version`` property to identifies the version of the CoverageJSON standard that the metadata record conforms to, which is valuable for version-specific detection handling of content.
118+
119+
Example:
120+
121+
[%unnumbered%]
122+
```json
123+
"version": "1.0.1"
124+
```
125+
126+
//## 3. i18n Objects
111127
=== i18n Objects
112128

113129
An i18n object represents a string in multiple languages where each key is a language tag as defined in http://tools.ietf.org/html/bcp47[BCP 47], and the value is the string in that language.
@@ -123,7 +139,7 @@ Example:
123139
}
124140
```
125141
[[parameter_objects]]
126-
//## 3. Parameter Objects
142+
//## 4. Parameter Objects
127143
=== Parameter Objects
128144

129145
Parameter objects represent metadata about the values of the coverage in terms of the observed property (like water temperature), the units, and others.
@@ -208,7 +224,7 @@ Example for a categorical-data parameter:
208224
}
209225
```
210226
[[parametergroup_objects]]
211-
//## 4. ParameterGroup Objects
227+
//## 5. ParameterGroup Objects
212228
=== ParameterGroup Objects
213229

214230
Parameter group objects represent logical groups of parameters, for example vector quantities.
@@ -307,17 +323,17 @@ and `"SST_stddev"`:
307323
}
308324
```
309325
[[reference_system_objects]]
310-
//## 5. Reference system objects
326+
//## 6. Reference system objects
311327
=== Reference system objects
312328

313329
Reference system objects are used to provide information about how to interpret coordinate values within the domain. Coordinates are usually geospatial or temporal in nature, but may also be categorical (based on identifiers). All reference system objects MUST have a member `"type"`, the possible values of which are given in the sections below. Custom values MAY be used as detailed in the <<extensions,Extensions>> section.
314330

315331
[[geospatial_coordinate_reference_systems]]
316-
//### 5.1. Geospatial Coordinate Reference Systems
332+
//### 6.1. Geospatial Coordinate Reference Systems
317333
==== Geospatial Coordinate Reference Systems
318334
Geospatial coordinate reference systems (CRSs) link coordinate values to the Earth.
319335

320-
//#### 5.1.1 Geographic Coordinate Reference Systems
336+
//#### 6.1.1 Geographic Coordinate Reference Systems
321337
===== Geographic Coordinate Reference Systems
322338

323339
Geographic CRSs anchor coordinate values to an ellipsoidal approximation of the Earth. They have coordinate axes of geodetic longitude and geodetic latitude, and perhaps height above the ellipsoid (i.e. they can be two- or three-dimensional). The origin of the CRS is on the surface of the ellipsoid.
@@ -350,7 +366,7 @@ Example of a three-dimensional geographic CRS (latitude-longitude-height):
350366
}
351367
```
352368

353-
//#### 5.1.2 Projected Coordinate Reference Systems
369+
//#### 6.1.2 Projected Coordinate Reference Systems
354370
===== Projected Coordinate Reference Systems
355371

356372
Projected CRSs use two coordinates to denote positions on a Cartesian plane, which is derived from projecting the ellipsoid according to some defined transformation.
@@ -371,7 +387,7 @@ Example of a projected CRS using the http://spatialreference.org/ref/epsg/osgb-1
371387
}
372388
```
373389

374-
//#### 5.1.3 Vertical Coordinate Reference Systems
390+
//#### 6.1.3 Vertical Coordinate Reference Systems
375391
===== Vertical Coordinate Reference Systems
376392

377393
Vertical CRSs use a single coordinate to denote some measure of height or depth, usually approximately oriented with gravity.
@@ -391,7 +407,7 @@ Example of a vertical CRS, here representing height above the NAVD88 datum in me
391407
```
392408

393409
[[temporal_reference_systems]]
394-
//### 5.2. Temporal Reference Systems
410+
//### 6.2. Temporal Reference Systems
395411
==== Temporal Reference Systems
396412

397413
Time is referenced by a temporal reference system (temporal RS). In the current version of this Community Standard, only a string-based notation for time values is defined. Future versions of this Community Standard may allow for alternative notations, such as recording time values as numeric offsets from a given temporal datum (e.g. “days since 1970-01-01”).
@@ -423,7 +439,7 @@ Example:
423439
```
424440

425441
[[identifier_based_reference_systems]]
426-
//### 5.3. Identifier-based Reference Systems
442+
//### 6.3. Identifier-based Reference Systems
427443
==== Identifier-based Reference Systems
428444

429445
Identifier-based reference systems (identifier RS) .
@@ -463,7 +479,7 @@ Example of a geographic identifier reference system:
463479
The domain values in the above example would be `"de"` and `"gb"`.
464480

465481
[[coveragejson_objects]]
466-
//## 6. CoverageJSON Objects
482+
//## 7. CoverageJSON Objects
467483
=== CoverageJSON Objects
468484

469485
CoverageJSON documents always consist of a single object. This object (referred to as the CoverageJSON object below) represents a domain, range, coverage, or collection of coverages.
@@ -472,7 +488,7 @@ CoverageJSON documents always consist of a single object. This object (referred
472488
- The CoverageJSON object MUST have a member with the name `"type"` whose value is one of: `"Domain"`, `"NdArray"` (a range encoding), `"TiledNdArray"` (a range encoding), `"Coverage"`, or `"CoverageCollection"`. The case of the type member values MUST be as shown here.
473489

474490
[[domain_objects]]
475-
//### 6.1. Domain Objects
491+
//### 7.1. Domain Objects
476492
==== Domain Objects
477493

478494
A domain object is a CoverageJSON object which defines a set of positions and their extent in one or more referencing systems.
@@ -496,7 +512,7 @@ Its general structure is:
496512
- A domain object MUST have a `"referencing"` member if the domain object is not part of a coverage collection or if the coverage collection does not have a `"referencing"` member.
497513

498514
[[axis_objects]]
499-
//#### 6.1.1. Axis Objects
515+
//#### 7.1.1. Axis Objects
500516
===== Axis Objects
501517

502518
- An axis object MUST have either a `"values"` member or, as a compact notation for a regularly spaced numeric axis, have all the members `"start"`, `"stop"`, and `"num"`.
@@ -562,7 +578,7 @@ Example of an axis object with Polygon values:
562578
```
563579

564580
[[reference_system_connection_objects]]
565-
//#### 6.1.2. Reference System Connection Objects
581+
//#### 7.1.2. Reference System Connection Objects
566582
===== Reference System Connection Objects
567583
A reference system connection object creates a link between values within domain axes and a reference system to be able to interpret those values, e.g. as coordinates in a certain coordinate reference system.
568584

@@ -582,7 +598,7 @@ Example of a reference system connection object:
582598
}
583599
```
584600

585-
//#### 6.1.3. Examples
601+
//#### 7.1.3. Examples
586602
===== Examples
587603

588604
Example of a domain object with <<grid,Grid>> <<common_domain_types,domain type>>:
@@ -648,7 +664,7 @@ Example of a domain object with <<trajectory,Trajectory>> <<common_domain_types,
648664
```
649665

650666
[[ndarray_objects]]
651-
//### 6.2. NdArray Objects
667+
//### 7.2. NdArray Objects
652668
==== NdArray Objects
653669

654670
A CoverageJSON object with the type `"NdArray"` is an NdArray object. It represents a multidimensional (>= 0D) array with named axes, encoded as a flat, one-dimensional JSON array in row-major order.
@@ -685,7 +701,7 @@ The ordering of the data values with respect to their dimensions is equivalent t
685701
```
686702

687703
[[tiledndarray_objects]]
688-
//### 6.3. TiledNdArray Objects
704+
//### 7.3. TiledNdArray Objects
689705
==== TiledNdArray Objects
690706

691707
A CoverageJSON object with the type `"TiledNdArray"` is a TiledNdArray object. It represents a multidimensional (>= 1D) array with named axes that is split up into sets of linked NdArray documents. Each tileset typically covers a specific data access scenario, for example, loading a single time slice of a grid vs. loading a time series of a spatial subset of a grid.
@@ -802,7 +818,7 @@ Example:
802818
```
803819

804820
[[coverage_objects]]
805-
//### 6.4. Coverage Objects
821+
//### 7.4. Coverage Objects
806822
==== Coverage Objects
807823

808824
A CoverageJSON object with the type `"Coverage"` is a coverage object.
@@ -821,7 +837,7 @@ Example:
821837
See the <<annex_vertical_profile_coverage,Vertical Profile Coverage Example>>.
822838

823839
[[coverage_collection_objects]]
824-
//### 6.5. Coverage Collection Objects
840+
//### 7.5. Coverage Collection Objects
825841
==== Coverage Collection Objects
826842

827843
A CoverageJSON object with the type `"CoverageCollection"` is a coverage collection object.
@@ -838,13 +854,13 @@ Example:
838854
See the <<annex_coverage_collection,Coverage Collection Example>>.
839855

840856
[[extensions]]
841-
//## 7. Extensions
857+
//## 8. Extensions
842858
=== Extensions
843859

844860
A CoverageJSON document can be extended with custom members and types in a robust and interoperable way. For that, it makes use of absolute URIs and compact URIs (prefix:suffix) in order to avoid conflicts with other extensions and future versions of the format. A central registry of compact URI prefixes is provided which anyone can extend and which is a simple mapping from compact URI prefix to namespace URI in order to avoid collisions with other extensions that are based on compact URIs as well. Extensions that do not follow this approach MAY use simple names instead of absolute or compact URIs but have to accept the consequence of the document being less interoperable and future-proof. In certain use cases this is not an issue and may be a preferred solution for simplicity reasons, for example, if such CoverageJSON documents are only used internally and are not meant to be shared to a wider audience.
845861

846862
[[custom_members]]
847-
//### 7.1. Custom members
863+
//### 8.1. Custom members
848864
==== Custom members
849865

850866
If a custom member is added to a CoverageJSON document, its name SHOULD be a compact URIs of the form `"prefix:suffix"`.
@@ -881,7 +897,7 @@ Example of a different value structure:
881897
```
882898

883899
[[custom_types]]
884-
//### 7.2. Custom types
900+
//### 8.2. Custom types
885901
==== Custom types
886902

887903
Custom types MAY be used with the following members:
@@ -927,7 +943,7 @@ Example of a custom reference system type using a compact URI:
927943
```
928944

929945
[[jsonld]]
930-
//## 8. JSON-LD
946+
//## 9. JSON-LD
931947
=== JSON-LD
932948

933949
If no JSON-LD context is given, then the default context `https://covjson.org/context.jsonld` SHALL be assumed. Note that this context includes https://covjson.org/prefixes/[registered namespace prefixes] and MAY be updated in a backwards-compatible way as the format evolves.
@@ -961,14 +977,14 @@ Example:
961977
In this example, additional semantics for the registered `dct` prefix are provided by stating that the `"dct:license"` member value in this document is an identifier and not just an unstructured string.
962978

963979
[[resolving_domain_and_range_urls]]
964-
//## 9. Resolving domain and range URLs
980+
//## 10. Resolving domain and range URLs
965981
=== Resolving domain and range URLs
966982

967983
If a domain or range is referenced by a URL in a CoverageJSON document, then the client should, whenever is appropriate, load the data from the given URL and treat the loaded data as if it was directly embedded in place of the URL. When sending HTTP requests, the `Accept` header SHOULD be set appropriately to the CoverageJSON media type.
968984

969985

970986
[[common_domain_types]]
971-
//## 10. Common Domain Types
987+
//## 11. Common Domain Types
972988
=== Common Domain Types
973989

974990
This OGC Community Standard defines the following domain types: Grid, VerticalProfile, PointSeries, Point, MultiPointSeries, MultiPoint, PolygonSeries, Polygon, MultiPolygonSeries, MultiPolygon, Trajectory, Section.
@@ -1011,7 +1027,7 @@ Requirements for all domain types defined in this OGC Community Standard:
10111027
|=====
10121028

10131029
[[grid]]
1014-
//### 10.1. Grid
1030+
//### 11.1. Grid
10151031
==== Grid
10161032

10171033
- A domain with Grid domain type MUST have the axes `"x"` and `"y"` and MAY have the axes `"z"` and `"t"`.
@@ -1065,7 +1081,7 @@ Coverage example:
10651081
}
10661082
```
10671083
[[vertical_profile]]
1068-
//### 10.2. VerticalProfile
1084+
//### 11.2. VerticalProfile
10691085
==== VerticalProfile
10701086

10711087
- A domain with VerticalProfile domain type MUST have the axes `"x"`, `"y"`, and `"z"`, where `"x"` and `"y"` MUST have a single coordinate value only.
@@ -1121,7 +1137,7 @@ Coverage example:
11211137
```
11221138

11231139
[[pointseries]]
1124-
//### 10.3. PointSeries
1140+
//### 11.3. PointSeries
11251141
==== PointSeries
11261142

11271143
- A domain with PointSeries domain type MUST have the axes `"x"`, `"y"`, and `"t"` where `"x"` and `"y"` MUST have a single coordinate value only.
@@ -1177,7 +1193,7 @@ Coverage example:
11771193
```
11781194

11791195
[[point]]
1180-
//### 10.4. Point
1196+
//### 11.4. Point
11811197
==== Point
11821198

11831199
- A domain with Point domain type MUST have the axes `"x"` and `"y"` and MAY have the axes `"z"` and `"t"` where all MUST have a single coordinate value only.
@@ -1230,7 +1246,7 @@ Coverage example:
12301246
```
12311247

12321248
[[multipointseries]]
1233-
//### 10.5. MultiPointSeries
1249+
//### 11.5. MultiPointSeries
12341250
==== MultiPointSeries
12351251

12361252
- A domain with MultiPointSeries domain type MUST have the axes `"composite"` and `"t"`.
@@ -1318,7 +1334,7 @@ Coverage example:
13181334
```
13191335

13201336
[[multipoint]]
1321-
//### 10.6. MultiPoint
1337+
//### 11.6. MultiPoint
13221338
==== MultiPoint
13231339

13241340
- A domain with MultiPoint domain type MUST have the axis `"composite"` and MAY have the axis `"t"` where `"t"` MUST have a single coordinate value only.
@@ -1403,7 +1419,7 @@ Coverage example:
14031419
}
14041420
```
14051421
[[trajectory]]
1406-
//### 10.7. Trajectory
1422+
//### 11.7. Trajectory
14071423
==== Trajectory
14081424

14091425
- A domain with Trajectory domain type MUST have the axis `"composite"` and MAY have the axis `"z"` where `"z"` MUST have a single coordinate value only.
@@ -1511,7 +1527,7 @@ Coverage example:
15111527
```
15121528

15131529
[[section]]
1514-
//### 10.8. Section
1530+
//### 11.8. Section
15151531
==== Section
15161532

15171533
- A domain with Section domain type MUST have the axes `"composite"` and `"z"`.
@@ -1578,7 +1594,7 @@ Coverage example:
15781594
```
15791595

15801596
[[polygon]]
1581-
//### 10.9. Polygon
1597+
//### 11.9. Polygon
15821598
==== Polygon
15831599

15841600
Polygons in this domain domain type are defined equally to GeoJSON, except that they can only contain `[x,y]` positions (and not `z` or additional coordinates):
@@ -1647,7 +1663,7 @@ Coverage example:
16471663
```
16481664

16491665
[[polygonseries]]
1650-
//### 10.10. PolygonSeries
1666+
//### 11.10. PolygonSeries
16511667
==== PolygonSeries
16521668

16531669
- A domain with PolygonSeries domain type MUST have the axes `"composite"` and `"t"` where `"composite"` MUST have a single Polygon value. Polygons are defined in the Polygon domain type.
@@ -1714,7 +1730,7 @@ Coverage example:
17141730
```
17151731

17161732
[[multipolygon]]
1717-
//### 10.11. MultiPolygon
1733+
//### 11.11. MultiPolygon
17181734
==== MultiPolygon
17191735

17201736
- A domain with MultiPolygon domain type MUST have the axis `"composite"` where the values are Polygons. Polygons are defined in the Polygon domain type.
@@ -1783,7 +1799,7 @@ Coverage example:
17831799
```
17841800

17851801
[[multipolygonseries]]
1786-
//### 10.12. MultiPolygonSeries
1802+
//### 11.12. MultiPolygonSeries
17871803
==== MultiPolygonSeries
17881804

17891805
- A domain with MultiPolygonSeries domain type MUST have the axes `"composite"` and `"t"` where the values of `"composite"` are Polygons. Polygons are defined in the Polygon domain type.

0 commit comments

Comments
 (0)