dimensions WMS - sigrennesmetropole/visualiseur GitHub Wiki

Description fonctionnelle

Cf https://github.com/sigrennesmetropole/visualiseur/issues/58, http://mapserver.org/ogc/wms_time.html pour l'implem mapserver et http://docs.geoserver.org/latest/en/user/services/wms/time.html/http://docs.geoserver.org/latest/en/user/data/webadmin/layers.html#edit-layer-dimensions pour l'implem geoserver.

Si une couche WMS à dans ses capacités le support des dimensions, on veut afficher à l'utilisateur des curseurs lui permettant de naviguer dans ces dimensions.

Il peut y'en avoir plusieurs (altitude, temps..), et les dimensions peuvent etre de type 'point' (ie 2009, 2016, 100m, 200m) ou 'intervalle' (ie 2009-2010, 400-500m)

La gestion des intervalles et de plusieurs dimensions ne seront pas nécessaires dans un premier temps.

Pré-requis

Extension permettant a l'utilisateur de charger une couche WMS ou Extension permettant à l'utilisateur de charger une carte

Extension montrant la liste des couches pour ajouter le controleur utilisateur

Action initiale de l'utilisateur

  • L'utilisateur charge une couche WMS, ou elle est chargée par une carte.
  • Changement de la position du curseur.

Traitements

Analyse des capacités du service, recherche des dimension et des extent/range correspondants.

Exemple de service: http://wms.craig.fr/ortho?service=wms&request=getcapabilities&version=1.3.0

<Dimension name="time" units="ISO8601" default="2016-07-01" nearestValue="0">1996-06-01,2000-07-01,2001-06-01,2005-07-01,2007-06-01,2009-07-01,2013-07-01,2016-07-01</Dimension>
  • La valeur par défaut du/des curseurs correspond a la valeur de l'attribut 'default' de la dimension.
  • Le curseur doit afficher les valeurs disponibles
  • la couche est rechargée a chaque changement de position du curseur, potentiellement avec un effet de fondu avec l'ancienne image de la meme couche

État de sortie

La requète chargeant la couche WMS contient le paramêtre TIME correspondant a la position du curseur (2 positions pour une plage, 1 position pour un point dans la dimension).

⚠️ **GitHub.com Fallback** ⚠️