We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Implementing OGC APIs using Elasticsearch and pygeoapi

00:00

Formal Metadata

Title
Implementing OGC APIs using Elasticsearch and pygeoapi
Title of Series
Number of Parts
351
Author
Contributors
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2022

Content Metadata

Subject Area
Genre
Abstract
The Open Geospatial Consortium API family of standards (OGC API) are being developed to make it easy for anyone to provide geospatial data to the web, and are the next generation of geospatial web API standards designed with resource-oriented architecture, RESTful principles and OpenAPI. In addition, OGC APIs are being built for cloud capability and agility. pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the OGC API efforts started in 2018 and provides the capability for organizations to deploy OGC API endpoints using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license. pygeoapi is built on an extensible plugin framework in support of clean, adaptive data integration (called "providers''). Elasticsearch (ES) is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. The Elasticsearch data provider for pygeoapi is one of the most complete in terms of functionalities and it also includes CQL support with the CQL-JSON dialect, which allows you to take extra advantage of the ES backend. This presentation will provide an overview of OGC APIs, pygeoapi and Elasticsearch integration, and demonstrate usage in a real-world data dissemination environment.
Keywords
202
Thumbnail
1:16:05
226
242
Computer iconGreen's functionInformation retrievalIntegrated development environmentSystem programmingDiscrete groupSoftware engineeringCASE <Informatik>Different (Kate Ryan album)Exterior algebraSoftwareArithmetic progressionStandard deviationSoftware developerElectric generatorProcess (computing)Open setWeb 2.0Information retrievalIntegrated development environmentWeb-DesignerComputer animation
Standard deviationServer (computing)ImplementationSoftware suiteDiagramComponent-based software engineeringClient (computing)Parameter (computer programming)Latent heatCore dumpMatrix (mathematics)Query languageInternet service providerDigital filterCategory of beingInternet service providerCovering spaceData storage deviceLatent heatDifferent (Kate Ryan album)Search engine (computing)MereologyCASE <Informatik>Computer architectureQuery languageCodeImplementationModule (mathematics)Elasticity (physics)Projective planeMultiplication signQuicksortSoftwareComputer animationProgram flowchart
Mountain passInternet service providerQuery languageDialectQuarkCategory of beingLatent heatDigital filterPairwise comparisonPredicate (grammar)File formatLogicContent (media)EmailData typeFile formatArithmetic progressionCASE <Informatik>Range (statistics)Computer animation
ImplementationModul <Datentyp>Subject indexingArchitectureJSONXML
Transcript: English(auto-generated)
Hello, everyone. I'm Antonio Circello. I'm a software engineer collaborating with a company like Geo Beyond and ByteRoad. Today, I'm going to talk to you about a news case of PyGeo API. And I will tell you why I think it's a nice use case to share. Very quickly, OGC API.
OGC API is the new generation of OGC standards. It's web native. It's made in an open API REST fashion. And it's meant to be a modern alternative to the standard, the OGC standard that we use so far, that we all know, and using our software.
It's meant to be easier to use and web developer friendly also. And as I said, it's going to replace the existing standard. Indeed, we have different APIs covering different use case.
It's a work in progress with some of them. But there are already approved standards like OGC API features, process, and environmental data retrieval. PyGeo API is one of the first software that started to implement this standard.
It's part of the discussion with the OGC about the definition of this standard. And it's a Python implementation. Recently, it's a news of these days. It was also added as a OGC project. Sorry, OSGeo project. And it's a nice way to try the OGC API thing.
What I like also about PyGeo API is the modular architecture that lets you easily extend and cover different use case that you could have even in case they are not yet covered by the code.
One of the key aspects of this modular architecture is the provider module that lets you connect your API to different storage. In this case, we are going to see one of the most complete implementation that is the one that connects to an Elasticsearch data store.
I think there is no time to tell you also, but Elasticsearch is basically a search engine that could be used, like in this case, like a sort of NoSQL storage for your data. So in the end, you will use Elasticsearch to store your GeoGson data and let PyGeo API expose according to this
specification. The nicest thing about this provider is that it's one of the most complete. And it's also the fact that lets you query with the SQL standard data in your storage. Indeed, there is support for the simple SQL
filter for now. But there are work in progress to extend it even further in the GSON format. So in the end, what you could do if you are curious about OGC API, or if you already have a use case that
requires you to adopt this standard, PyGeo API could be, first of all, a one-stop solution, because it supports a wide range of standard. And it's mean to be extended to support even more. And it's very easy to set up. And in case, consider also the Elasticsearch solution.
That's all. Thank you.