Warning:
This wiki has been archived and is now read-only.
CoverageJSON / REST API Reflection
From Spatial Data on the Web Working Group
Contents
CoverageJSON
What works
- practical format, convenient to work with (fixed JSON structure)
- efficient data representation (1D array encoding an nD array)
- ability to add new domain types, reference systems, metadata, ...
- includes collection format
- can embed or URL-reference domain and range data
- fairly easy to understand once the core concepts are understood
- successfully implemented in Java servers and JS clients
What doesn't work (yet)
- in-progress: having an interoperable way to add new semantics / extensions outside the core specification (issue #50)
- JSON-LD not suitable for efficient JSON representation of domain and range
- not sure yet how to relate different variants of a coverage to each other (resolutions, CRS, subsets)
Coverage Data REST API
- experimental, mostly for dynamically subsetting a coverage, and filtering/paging a collection
- based on:
- embedding API controls (=URL templates with meaning) via JSON-LD into a CoverageJSON document, uses draft W3C Hydra ontology
- HTTP Link headers (e.g. for pagination)
- make API self-describing in each HTTP resource
- requires JSON-LD parsers on client side
What works
- it works
- for simple and advanced clients -> partly duality of HTTP Link headers and embedded JSON-LD
What doesn't work (yet)
- too much effort on the client side handling arbitrary JSON-LD, need fixed JSON structure
- duality of HTTP Link headers and JSON-LD only for collection pagination, not for subsetting or collection filtering (as the latter are too complicated to describe in a HTTP Link header)
- some people consider it weird having API controls within the "data" -> in some non-JSON formats this would also be impossible (Q: how to discover API controls for subsetting a netCDF file?)
- implemented in longitude/latitude only at the moment, for simplicity