Publication en WMS
Mise en place d'un style
Les données MNT ont un format particulier : les images ont un unique canal, avec des valeurs flottantes. Les flux WMS et WMTS vont permettre de récupérer la donnée brute (pour d'éventuels calculs), mais l'affichage peut être compliqué.
En WMS, on va permettre la demande de donnée symbolisée, en appliquant des teintes hypsométriques. Afin que le consommateur des flux puisse connaître les caractéristiques de ces teintes, nous allons mettre en ligne la légende, qui sera référencée dans le style via son URL.
Nous allons partir sur une représentation qui, sur la donnée en exemple, donne le résultat suivant.
Avec la légende :
Hébergement de la légende sous forme d'annexe
Pour obtenir une URL publique pointant sur notre légende, nous allons la téléverser dans l'entrepôt sous forme d'annexe, en en demandant la publication immédiate.
<hypso_legende.png>
/datastores/{datastore}/annexes
- file =
<hypso_legende.png>
- paths = "legendes/teintes_hypsometriques.png"
- published =
true
- labels = "legende"
Le renseignement d'un label va permettre de plus facilement retrouver et publier / dépublier les annexes.
La légende est maintenant accessible à l'URL https://gpf-annex-qua.priv.geopf.fr/annexes/{technical_name}/legendes/teintes_hypsometriques.png
.
Téléversement du style à destination du serveur WMS
Le style permettant au serveur WMS d'appliquer ces teintes sur de la donnée MNT est le suivant :
{
"identifier": "hypsometrique",
"title": "Teintes hypsométriques",
"abstract": "Teintes hypsométriques",
"keywords": ["MNT"],
"legend": {
"format": "image/png",
"url": "https://gpf-annex-qua.priv.geopf.fr/annexes/{technical_name}/legendes/teintes_hypsometriques.png",
"height": 118,
"width": 87,
"min_scale_denominator": 0,
"max_scale_denominator": 10000000
},
"palette": {
"max_value": 3.40282e+38,
"rgb_continuous": true,
"alpha_continuous": true,
"colours": [
{ "value": -100000, "red": 0, "green": 0, "blue": 0, "alpha": 0 },
{ "value": -98000, "red": 0, "green": 0, "blue": 0, "alpha": 0 },
{ "value": 0, "red": 161, "green": 225, "blue": 143, "alpha": 255 },
{ "value": 500, "red": 48, "green": 164, "blue": 16, "alpha": 255 },
{ "value": 1500, "red": 237, "green": 239, "blue": 0, "alpha": 255 },
{ "value": 2000, "red": 225, "green": 0, "blue": 0, "alpha": 255 },
{ "value": 2500, "red": 0, "green": 0, "blue": 0, "alpha": 255 },
{ "value": 4000, "red": 255, "green": 255, "blue": 255, "alpha": 255 }
]
}
}
On y précise bien les informations sur la légende associée. Le champ identifier
sera l'identifiant public que les consommateurs du WMS pourront préciser dans les requêtes pour demander l'utilisation de ce style.
hypso.json
/datastores/{datastore}/statics
- file =
<hypso.json>
- type = "ROK4-STYLE"
- name = "Teintes hypsométriques"
Configuration de la diffusion
Nous allons publier la donnée selon deux couches :
- une avec le style,
lidarhd_hypso
, pour avoir par défaut la représentation par teintes hypsométriques - une sans style,
lidarhd
, pour diffuer la donnée brute, et permettre des traitement sur les altitudes côté client.
/datastores/{datastore}/configurations
{
"type": "WMS-RASTER",
"name": "MNT LidarHD données brutes",
"layer_name": "lidarhd",
"type_infos": {
"title": "MNT LidarHD",
"abstract": "MNT LidarHD brut",
"keywords": [
"MNT", "LidarHD"
],
"interpolation": "NEAREST-NEIGHBOUR",
"used_data": [
{
"bottom_level": "18",
"top_level": "0",
"stored_data": "{stored data MNT}"
}
]
},
"getfeatureinfo": {
"stored_data": true
}
}
{
"type": "WMS-RASTER",
"name": "MNT LidarHD Teintes hypsométriques",
"layer_name": "lidarhd_hypso",
"type_infos": {
"title": "MNT LidarHD",
"abstract": "MNT LidarHD, avec teintes hypsométriques",
"keywords": [
"MNT", "LidarHD", "Teintes hypsométriques"
],
"styles": [
"{style hypso}"
],
"interpolation": "NEAREST-NEIGHBOUR",
"used_data": [
{
"bottom_level": "18",
"top_level": "0",
"stored_data": "{stored data MNT}"
}
]
},
"getfeatureinfo": {
"stored_data": true
}
}
Envoi sur les services de diffusion
Seule la création d'une offre sur un point d'accès (publication) permet d'envoyer les informations de configuration au serveurs de diffusion.
Consultation des points de diffusion disponibles
Publication
/datastores/{datastore}/configurations/{configuration wms lidarhd}/offerings
/datastores/{datastore}/configurations/{configuration wms lidarhd hypso}/offerings
On peut vérifier la présence de nos couches lidarhd
et lidarhd_hypso
dans le getCapabilities du service.
Dans QGis, on retrouve la légende déposée sous forme d'annexe.