Vector tiles

To serve vector tiles you need to define a grid under key vector_tiles in geoportal/vars.yaml, example:

vars:
  vector_tiles:
    srid: 2056
    extent: [2420000, 1030000, 2900000, 1350000]
    resolutions: [4000, 2000, 1000, 500, 250, 100, 50, 20, 10, 5, 2.5, 1, 0.5, 0.25, 0.1, 0.05]

And to build the layer on the ngeo side, you must use the same parameters under key interfaces_config.default.constants.gmfVectorTilesOptions. The projection and the tileGrid must match the map parameters:

vars:
  interfaces_config:
    default:
      gmfVectorTilesOptions:
        projection: EPSG:2056
        tileGrid: <Open layers ol/tilegrid/TileGrid options>

You also need to define at least one “Vector Tiles” layer in admin interface with the following required attributes:

name

Name of the layer

style

URL to a Mapbox Style file (version 8 or higher), examples: - https://example.com/mystyle.json - static:///mb_styles/osm_landuse.json

sql

PostGIS SQL query template with {envelope} parameter.

For example, for considered table:

CREATE TABLE geodata.osm_landuse (
    fid integer NOT NULL,
    osm_id bigint,
    name character varying(48),
    type character varying(16),
    geom public.geometry(Polygon,2056)
);

Here is an example SQL query template:

SELECT ST_AsMVT(q, 'osm_landuse') FROM (
    SELECT
        fid,
        osm_id,
        name,
        type,
        ST_AsMVTGeom("geom", {envelope}) as geom
    FROM geodata.osm_landuse
    WHERE ST_Intersects("geom", {envelope})
) AS q

Then your vector tiles will be accessible, for example in local development mode, through:

https://localhost:8484/vector_tiles/{layer_name}/{z}/{x}/{y}.pbf

Note

Currently vector tiles layers in GMF have a limited support. A vector tiles layer can be only added as a background layer. It’s not possible to print it and it doesn’t support dimensions. Queries can be only done via another WMS layer using the metadata ogcServer and queryLayers.