Diffusion en tuiles vectorielles à la volée
Configuration de la diffusion
La configuration centralise toutes les informations nécessaires à la diffusion de données sur les services. A ce moment, on va contrôler les paramètres et détecter les erreurs ou conflits potentiels :
- nom de couche déjà pris (il doit y avoir unicité sur toutes les configurations TMS vecteur de la plateforme)
- table absente de la donnée stockée
Dans le cas du TMS vecteur, une configuration va donner plusieurs couches finales, le layername défini va servir de préfixe au nom des tables. On aura dans notre exemple les couches WFS :
pays_ecoregions.regions_ecologiques
pays_ecoregions.pays
/datastores/{datastore}/configurations
{
"type": "VECTOR-TMS",
"name": "Pays et écorégions",
"layer_name": "pays_ecoregions",
"type_infos": {
"used_data": [
{
"relations": [
{
"native_name": "ecoregions",
"public_name": "regions_ecologiques",
"abstract": "Grandes régions naturelles mondiales"
},
{
"native_name": "pays",
"abstract": "Pays du monde"
}
],
"stored_data": "{stored data}"
}
]
}
}
Si on ne précise pas de public_name, c'est le nom natif de stockage qui est utilisé.
Envoi sur les services de diffusion
À ce stade, aucune information n'a été envoyée aux serveurs pg_tileserv assurant la diffusion. Cette synchronisation de la configuration sur les serveurs de diffusion, représentés par le point d'accès, se fait via la création d'une offre: la publication. Elle matérialise la présence d'une configuration sur un point d'accès.
Consultation des points de diffusion disponibles
/datastores/{datastore}
[
{
"name": "Service de diffusion WFS principal",
"technical_name": "gpf-geoserver-wfs",
"type": "WFS",
"urls": [
{
"type": "WFS",
"url": "https://data.geopf.fr/wfs/geoserver/ows"
}
],
"_id": "ae012611-13eb-4a18-8d04-9b7604a031cc",
"open": true,
"metadata_fi": "gpf-geoserver-wfs"
},
{
"name": "Service de diffusion WMTS/TMS principal",
"technical_name": "gpf-rok4-server-wmts-tms",
"type": "WMTS-TMS",
"urls": [
{
"type": "WMTS",
"url": "https://data.geopf.fr/wmts"
},
{
"type": "TMS",
"url": "https://data.geopf.fr/tms/"
}
],
"_id": "ae032611-13eb-4a18-8d04-9b7604a031cc",
"open": true,
"metadata_fi": "gpf-rok4-server-wmts-tms"
},
{
"name": "Service de diffusion WMS Raster principal",
"technical_name": "gpf-rok4-server-wms-r",
"type": "WMS-RASTER",
"urls": [
{
"type": "WMS",
"url": "https://data.geopf.fr/wms-r/wms"
}
],
"_id": "ae042611-13eb-4a18-8d04-9b7604a031cc",
"open": true,
"metadata_fi": "gpf-rok4-server-wms-r"
},
{
"name": "Service de diffusion WMS Vecteur principal",
"technical_name": "gpf-geoserver-wms-v",
"type": "WMS-VECTOR",
"urls": [
{
"type": "WMS",
"url": "https://data.geopf.fr/wms-v/geoserver/ows"
}
],
"_id": "ae022611-13eb-4a18-8d04-9b7604a031cc",
"open": true,
"metadata_fi": "gpf-geoserver-wms-v"
},
{
"name": "Service de Téléchargement principal",
"technical_name": "gpf-download",
"type": "DOWNLOAD",
"urls": [
{
"type": "DOWNLOAD",
"url": "https://data.geopf.fr/telechargement/"
}
],
"_id": "ae052611-13eb-4a18-8d04-9b7604a031cc",
"open": true,
"metadata_fi": "gpf-download"
},
{
"name": "Service de diffusion CSW",
"technical_name": "gpf-geonetwork",
"type": "METADATA",
"urls": [
{
"type": "METADATA",
"url": "https://data.geopf.fr/csw"
}
],
"_id": "ae062611-13eb-4a18-8d04-9b7604a031cc",
"open": true,
"metadata_fi": "gpf-geonetwork"
},
{
"name": "Service de téléchargement private",
"technical_name": "gpf-download-private",
"type": "DOWNLOAD",
"urls": [
{
"type": "DOWNLOAD",
"url": "https://data.geopf.fr/private/telechargement/"
}
],
"_id": "b5bf7ab2-8998-4829-8c80-cd2ec02e6e58",
"open": false,
"metadata_fi": "gpf-download-private"
},
{
"name": "Service de diffusion WFS privé",
"technical_name": "gpf-geoserver-wfs-private",
"type": "WFS",
"urls": [
{
"type": "WFS",
"url": "https://data.geopf.fr/private/wfs/"
}
],
"_id": "d02feec9-1169-403f-bfc3-7ba6d6015ed4",
"open": false,
"metadata_fi": "gpf-geoserver-wfs-private"
},
{
"name": "Service de diffusion WMS Vecteur privé",
"technical_name": "gpf-geoserver-wms-v-private",
"type": "WMS-VECTOR",
"urls": [
{
"type": "WMS",
"url": "https://data.geopf.fr/private/wms-v/"
}
],
"_id": "519c8bb1-9b7f-414a-9850-1a73dfd467ed",
"open": false,
"metadata_fi": "gpf-geoserver-wms-v-private"
},
{
"name": "Service de diffusion WMS Raster privé",
"technical_name": "gpf-rok4-server-wms-r-private",
"type": "WMS-RASTER",
"urls": [
{
"type": "WMS",
"url": "https://data.geopf.fr/private/wms-r/"
}
],
"_id": "66866100-48eb-4340-bbc9-f5c7d9707928",
"open": false,
"metadata_fi": "gpf-rok4-server-wms-r-private"
},
{
"name": "Service de diffusion WMTS/TMS privé",
"technical_name": "gpf-rok4-server-wmts-tms-private",
"type": "WMTS-TMS",
"urls": [
{
"type": "TMS",
"url": "https://data.geopf.fr/private/tms/"
},
{
"type": "WMTS",
"url": "https://data.geopf.fr/private/wmts/"
}
],
"_id": "7e0a92d1-8213-4ce0-8903-eb4c305a1849",
"open": false,
"metadata_fi": "gpf-rok4-server-wmts-tms-private"
}
]
Publication
/datastores/{datastore}/configurations/{configuration tms vecteur}/offerings
On peut vérifier la présence de nos couches pays_ecoregions.regions_ecologiques
et pays_ecoregions.pays
dans le getCapabilities du service TMS Vecteur. On peut également avoir des détails sur la couche pays_ecoregions.regions_ecologiques et des détails sur la couche pays_ecoregions.pays.
L'avantage de ce service est de pouvoir faire du filtrage côté serveur, en précisant un paramètre filter
, ainsi que limiter les champs retournés avec le paramètre properties
. Voici un exemple en définissant une source Tuiles vectorielles
dans QGIs avec l'URL suivante : https://data.geopf.fr/vector-tms/1.0.0/pays_ecoregions.regions_ecologiques/{z}/{x}/{y}.pbf?filter=realm='Palearctic'&properties=id,eco_name