Rendering OGC API Compliant Vector Tiles on the Fly with pygeoapi + Elasticsearch
12-06, 12:00–12:30 (America/Belem), Room I

Tiled maps are well-known for their performance and have been present in web map applications for more than twenty years. Vector tiles combine all the benefits of map tiling with the ability to access attributes, enabling client side attribute-based rendering. This makes them one of the most efficient ways of visualising vector data, and they are present in many interactive web maps that we see on the web today.

However the proliferation of web map applications has often resulted in a lack of interoperability between tile servers and clients. This was the motivation for the OGC API - Tiles Standard (https://tiles.developer.ogc.org/), published in late 2022. The core of this Standard is very simple, adding some formality to what people have been doing for years with XYZ tilesets, while specifying some metadata elements that help clients do a better job at creating maps (e.g.: title, description, zoom levels, custom projection).

In this talk we will present a software stack to render OGC compliant vector tiles. This stack includes pygeoapi (https://pygeoapi.io/), an OSGeo project and a Reference Implementation for OGC API - Tiles (https://www.ogc.org/resources/product-details/?pid=1663). The architecture of pygeoapi supports backend plugins, which use different software for storing and accessing geospatial data. For the purpose of creating vector tiles, we will present the MVT-elastic plugin (https://github.com/geopython/pygeoapi/blob/master/pygeoapi/provider/mvt_elastic.py), which leverages the Elasticsearch capability of rendering vector tiles on the fly, from geospatial data stored in an Elasticsearch index. Elasticsearch (https://github.com/elastic/elasticsearch) is a distributed, RESTful search and analytics engine. Recently, this plugin also became capable of exposing the attributes associated with the data, enabling client side styling of attributes. These capabilities can be demonstrated by creating a Leaflet map that consumes and styles the pygeoapi+elastic vector tiles (https://emotional-cities.github.io/vtiles-example/demo-oat.htm).

We hope that this presentation can make the creation of fast, expressive and interoperable maps, accessible to anyone.

Joana is a software engineer with more than fifteen years experience and a strong expertise in the field of geospatial tech and analytics.
After acquiring a PhD in GIS, at UCL, her drive to solve real-world problems has led her to SMEs, an international organisation, a research foundation and a start-up. Joana has been very involved with FOSS, in particular in what concerns geospatial. This has led her to become a charter member of OSGeo. Joana is the founder of ByteRoad, a SME in the field of data engineering and geospatial analytics. She is also a reviewer for the European Commission, and has been involved in education, teaching the next generation of full-stack developers and data analysts. As Developer Relations at OGC, Joana is responsible for connecting the OGC standards with the wider developer community, hopefully increasing their adoption and contributing towards making them more developer-friendly.

This speaker also appears in:

Jorge Sanz is a geospatial technologist from València, Spain. With a background in Cartography and Geodesy Engineering, he has been working in Geographic Information Systems and Software Engineering since 2004. After spending almost a decade in consultancy, he has contributed to technical roles in product companies since 2015, first at CARTO and then, since 2019, at Elastic.