Why Baremaps?

Starting Position

Classic Spatial Data Infrastructures often rely on OGC standards, which bring common geospatial services and interoperability. The role of such platforms is to publish, share and promote datasets, which is mostly done through web mapping applications.

Famous applications or frameworks (eg. MapStore, GeoNetwork, geOrchestra, GeoMapfish and others) mostly rely on those services, WMS first, sometimes WFS or WPS.

This leads to a situation where maps and layers are created by administrators, where maps are just images and where vector data are not used to their full potential.

On the other hand, Mapbox Vector Tiles specification completely changed the paradigm of geospatial data visualization. It’s a fact, the best interactive maps are based on vector data, with client based styling. The best way to serve vector data is with MVT pbf format. 

Unfortunately, this format is not part of the OGC yet and is not yet well integrated in common SDI solutions though, for different reasons:

  • A MVT server could add another external piece to your SDI service constellation and could seemingly be an additional painful task for dataset administrators.
  • MVT servers are often based on a static configuration and it’s not easy to customize the content of an MVT stream service.

 

Our Vision

From this assessment, we think there is a lack of options to unify the power of vector data to web maps. We are convinced that the vector format is the core of great visualization, great thematic maps, and great promotion of your data.

The Baremaps solution fills this hole and reconnects the user to vector maps publication. Baremaps, with the studio extension, brings new opportunities to easily publish, style and customize maps and dataset visualizations.

Why Baremaps Studio?

Baremaps is a blazing fast vector tiles server which has been initially created to serve a unique worldwide tileset based on OSM data. It differentiates itself from other MVT servers by:

  • It is a fully packaged solution, meaning that it not only contains a MVT server, but also a MVT generator and cloud storage outputs as well as publication pipelines for OSM.
  • It contains a tileset configuration, which allows you to customize the content of your tilesets.
  • Styling support is also included.

 

Vector tile generation is based on PostGIS data with an optimized meta SQL query empowering the ST_AsMvt function.

These solid foundations were a good starting point to push the concept even further: turning it into a MVT studio backend. Baremaps Studio was born, extending its core by implementing new APIs to ease dataset and map publication:

  • Implements partial OGC API for tiles and styles blocks
  • inherits from the MVT ecosystem with tileset and dataset CRUD APIs.

 

But what does that mean and how does the studio backend work?

  1. You can dynamically publish custom datasets: through different kinds of connectors (eg. GeoJSON, SHP, CSV, Databases, WFS, metadata or open data catalogues etc..), Baremaps Studio can import several kinds of datasets into its inner PostGIS database and add metadata to reference them as available dataset.
  2. You can dynamically create and customize a tileset from available datasets. Those datasets come from an internal OSM pipeline, or from custom datasets that users have pushed on the platform.
  3. You can adjust the way the dataset is provided, as far as PostGIS allows it (e.g. by using buffers, joins, aggregations).
  4. You can style your map based on Mapbox Style Specification
  5. You can publish your map to the Web

Core Concepts

Tileset schema

A tileset defines the content of a vector tiles stream for each zoom level. You can define different layers and specify what content is shown for each layer on each zoom level. The content is defined with SQL queries, which leverages all the power of PostGIS functions and syntax.

{
 "tilejson": "2.2.0",
 "center": [
   9.5554,
   47.166,
   14.0
 ],
 "bounds": [
   9.471078,
   47.04774,
   9.636217,
   47.27128
 ],
 "minzoom": 12.0,
 "maxzoom": 14.0,
 "tiles": [
   "http://localhost:9000/tiles/{z}/{x}/{y}.mvt"
 ],
 "vector_layers": [
   {
     "id": "aeroway",
     "queries": [
       {
         "minzoom": 12,
         "maxzoom": 20,
         "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'aeroway'"
       },
       {
         "minzoom": 12,
         "maxzoom": 20,
         "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'aeroway'"
       },
       {
         "minzoom": 12,
         "maxzoom": 20,
         "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'aeroway' AND tags -> 'type' = 'multipolygon'"
       }
     ]
   },

Example of partial OSM MVT tileset

Style

The style file defines how the content of a tileset is rendered on the map. The combination of a tileset (MVT stream) and a style file defines the map. Actually, the style file is the unique entry point for the web map application to display the map because the Mapbox Style

  • contains a link to the tileset definition url
  • contains the styling of all datasets which are available from the tileset

The architectural patterns stick close to the Mapbox ecosystem, which makes Baremaps studio maps performant on Maplibre and on MapboxGL libraries.

 

Conclusion

With its innovative approach, Baremaps studio provides a new concept to the vector tiles ecosystem: flexibility. The content of your map is customisable, and more important, it’s dynamic. We call it the MVT live rendering, which kind of challenges the initial meaning of vector tiles but which makes them even cooler. You can now create performant, beautiful, talkative vector maps in a few clicks.

Stay tuned for Part 2 of this blog, where we will illustrate the abilities of the Studio with a concrete use case!

Interested to learn more?

Please don't hesitate to contact us using the form below!

HOW DID YOU HEAR ABOUT US? *
By submitting this form, I accept that the information entered will be used for the purposes described in the privacy policy.