Integración de las teselas vectoriales con servicios estándar OGC

Las teselas vectoriales están pensadas para su visualización, no son un servicio de descarga. Por tanto, la manera de servirlas mediante estándares OGC es usando WMTS para la versión teselada, e incluso WMTS si quisiéramos servir el mismo formato pero sin el teselado.

En definitiva, podríamos considerar las teselas vectoriales como un nuevo formato de "imagen". Igual que tenemos image/jpeg o image/png, podríamos incluír un nuevo tipo MIME en las capabilities de nuestros servicios WMS y WMTS que sirviera los datos codificados en MVT.

Esto es precisamente lo que hace la extensión Vector Tiles de GeoServer cuando define el nuevo tipo MIME:

1
application/vnd.mapbox-vector-tile

Caso práctico: La extensión Vector Tiles de GeoServer

  1. Entrar en https://ide.cime.es/geoserver2/

  2. Explorar el GetCapabilities del servicio WMS. Buscar cómo están anunciadas las capas de teselas vectoriales.

  3. Explorar las Capabilities de los servicios WMTS, TMS y WMS-C, y comprobar si existen capas de teselas vectoriales.

  4. Entrar como administrador, y observar cómo está configurado GeoWebCaché para las capas que sirven teselas vectoriales.

  5. Discutir ventajas y limitaciones de GeoServer.

Ejemplos de integración con otros servicios de OGC

WMS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "sources": {
    "pnoa-source": {
      "type": "raster",
      "tiles": ["http://www.ign.es/wms-inspire/pnoa-ma?bbox={bbox-epsg-3857}&format=image/jpeg&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&width=256&height=256&layers=OI.OrthoimageCoverage"],
      "tileSize": 256
    }
  },
  "layers": [{
      "id": "pnoa-layer",
      "type": "raster",
      "source": "pnoa-source"
    }]
}

DEMO WMS imagen

Visor PNOA

WMTS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
  {
    "sources": {
      "wmts-source": {
        "type": "raster",
        "tiles": [
          "http://www.ign.es/wmts/pnoa-ma?Layer=OI.OrthoimageCoverage&Style=default&TileMatrixSet=GoogleMapsCompatible&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/jpeg&TileMatrix={z}&TileCol={x}&TileRow={y}"
        ],
        "tileSize": 256
      }
    },
    "layers": [{
      "id": "wmts-layer",
      "type": "raster",
      "source": "wmts-source"
    }]
  }

DEMO WMTS imagen

WFS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
  {
    "sources": {
      "geojson-source": {
        "type": "geojson",
        "data": "http://demo.fonts.cat/geoserver/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=TMB:LINIES_METRO&outputFormat=json&srsName=EPSG:4326"
      }
    },
    "layers": [{
      "id": "geojson-layer",
      "type": "line",
      "source": "geojson-source",
      "paint": {
        "line-width": 5,
        "line-color": ["concat", "#", ["get", "COLOR_LINIA"]]
      }
    }]
  }

DEMO WMTS imagen + WFS GeoJSON

Visor Metro

Teselas Vectoriales como TMS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
  {
    "sources": {
      "vectortile-tms-source": {
        "type": "vector",
        "tiles": ["http://demo.fonts.cat:8000/geoserver/gwc/service/tms/1.0.0/TMB%3ALINIES_METRO@EPSG%3A900913@pbf/{z}/{x}/{y}.pbf"],
        "scheme": "tms"
      }
    },
    "layers": [{
      "id": "vectortile-layer",
      "type": "line",
      "source": "vectortile-tms-source",
      "source-layer": "LINIES_METRO",
      "paint": {
        "line-width": 5,
        "line-color": ["concat", "#", ["get", "COLOR_LINIA"]]
      }
    }]
  }

DEMO WMTS imagen + Vector Tile TMS