Découvrez notre formation Comptabilité Odoo !

Pourquoi Baremaps ?

La situation

La plupart des IDS (Infrastructure de données spatiales) du paysage français sont basées sur les standards OGC, qui garantissent l’interopérabilité des services cartographiques. Ces plateformes permettent la publication, le partage et la promotion des données géographiques, par le biais de visualiseurs cartographiques.

Toutes les grosses solutions comme MapStore, GeoNetwork, geOrchestra, GeoMapfish implémentent ces standards, elles s’appuient principalement sur des flux WMS, mais également WFS ou WPS.

Ces plateformes sont assez génériques mais souffrent de quelques revers:

  • La publication des données, la création des couches ou des cartes sont souvent réservées aux administrateurs
  • Les cartes sont juste des images sans contenu
  • La donnée vectorielle attributaire n’est pas exploitée à son plein potentiel

A côté de ça, la spécification Mapbox Vector Tile a révolutionné le mode de visualisation des données géographiques. C’est un fait, la donnée vectorielle enjolive la représentation des données, elle apporte bien plus d’interaction et d’animation que la donnée sous forme d’image. Et la façon la plus optimale de servir des données vectorielles est la tuile vectorielle au format PBF.

Malheureusement, ce format n’est pas reconnu par l’OGC et reste assez peu exploité dans les IDS, ce probablement pour différentes raisons:

  • Il faut ajouter une nouvelle brique à la constellation de logiciels de votre IDS, ce qui peut rebuter les administrateurs système.
  • Les serveurs de tuiles vectorielles sont assez rigides. Ils sont souvent basés sur un fichier de configuration qui permet de personnaliser le contenu d’un unique flux de tuiles.
  • Les applications peuvent souffrir d’un manque de performances avec trop de données vecteurs à afficher.

En gros, ils n’apportent pas la simplicité ni la flexibilité escomptée.

 

La vision

De ce constat, nous observons que nous manquons encore d’options pour réunifier le monde de la donnée vectorielle et les applications web cartographiques. Nous sommes convaincus que le format vectoriel reste au cœur de belles visualisations, de cartes thématiques équivoques et de la promotion de vos données.

La solution Baremaps pallie à ces différentes contraintes et souhaite reconnecter l’utilisateur à la création/publication de cartes vectorielles, comme pourrait être le rôle d’un SIG.

Baremaps et son extension Studio réinvente la contribution aux plateformes géographiques et simplifie le processus de publication, de symbologie et de personnalisation des cartes et des couches de données.

Pourquoi Baremaps Studio ?

Baremaps est un serveur de tuiles vectorielles puissant et très performant. Il a été initialement conçu pour générer et servir un flux unique de tuiles, statique, basé sur les données mondiales OSM. Il se différencie d’autres serveurs de tuiles vecteur par différents points:

  • C’est une solution globale qui ne fournit pas simplement des services de tuile, mais aussi une pipeline de génération de tuiles OSM et une passerelle vers des Cloud Storage type AWS.
  • Il se base sur un fichier de configuration par tileset, pour paramétrer de façon précise le contenu des tuiles.
  • Il embarque un éditeur de style

En gros il adresse l’ensemble des enjeux liés à la publication de tuiles vecteur.

La génération des tuiles s’appuie sur une méta requête SQL PostGIS, profitant de la puissance de la fonction ST_AsMvt().

Cette architecture solide est une base parfaite pour pousser le concept encore plus loin: l’idée d’utiliser Baremaps non pas comme un serveur de flux statique mais comme un service de rendu dynamique de tuiles vectorielles. De cette idée découle la création de Baremaps Studio qui étend le coeur du produit pour fournir de nouvelles fonctionnalités dédiées à la création de cartes:

  • Implémentation partielle de la spécification OGC API pour les tuiles et les styles
  • Héritage de l’écosystème Mapbox MVT et API pour les dataset et les tileset.

Nous nous retrouvons donc avec un serveur capable d’ingérer de la donnée géographique et de la publier de façon personnalisée, basée sur le répertoire de fonctions PostGIS, dans des flux de tuiles vectorielles.

Regardons plus en détail comment cela fonctionne, et en quoi cette approche bouscule les standards. 

  1. Baremaps permet de publier des jeux de données locaux ou distants: par le biais de connecteurs type GeoJSON, SHP, CSV, Excel, Bases de données, WFS, catalogue de métadonnées ou Open Data etc... Ces données sont importées dans la base PostGIS interne et sont référencées comme jeux de données Baremaps via des métadonnées.
  2. On peut créer un flux de tuiles (tileset) personnalisé à partir de tous les jeux de données référencés dans Baremaps. C’est à dire les données OSM de votre territoire et toutes les données importées via les connecteurs.
  3. La syntaxe PostGIs vous permet de définir comment les données sont représentées dans les tuiles. Les données peuvent être croisées, traitées, analysées (jointures, agrégation, buffer etc…).
  4. Vous pouvez afficher (style) votre carte et vos données via la spécification Mapbox Style (expressions, palettes, choropleth, symboles proportionnels, cartes de chaleur etc…).
  5. Enfin, vous pouvez publier votre travail et diffuser vos cartes sur le Web.

Concepts techniques

Schéma du Tileset

Le Tileset définit le contenu d’un flux de tuiles, ce pour chaque niveau de zoom. Une tuile peut contenir plusieurs jeux de données (routes, bâtiments), pour chaque jeux de données et pour chaque niveau de zoom, on peut définir la représentation et le contenu. Ce contenu est déclaré sous forme de requête SQL, qui profite de la puissance des fonctions PostGIS.

{
 "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'"
       }
     ]
   },

Exemple d’une partie d’un tileset OSM

Style

Le fichier de style définit comment le contenu des tuiles est affiché dans la carte. C’est la combinaison du tileset (tuiles) et du style qui compose la carte. En fait, le style est le point d’entrée unique à Baremaps pour afficher une carte car

  • Il contient un lien vers le fichier de tileset utilisé
  • Il contient toutes les règles de style de chaque jeu de données contenu dans les tuiles

Baremaps calque cette logique sur les fondements de l’écosystème Mapbox, ce qui fait que les cartes générées par le Studio sont très performantes sur les librairies javascript MapLibre ou MapboxGL.

 

Conclusion

Avec son approche innovante, Baremaps Studio apporte de nouveaux concepts à l’écosystème de la tuile vectorielle: la flexibilité. Le contenu de votre carte est paramétrable, et plus important encore, il est dynamique. Nous appelons ça le MVT Live Rendering, qui challenge le but original de ce format, le rendant encore plus polyvalent. Vous pouvez désormais créer des cartes vectorielles performantes, jolies et parlantes en quelques clics.

Restez connectés, nous présenterons les capacité de ce Studio avec un cas d’usage concret dans un prochain article !

Avez-vous besoin de plus d'informations ?

N'hésitez pas à prendre contact avec nous !

COMMENT AVEZ-VOUS ENTENDU PARLER DE NOUS ? *
En soumettant ce formulaire, j'accepte que les informations saisies soient utilisées aux fins décrites dans la politique de confidentialité.

Carrière

Vous souhaitez travailler dans un environnement inspirant et rejoindre nos équipes motivées et multiculturelles ?