Skip to content

hannesaddec/ogcapi-features

 
 

Repository files navigation

OGC API - Features

This GitHub repository contains OGC's multi-part standard for querying geospatial information on the web, "OGC API - Features". All approved versions of the specification can be found here.

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 with responses in JSON and HTML.

The OGC API family of standards is organized by resource type. OGC API Features specifies the fundamental API building blocks for interacting with features. The spatial data community uses the term 'feature' for things in the real world that are of interest.

If you are unfamiliar with the term 'feature', the explanations on Spatial Things, Features and Geometry in the W3C/OGC Spatial Data on the Web Best Practice document provide more detail.

Overview

OGC API Features provides access to collections of geospatial data.

GET /collections

Lists the collections of data on the server that can be queried (section 7.13), and each describes basic information about the geospatial data collection, like its id and description, as well as the spatial and temporal extents of all the data contained.

GET /collections/buildings/items?bbox=160.6,-55.95,-170,-25.89

Requests all the data in the collection "buildings" that is in the New Zealand economic zone. The response format (typically HTML or a GeoJSON feature collection, but GML is supported, too, and extensions can easily supply others) is determined using HTTP content negotiation.

Data is returned in pageable chunks, with each response containing a next link as many collections are quite large. The core specification supports a few basic filters, in addition to the bbox filter above, with extensions providing more advanced options (section 7.15).

GET /collections/{collectionId}/items/{featureId}

Returns a single 'feature' - something in the real-world (a building, a stream, a county, etc.) that typically is described by a geometry plus other properties. This provides a stable, canonical URL to link to the 'thing' (section 7.16).

See here for an overview of the extensions to support additional coordinate reference systems beyond WGS 84.

Using the standard

The standard is on the OGC website:

PDF versions are available, too: Part 1 and Part 2.

Those who want to just see the endpoints and responses can explore examples of OpenAPI definitions.

The reference version of the OpenAPI components and XML schemas are published in the OGC schema repository.

Several implementations of the draft standard exist:

Communication

Join the mailing list or chat at https://gitter.im/opengeospatial/WFS_FES

Most all work on the specification takes place in GitHub issues, so browse there to get a good idea of what is happening, as well as past decisions.

Additional parts of OGC API - Features

The OGC Features API SWG has identified the following extensions as the highest priority:

  • OGC API - Features - Part 3: Common Query Language
    • Draft with multiple implementations. The grammar of the query language should be fairly stable, but the organisation into conformance classes and the JSON encoding need more review and discussion before the next phases (OGC Architecture Board Review, Public Review).
  • OGC API - Features - Part 4: Simple Transactions
    • The draft needs more implementations, testing and review to move forward.
  • OGC API - Features - Part 5: OpenAPI 3.1
    • Waiting for the release of OpenAPI Specification version 3.1.0.

Additional information

Part 1 (Core) has also been published by ISO as ISO 19168-1:2020.

Open issues for Part 1 (Core) are documented in a GitHub project. Comments from the ISO process are being processed together with other clarifications and editorial updates. The result will be version 1.0.1. There is an Editor's draft that includes edits for all resolved issues.

Open issues for the other parts are documented in GitHub project boards, too:

Additional links:

Building

The latest drafts of each standard in this repository are build daily (based on the configuration contained in the asciidoctor.json file):

To generate the HTML versions of the standards from this repository yourself, ensure that you have Ruby and Asciidoctor set up and installed. Then run:

# Part 1: Core
asciidoctor core/standard/17-069.adoc
# Part 2: Coordinate Reference Systems by Reference
asciidoctor extensions/crs/standard/18-058.adoc
# Part 3: Common Query Language
asciidoctor extensions/cql/standard/19-079.adoc
# Part 4: Simple Transactions
asciidoctor extensions/transactions/simple/standard/20-002.adoc

The resulting HTML files will be built in the same directory as the AsciiDoc file, e.g. as core/standard/17-069.html.

The contributor understands that any contributions, if accepted by the OGC Membership and ISO/TC 211, shall be incorporated into OGC and ISO/TC 211 OGC API standards documents and that all copyright and intellectual property shall be vested to the OGC.

The Features API Standards Working Group (SWG) is the group at OGC responsible for the stewardship of the standard, but is working to do as much work in public as possible.

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

About

An open standard for querying geospatial information on the web.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 70.6%
  • CSS 29.4%