pygeoapi abstract for GeoNode Summit 2020 - geopython/pygeoapi GitHub Wiki

Title

pygeoapi: a possible future GeoNode backend?

Estimated presentation time

30 minutes: (20 minutes + 10 minutes for questions/discussion)

Abstract

The proliferation of REST [1] as an architectural style as well as OpenAPI [2] has resulted in broader adoption of a leaner service contract and the OGC developing a new generation of API specifications in support of discovery, access, visualization and processing of geospatial data [3]. These efforts are aimed to lower the barrier to implementation, especially for mass-market/non-geospatial developers.

pygeoapi [4] is an OGC Reference Implementation compliant with the OGC API - Features specification. Implemented in Python, pygeoapi supports many other OGC APIs via the Flask web framework and a fully integrated OpenAPI structure. Lightweight, easy to deploy and cloud-ready, pygeoapi's architecture facilitates publishing datasets and processes from multiple sources. Implementations of other OGC APIs are in progress for the 1.0 roadmap, including gridded/coverage data (OGC API - Coverages), search (OGC API - Records), and vector/map tiles (OGC API - Tiles). pygeoapi is a community project of the Open Source Geospatial Foundation (OSGeo).

pygeoapi follows a clear separation structure with a view, provider/plugin and entry point module. The view approach allows for easy integration with other Python web frameworks like Starlette and Django. The provider abstracts connectivity to numerous data sources (CSV, SQLite3, GeoJSON, Elasticsearch, GDAL/OGR) and provides extensibility to support additional formats, databases, object storage and more.

This presentation will provide an overview of pygeoapi, roadmap and possibilities for GeoNode integration.

Authors affiliation