OGC API - Environmental Data Retrieval
A Web API that provides a family of lightweight interfaces for accessing Environmental Data resources.
https://github.com/opengeospatial/ogcapi-environmental-data-retrieval
Keywords from Contributors
ogc features geospatial-data ogc-api wfs openapi3 ogcapi weather measurement observation
Last synced: over 1 year ago
JSON representation
Acceptance Criteria
- Revelant topics? false
- External users? true
- Open source license? false
- Active? true
- Fork? false
Repository metadata
A Web API that provides a family of lightweight interfaces for accessing Environmental Data resources.
- Host: GitHub
- URL: https://github.com/opengeospatial/ogcapi-environmental-data-retrieval
- Owner: opengeospatial
- Created: 2019-11-26T20:19:22.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-18T17:03:24.000Z (over 1 year ago)
- Last Synced: 2024-01-21T04:33:56.120Z (over 1 year ago)
- Language: HTML
- Homepage: https://ogcapi.ogc.org/edr
- Size: 59 MB
- Stars: 48
- Watchers: 28
- Forks: 24
- Open Issues: 32
- Releases: 0
-
Metadata Files:
- Readme: README.md
README.md
OGC API - Environmental Data Retrieval
This is the GitHub repository of the OGC Environmental Data Retrieval API Standard Working Group (EDR API SWG).
The OGC API - Environmental Data Retrieval standard is part of the OGC API suite of standards. OGC API standards define modular API building blocks to spatially enable Web APIs in a consistent way. OpenAPI is used to define the reusable API building blocks.
EDR API Collections
As with other OGC APIs that include a /collections
end point, EDR supports distribution of collections of geospatial data in particular ways. An EDR collection can contain virtually any data about the natural or built environment that needs to be sampled using a spatio-temporal query pattern. The following is a list of examples that illustrate what this environmental data sampling paradigm might entail.
- A climate model or weather reanalysis might be accessed at a point or within a bounding rectangle.
- Geospatial gridded data such as a digital elevation model might be accessed along a transect.
- Weather information from meteorological stations might be queried within a specified polygon.
- An ensemble of forecast model data might be accessed for a specific location.
- Information from a hydrologic sensor might be found spatially or accessed by ID.
EDR aims to specify the minimum yet sufficient diversity in metadata, query patterns, and response formats to enable this wide range of environmental data retrieval applications.
EDR API Query Patterns
The EDR API allows a query, constructed of a spatio-temporal pattern, to retrieve data just for that pattern, from a data collection resource. Each of these patterns is optional, but a compliant API should implement at least one of them.
The main patterns are:
- 1 - Position: Retrieve data for point/position for several parameters at a time instant, or as a timeseries, or as a vertical profile for a time instant.
- 2 - Area: Retrieve data within a polygon or rectangular tile/subset at a time instant, or as a timeseries, or as a vertical profile for a time instant.
- 3 - Trajectory and Corridor: Retrieve data along a 2D, 3D or 4D trajectory or within a defined corridor around a trajectory.
These patterns would be accessed through endpoints like:
/collections/{collectionId}/{queryType}?
coords={wkt-geometry}&
parameter-name={parameter_1},{parameter_n}&
datetime={RFC3339/ISO8601}&
f={format}&
{queryType-specific-parameter_n_}={queryType-specific-parameter_n_value}
There are also other variants of these query patterns to make the API easier and more convenient to use. These are:
-
4 - Radius: Retrieve data within a specified horizontal radius of a point/position
-
5 - Cube: Retrieve data within a specified 2D, 3D, or 4D bounding box. This is just a restricted special case of a polygon.
-
6 - Location Retrieve data for point/position identified by a name rather than coordinates.
-
7 - Items Retrieve a feature by identifier. The coordinates in the feature could be used to create an EDR query. The feature could also be a previously stored query. Compatible with OGC API - Features - Part 1: Core.
-
8 - Instance This allows discrimination between different versions of a collection. [Note: This may become part of API - Common as hierarchical collections.]
EDR API Vision
The Environmental Data Retrieval (EDR) API can be considered both a 'simple' API and a 'convenience' API.
It is considered a 'simple' API because:
- From an implementation viewpoint, the specification encourages a 'core' plus 'plug-in' framework;
- It does not require much domain knowledge compared to other OGC WxS and API standards;
- It uses Key/Value pairs;
- The metadata is based on the data being queried and is not verbose;
- The queries are “fixed” and predefined in the OpenAPI definition;
- The specification encourages the data publisher to publish data in fixed formats that are described within the metadata in a simple way.
It is considered a 'convenience' API because:
- It complements and provides synergy with other web based OGC APIs;
- The query patterns allow users to get just the data that they need;
- Users do not need to know the structure of the underlying data;
- It is not constrained to a particular data structure susch as grids, point clouds, features, etc.;
- It hides the complication of any underlying time structures because queries retrieve data for the time(s) that the user selects;
- It is the responsibility of the publisher to simplify appropriately the output, making it convenient for the user to consume the data;
- Implementations are constrained by the API definition, so all implementations will have the same URL structure.
The EDR API can be considered a 'Sampling API'. EDR queries create discrete sampling geometries that can sample a relatively persistent spatio-temporal data store resource. The query and its response are transient resources, which can be made persistent for re-use if required. EDR is agnostic as to whether the data store is a digital data cube that could be sampled anywhere or pre-existing samples of, or a model of, real world phenomena. While the former is the emphasis, EDR APIs can also provide a list of pre-defined or pre-existing monitoring/modeled "locations" which can be accessed by location identifier. There is an assumption that the spatio-temporal data store is non-sparse, in that most queries are expected to return useful values rather than 'data not found'.
Progress
Standard and Draft Specifications
The standard is in the V1.1 Branch.
The Master Branch is the latest draft of the standard, currently V1.2.0, and is built daily (based on the configuration contained in this GitHub Action file):
- OGC API - Environmental Data Retrieval Standard, Version 1.0.0
- OGC API - Environmental Data Retrieval Standard, with Corrigendum, Version 1.0.1
- OGC API - Environmental Data Retrieval Standard, Version 1.1.0
- DRAFT EDR OpenAPI Document
Version 1.2 will be re-labelled as OGC API - Environmental Data Retrieval, Part 1: Core.
A Part 2: Publish-Subscribe is being developed using AsyncAPI as well as OpenAPI to support an asynchronous "publish and subscribe" model for data and notifications. The intent is that will also be applicable to, and usable by, other OGC APIs:
Conformance Test Suite
An OGC API-EDR conformance test suite has been developed so that implementations can be formally certified as conforming to the standard, if so desired.
The Executable Test Suite (ETS) of OGC API - EDR is available on the OGC Validator.
Implementations that pass the conformance tests can be submitted for Compliance certification, by following the steps to Get Certified.
Implementations that are Certified OGC Compliant are listed on the OGC Product Database.
If you encounter any bugs, please log the issues.
There are three approaches to testing:
-
Option 1: Run the ETS on the OGC Validator.
-
Option 2: Run the ETS through
docker
by executing this command:docker run -p 8081:8080 ogccite/ets-ogcapi-edr10
-
Option 3: Use the ETS from within an IDE such as Eclipse or IntelliJ. There is a Maven project. If you are planning to use an IDE for testing, we can arrange a brief telecon to help you set up your environment.
Implementations
Implementations are being advertised here. Some are live demos with real data, designed for a production environment, others are "work in progress" and some just "proofs of concept". There are other implementations in development but not yet public.
Development Guidelines
The development of the API has used other well-established standards and guidelines. The overlaps, and gaps, with other OGC standards are also being described here. The API also supports the OGC Web API Guidelines.
Future Work
Proposed changes and extensions to the standard will be documented in the folder proposals.
Longer term work is being recorded here
Conformance Test Suite work started at the beginning of 2021 using TeamEngine.
EDR API Standard Working Group
The repository contains:
The charter lists initial deliverables in section 4.1 and a number of additional tasks in section 4.2. There is also an "out of scope" statement in section 3.2.
The repository also contains the plan of work and links to other relevant documents such as minutes, actions and notes of meetings on the associated Wiki pages.
The public comment period on the EDR API closed 28th September 2020. Go here for more information.
A public Hackathon/Sprint was held virtually in March 2020 and another was held 9-10 November 2020 to help finalise the specification. There was a public Webinar outlining the Sprint's objectives on Wednesday 4 November 2020.
In December 2020, the OGC Technical Committee agreed, with no objections to unanimous consent, to have an electronic vote to recommend the specification for public release as an OGC Standard. The OGC TC e-vote was passed with quorum on 8 March 2021. The OGC Planning Committee on 30 March 2021 voted, with no objections to unanimous consent, to recommend the OGC API - EDR as a full OGC Standard, and to not change the name.
On 28 April 2021, at 16:00 UTC, the standard started editing for publication as a formal standard.
The OGC API - EDR standard was formally published on 13 September 2021 and a Corrigendum V1.0.1 published on 5 August 2022.
The Working Group is now developing a backwards-compatible V1.1 and future enhancements.
Best Practice
- OGC API - Environmental Data Retrieval Best Practice - No Content yet
Contributing
The contributor understands that any contributions, if accepted by the OGC Membership, shall be incorporated into OGC standards documents and that all copyright and intellectual property shall be vested to the OGC.
Pull Requests from contributors are welcomed. However, please note that by sending a Pull Request or Commit to this GitHub repository, you are agreeing to the terms in the Observer Agreement https://portal.ogc.org/files/?artifact_id=92169
Owner metadata
- Name: Open Geospatial Consortium
- Login: opengeospatial
- Email: [email protected]
- Kind: organization
- Description:
- Website: http://ogc.org
- Location: Wayland, MA, USA
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1955193?v=4
- Repositories: 219
- Last ynced at: 2023-03-11T02:37:28.455Z
- Profile URL: https://github.com/opengeospatial
GitHub Events
Total
- Create event: 88
- Commit comment event: 4
- Release event: 5
- Delete event: 72
- Member event: 2
- Pull request event: 279
- Fork event: 14
- Issues event: 330
- Watch event: 35
- Issue comment event: 950
- Push event: 706
- Pull request review comment event: 37
- Pull request review event: 333
- Gollum event: 463
Last Year
- Commit comment event: 1
- Create event: 39
- Delete event: 25
- Fork event: 4
- Gollum event: 77
- Issue comment event: 176
- Issues event: 60
- Member event: 1
- Pull request event: 84
- Pull request review comment event: 2
- Pull request review event: 105
- Push event: 265
- Release event: 2
- Watch event: 6
Committers metadata
Last synced: over 1 year ago
Total Commits: 1,541
Total Committers: 24
Avg Commits per committer: 64.208
Development Distribution Score (DDS): 0.605
Commits in past year: 256
Committers in past year: 6
Avg Commits per committer in past year: 42.667
Development Distribution Score (DDS) in past year: 0.469
Name | Commits | |
---|---|---|
Chris Little | c****e@m****k | 609 |
m-burgoyne | m****e@m****k | 356 |
Greg Buehler | g****r@o****g | 341 |
Gobe Hobona | g****a@o****g | 73 |
Tom Kralidis | t****s@g****m | 67 |
David Blodgett | d****t@u****v | 38 |
Media | m****a@1****1 | 8 |
Dev | d****v@M****l | 8 |
Igor Andruska | I****a@i****m | 8 |
Actions | a****s@g****m | 7 |
Chuck Heazel | c****l@w****m | 6 |
Brad Hards | b****h@f****t | 3 |
Shane Mill | 4****1 | 3 |
Lars Falk-Petersen | l****p@m****o | 3 |
Boyi Shangguan | s****y@w****n | 2 |
Chris Bunney | c****y@m****k | 1 |
KoalaGeo | e****w@b****k | 1 |
Simon Cox | s****x@c****u | 1 |
The Gitter Badger | b****r@g****m | 1 |
Unknown | s****s@o****g | 1 |
r0w4n | 6****n | 1 |
solson-nws | s****n@n****v | 1 |
David Blodgett | 1 | |
Peter Garnæs | p****a@d****k | 1 |
Committer domains:
- opengeospatial.org: 3
- metoffice.gov.uk: 3
- dmi.dk: 1
- noaa.gov: 1
- gitter.im: 1
- csiro.au: 1
- bgs.ac.uk: 1
- whu.edu.cn: 1
- met.no: 1
- frogmouth.net: 1
- wiscenterprises.com: 1
- github.com: 1
- iblsoft.com: 1
- 127.0.0.1: 1
- usgs.gov: 1
Issue and Pull Request metadata
Last synced: over 1 year ago
Total issues: 283
Total pull requests: 215
Average time to close issues: about 1 month
Average time to close pull requests: 7 days
Total issue authors: 41
Total pull request authors: 18
Average comments per issue: 4.56
Average comments per pull request: 1.25
Merged pull request: 191
Bot issues: 4
Bot pull requests: 0
Past year issues: 41
Past year pull requests: 54
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 12 days
Past year issue authors: 17
Past year pull request authors: 6
Past year average comments per issue: 2.93
Past year average comments per pull request: 0.83
Past year merged pull request: 40
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- chris-little (79)
- dblodgett-usgs (40)
- ghobona (39)
- m-burgoyne (33)
- pnovotny-ibl (15)
- tomkralidis (14)
- jerstlouis (7)
- iandruska-ibl (6)
- ShaneMill1 (4)
- github-actions[bot] (4)
- kevpax-24 (3)
- crbunney (3)
- cportele (3)
- bradh (3)
- solson-nws (2)
Top Pull Request Authors
- m-burgoyne (89)
- tomkralidis (39)
- chris-little (29)
- dblodgett-usgs (17)
- ghobona (15)
- iandruska-ibl (5)
- ways (4)
- cmheazel (4)
- ShaneMill1 (3)
- boyi-shangguan (2)
- dr-shorthair (1)
- solson-nws (1)
- petergarnaes (1)
- r0w4n (1)
- KoalaGeo (1)
Top Issue Labels
- enhancement (26)
- Cross-SWG Discussion (19)
- API EDR V1.1 (16)
- API EDR V1.0.1 (15)
- API EDR V1.2 (14)
- EDR Part 2 (14)
- documentation (10)
- API EDR V1.0.2 (6)
- bug (5)
- best practice (4)
- 2022-05 Sprint (4)
- Editorial (4)
- 2023-10 Sprint (2)
- Profiles (2)
- API EDR V1.1 OAB/Public comment (2)
- staff editorial stage (1)
- 2021-02 sprint (1)
- future-realignment (1)
- 2022-03 Sprint (1)
- API-EDR V1.3 (1)
- OpenAPIv3.1 (1)
- question (1)
- EDR Part 3 (1)
Top Pull Request Labels
- API EDR V1.2 (4)
- enhancement (1)
- API EDR V1.0.2 (1)
- 2022-05 Sprint (1)
- 2022-03 Sprint (1)
- EDR Part 2 (1)
- API EDR V1.1 (1)
Dependencies
- EndBug/add-and-commit v9 composite
- actions/checkout v2 composite
- actions/setup-node v2 composite
- actions/checkout v2 composite
- actions/setup-node v2 composite
- metanorma-cli >= 0
- relaton-cli >= 0
- metanorma-cli >= 0
- relaton-cli >= 0
Score: 7.5600804650218265