Skip to content

Commit

Permalink
Updated mapping to use case document
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon Blower committed Mar 9, 2017
1 parent ce31b33 commit 4876058
Showing 1 changed file with 23 additions and 26 deletions.
49 changes: 23 additions & 26 deletions coverage-json/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ <h3 id="highLevelStructure">High-level structure</h3>
<section id="domain">
<h3>Encoding the Domain</h3>
<p><strong>TODO: needs expanding and improving </strong></p>
<p>A Domain is a collection of named orthogonal axes, plus information about how to reference these axes to a real-world coordinate reference system..
<p>A Domain is a collection of named orthogonal axes, plus information about how to reference these axes to a real-world coordinate reference system.
An axis can contain primitive values like latitudes or longitudes but can also contain complex values
like tuples or polygons.</p>
<p>CoverageJSON knows the concept of a <dfn>domain type</dfn> which allows clients to easily identify a certain domain structure.
Expand Down Expand Up @@ -242,7 +242,7 @@ <h3>Encoding of data values</h3>
"shape": [3, 180, 360],
"tileSets": [{
"tileShape": [1, 90, 90],
"urlTemplate": "http://example.com/{t}/{y}/{x}.CoverageJSON"
"urlTemplate": "http://example.com/{t}/{y}/{x}.covjson"
}]
}
</pre>
Expand Down Expand Up @@ -397,10 +397,10 @@ <h2>Mapping to Use Cases and Requirements Document</h2>
<th>Requirement</th><th>CoverageJSON approach</th>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#4DModelSpaceTime">4D model of space-time</td><td>CoverageJSON has a <a href="https://covjson.org/domain-types/#trajectory">'trajectory'</a> option in the way it specifies the type of a domain.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#4DModelSpaceTime">4D model of space-time</td><td>Domains in CoverageJSON can have any number of dimensions. Many of the defined <a href="https://covjson.org/domain-types/">domain types</a> support 4D domains, including <a href="https://covjson.org/domain-types/#grid">grids</a> and <a href="https://covjson.org/domain-types/#trajectory">trajectories</a>.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Compatibility">Compatibility with existing practices</td><td>CoverageJSON incorporates the same concepts of domain, range, parameters as other coverage formats such as the OGC <a href="http://www.opengeospatial.org/standards/wcs">Web Coverage Service</a> standard. It <a href="https://covjson.org/spec/#differences-to-ogc-coverage-implementation-schema-cis">differs in some respects</a> from the OGC Coverage Implementation Schema.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Compatibility">Compatibility with existing practices</td><td>CoverageJSON incorporates the same overall concepts (domain, range, and metadata) as other coverage data models OGC Coverage Implementation Schema standard (OGC document OGC 09-146r2. <strong>Is there a web link to this?</strong>). It <a href="https://covjson.org/spec/#differences-to-ogc-coverage-implementation-schema-cis">differs in some respects</a> from this standard.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Compressible">Compressibility</a></td><td>CoverageJSON consists of JSON objects, which can be compressed using standard approaches, for example by enabling gzip and the corresponding Content-Encoding in a web server.</td>
Expand All @@ -412,70 +412,67 @@ <h2>Mapping to Use Cases and Requirements Document</h2>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Crawlability">Crawlability</a></td><td>Like any other 'file' on the web, CoverageJSON objects can have a URL and so can be found by crawlers. To what extent an agent is able to interpret the contents of a CoverageJSON file is another question. Also important for crawling and hence discovery might be metadata associated with CoverageJSON data. </td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#CRSDefinition">CRS definition</a></td><td>CoverageJSON <a href="https://covjson.org/spec/#spatial-reference-systems">approach to defining CRS</a>.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#CRSDefinition">CRS definition</a></td><td>CoverageJSON defines an <a href="https://covjson.org/spec/#reference-system-objects">approach for specifying the CRS as a URI</a>.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#DeterminableCRS">Determinable CRS</a></td><td>CoverageJSON requires that a CRS is always <a href="https://covjson.org/spec/#domain-objects">specified</a>.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#DeterminableCRS">Determinable CRS</a></td><td>CoverageJSON enables domains to be referenced to one or more CRSs, either through <a href="https://covjson.org/spec/#reference-system-objects">URI links or inline definitions</a>.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#DifferentTimeModels">Different time models</a></td><td>CoverageJSON can support a range of <a href="https://covjson.org/spec/#temporal-reference-systems">temporal reference systems</a>, defaulting to the Gregorian calendar.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#DifferentTimeModels">Different time models</a></td><td>CoverageJSON supports a range of <a href="https://covjson.org/spec/#temporal-reference-systems">temporal reference systems</a>, defaulting to the Gregorian calendar.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/Discoverability">Discoverability</a></td><td>CoverageJSON does not include specific mechanisms for incorporating discovery metadata at the whole-document or whole-dataset level. However a CoverageJSON file or object can be assigned a URL like any other web document and so could be described by DCAT and similar metadata using standard mechanisms. See <a href="https://github.com/covjson/specification/issues/71">discussion</a>.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/Discoverability">Discoverability</a></td><td>CoverageJSON does not include specific mechanisms for incorporating discovery metadata at the whole-document or whole-dataset level. However a CoverageJSON file or object can be assigned a URL like any other web document and so could be described by DCAT and similar metadata using standard mechanisms. See <a href="https://github.com/covjson/specification/issues/71">this discussion</a>.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Georectification">Georectification</a></td><td>Coverage JSON has a flexible and extensible <a href="https://covjson.org/spec/#spatial-reference-systems">approach to specifying spatial reference systems</a></td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Georectification">Georectification</a></td><td>Coverage JSON has a flexible and extensible <a href="https://covjson.org/spec/#reference-system-objects">approach to specifying reference systems</a>, in which data can be referenced to any grid.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#GeoreferencedData">Georeferenced spatial data</a></td><td>See the Georectification requirement above.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Linkability">Linkability</a></td><td>TODO: describe use of incoming and outgoing links in CoverageJSON</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Linkability">Linkability</a></td><td>CoverageJSON documents can contain links to external entities, including parameter definitions, CRS definitions or other CoverageJSON documents. CoverageJSON documents are intended to be published on the Web and can therefore be linked to.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#MachineToMachine">Machine to machine</a></td><td>CoverageJSON is well suited in general to machine processing.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#MachineToMachine">Machine to machine</a></td><td>CoverageJSON is designed for machine processing, although is also somewhat human-readable.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#MultilingualSupport">Multilingual support</a></td><td>CoverageJSON supports <a href="https://covjson.org/spec/#i18n-objects">multi-language labels</a></td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#ObservedPropertyInCoverage">Observed property in coverage</a></td><td>See the CoverageJSON approach to describing <a href="https://covjson.org/spec/#parameter-objects">parameters</a></td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#ObservedPropertyInCoverage">Observed property in coverage</a></td><td>The observed property is defined in CoverageJSON as <a href="https://covjson.org/spec/#parameter-objects">Parameter objects</a>.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Provenance">Provenance</a></td><td>CoverageJSON does not specify particular ways to describe provenance, but as with other metadata, should be compatible with established approaches of describing provenance. </td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#Provenance">Provenance</a></td><td>CoverageJSON is intended primarily to describe the result of a procedure and does not provide a specific mechanism to describe the provenance or the procedure itself.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#QualityPerSample">Quality per sample</a></td><td>Quality information can be incorporated as an additional range of a coverage, using a categorical parameter.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#QualityPerSample">Quality per sample</a></td><td>Quality information can be incorporated as additional parameters of a coverage. For example, quality flags can be encoded as categorical parameters, and numerical erros can be described as continuous parameters. <a href="https://covjson.org/spec/#parametergroup-objects">Parameter Group objects</a> provide a mechanism to associate parameters with each other to provide internal links between data values and their associated quality information.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#ReferenceDataChunks">Reference data chunks</a></td><td>There are several approaches in CovJSON to dividing a large coverage into chunks.
<td><a href="https://www.w3.org/TR/sdw-ucr/#ReferenceDataChunks">Reference data chunks</a></td><td>There are two main approaches in CoverageJSON to dividing a large coverage into chunks.
<ul>
<li><a href="https://covjson.org/spec/#tiledndarray-objects">Tiled n-dimensional array</a></li>
<li><a href="https://covjson.org/spec/#tiledndarray-objects">Tiled n-dimensional array</a></li>
<li><a href="https://github.com/covjson/specification/issues/66">Fragment identifiers</a> (still in discussion)</li>
<li><a href="https://covjson.org/spec/#coverage-collection-objects">Coverage collections</a></li>
</ul>
</td>
In each case, each chunk is given its own identifier. (Also, large collections of coverages, such as large collections of in situ observations, can be divided into <a href="https://covjson.org/spec/#coverage-collection-objects">Coverage collections</a>.)</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#SensingProcedure">Sensing procedure</a></td><td>It is possible to provide a text description of a <a href="https://covjson.org/spec/#parameter-objects">parameter</a>, which could potentially contain a description of the sensing method.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#SensingProcedure">Sensing procedure</a></td><td>As with "Provenance" above, CoverageJSON focuses on the results of the procedure, not the procedure itself. The text description of a <a href="https://covjson.org/spec/#parameter-objects">parameter</a> could potentially contain a description of the sensing method.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#SpatialVagueness">Spatial vagueness</a></td><td>Coverage data in general may not be suitable for representing data at vague locations. An external connection could be made between a vaguely expressed location and a precisely defined region that might approximate it, for example a bounding box. The coverage format should then be able to deliver data relating to that region of interest.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#SpatialVagueness">Spatial vagueness</a></td><td>It is possible to record spatially-vague data (i.e. data that is not associated with precise spatial coordinate values) in CoverageJSON. For example, a domain axis could be defined that records locations as identifiers, rather than numeric coordinates (e.g. "<code>['London', 'New York', 'Paris']</code>").</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#SSNLikeRepresentation">SSN-like representation</a></td><td>TO DO.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#SSNLikeRepresentation">SSN-like representation</a></td><td>CoverageJSON does not attempt to provide a method to describe sensors (or any other provenance information, see above). However, CoverageJSON reuses the "observedProperty" property from SSN (<a href="https://www.w3.org/2005/Incubator/ssn/ssnx/ssn#observedProperty">https://www.w3.org/2005/Incubator/ssn/ssnx/ssn#observedProperty</a>). Usage of this can be seen in "CoverageJSON, JSON-LD and RDF" above.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#3DSupport">Support for 3D</a></td><td>CoverageJSON's <a href="https://covjson.org/spec/#domain-objects">approach to specifying spatial domains</a> supports 3D.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#3DSupport">Support for 3D</a></td><td>CoverageJSON fully supports 3D data: see "4D model of space-time" above.</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#TilingSupport">Support for tiling</td><td>CoverageJSON supports <a href="https://covjson.org/spec/#tiledndarray-objects">tiling</a>.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#TilingSupport">Support for tiling</a></td><td>CoverageJSON supports <a href="https://covjson.org/spec/#tiledndarray-objects">tiling</a>. (This mechanism is probably more suited to raster than vector data.)</td>
</tr>
<tr>
<td><a href="https://www.w3.org/TR/sdw-ucr/#UseInComputationalModels">Use in computational models</a></td><td>Different computational models will have their own requirements for input and output data and any single format for coverage data will not match all models. However, a reasonable requirement for a coverage data format would be to deliver data in an easy to process format, and to have flexible options for delivering extracts of the data in different dimensions. CoverageJSON satisfies those general requirements.</td>
<td><a href="https://www.w3.org/TR/sdw-ucr/#UseInComputationalModels">Use in Computational Models</a></td><td>CoverageJSON is a machine-readable format that can be both read by, and written by, computational models. However, it is primarily intended as a format for data exchange over wide-area networks, not an archive format. Therefore it is probably unlikely that the designer of a computational model would choose to read or write data in CoverageJSON directly. Tools to convert to and from NetCDF (a more common archive format) are <a href="https://github.com/Reading-eScience-Centre/pycovjson">under development</a>.</td>
</tr>


</table>
</section>

Expand Down

0 comments on commit 4876058

Please sign in to comment.