Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Jorge Sanz

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.


Sessions

12-06
12:00
30min
Rendering OGC API Compliant Vector Tiles on the Fly with pygeoapi + Elasticsearch
Joana Simoes, Jorge Sanz

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.

Open Standard
Room I