Closed Gaetanbrl closed 2 months ago
@hsquividant Dans la description de l'issue, les dates proviennent de la dimension temporelle (geoserver) de la couche rpg_bosco
sela les descriptions précédents qui n'ont pas été commentée (donc vraies pour le moment) :
Je souhaite pouvoir sélectionner des dates après sélection d'une parcelle, Pouvoir choisir une date spécifique afin de consulter la valeur pour la parcelle sélectionnée à cette date Lors du chargement, les dates fournies dans le getCapabilities du flux seront réutilisées pour charger le calendrier.
Je vois cependant que pour la couche rpg_bosco
il n'y a pas de dimension temporelle (voir getCapabilities) ni de champ type date
pour cette couche qui permettrai d'avoir une dimension temporelle.
Cela veut donc dire qu'en l'état, la dimension temporelle n'existe que pour la couche humidite_bzh
(datastream) et les dates ne peuvent provenir que de cette couche.
Questions :
humidite_bzh
(ou autre datastreams à venir) que proviennent les dates ?@Gaetanbrl
Oui, à ce stade, seule la couche humidite_bzh fournit les dates. Il s'agit d'une couche raster multidate au format ImageMosaic.
Dans mon idée, la couche humidité multidate et la couche parcelle+SensorThings sont complètement indépendantes, donc dans ce premier développement, on peut faire le choix d'une déconnexion entre le calendrier affecté à la couche humidite_bzh et la sélection des datastreams reliée à la couche rpg_bosco. Dans le calendrier, il faut lister toutes les dates retournées par le getcapabilities de la couche humidite_bzh.
on peut faire le choix d'une déconnexion entre le calendrier affecté à la couche humidite_bzh et la sélection des datastreams reliée à la couche rpg_bosco
Le calendrier serait à afficher dans la légende de la couche humidité_bzh donc ?
oui, c'est ça.
Suite au point du jour, les éléments suivants sont à voir :
Voir pour n'afficher les dates dans le calendrier qui ont des données à l'écran (voir possibilités avec imagemosaic et envelop 2d + intersection geoserver query layer avec une bbox mviewer)
Avec Tom, on investigue une autre option via l'API STAC (SpatioTemporal Asset Catalog), candidat à l'adoption par l'OGC. Sa fonction première est la recherche dans des catalogues de données sur des critères spatio-temporels. Un exemple de requête et la réponse associée : https://catalogue.dataspace.copernicus.eu/stac/search?bbox=-4,46,-3,48&collections=SENTINEL-1 Dans le JSON retourné, il faudrait récupérer les dates dans features[n].properties.datetime pour les intégrer à intégrer au calendrier. Si le STAC devient un standard OGC, il serait intéressant d'ajouter ce type de fonctions de recherche interopérables au mviewer. Les plateformes de diffusion d'images Sat l'utilise depuis pas mal de temps. @Gaetanbrl qu'en dis-tu ?
Comme ca c'est faisable, il faudrait indiquer au custom control comment récupérer les dates ou par quel service et via quels propriétés du retour d'URL (qui peut changer selon l'URL utilisée).
Piste à creuser pour la mise en place dans mviewer afin de permettre de choisir la sources des dates via le getCapabilities ou via une API STAC.
Avec Tom, on investigue une autre option via l'API STAC
@hsquividant est-ce que c'est opérationnel afin que je puisse poursuivre les devs avec cette solution ?
@Gaetanbrl, pour l'instant, nous n'avons rien d'opérationnel. Par contre Copernicus propose déjà une API STAC qui permet la récupération des dates présentes pour leurs images Sentinel-1 qui sont les mêmes que celles du projet BOSCO.
Exemple de requête :
https://catalogue.dataspace.copernicus.eu/stac/collections/SENTINEL-1/items?bbox=-3,47.5,-2,48.5&datetime=2017-01-01T09:59:31.293Z/2022-12-31T09:59:31.293Z&limit=10
L'info à exploiter est dans features[n].properties.datetime.
C'est bien pour initier les devs, mais on trouve que les temps de réponse sont relativement longs. On envisage donc de déployer un service miroir "maison" qui ne contiendrait que les infos utiles et qu'on espère nettement plus rapide.
A suivre...
@Gaetanbrl, on vient de déployer notre propre service STAC. Il permet de récupérer les dates présentes au sein d'une emprise spatiale (bbox) et temporelle (datetime) avec des performances nettement supérieures à celles du service Copernicus. Pour le moment, il fournit plus de dates que celles réellement présentes dans l'emprise fournie dans la requête mais tu peux déjà la tester dans les devs. Exemples de requêtes :
Reste à faire à traiter par l'équipe @hsquividant (voir dernier commentaire). Je fais une autre issue sur ce sujet et je clos cette issue.
Cas d'usage
En tant qu'utilisateur de BOSCO Je souhaite pouvoir sélectionner des dates après sélection d'une parcelle, Afin de n'afficher que les valeurs d'un indicateur issu du dataStream pour cette date et pour une parcelle donnée.
Présentation
il est demandé de :
Pouvoir choisir une date spécifique afin de consulter la valeur pour la parcelle sélectionnée à cette date. Le flux getCapabilities est déjà disponible et devrait permettre l’identification des dates disponibles : https://geosas.fr/geoserver/bosco/humidite_bzh/ows?SERVICE=WMS&REQUEST=GetCapabilities
Pouvoir accompagner l’utilisateur en mettant en évidence dans une interface simple les dates sélectionnables
Le rendu final devra permettre de sélectionner rapidement et ergonomiquement les données sur les dates disponibles.
Prérequis
La couche raster doit être publiée et accessible avec une dimension temporelle.
Description fonctionnelle
Un nouveau customcontrols sera réalisé. Il ne sera pas basé sur la brique temporelle existante.
Il permettra de choisir :
Une date unique sélectionnable dans un calendrier afin de voir uniquement les valeur de cette date. Les dates disponibles seront mises en évidence par une couleur spécifique définie dans la configuration du customcontrol. Selon les faisabilités techniques, les dates indisponibles pourront être rendues non cliquables si la configuration le précise.
Une plage temporelle d’une date de départ à une date d’arrivée afin d’afficher les données sensorthings sur une série temporelle spécifique. Il pourra être possible de définir dans la configuration une plage par défaut en nombre de jours à partir de la date du jour (ex : les 120 derniers jours), ou selon 2 dates.
En option : une interface permettra à l'utilisateur de saisir une valeur de recouvrement. Par exemple, s'il sélectionne le 11 mars avec une valeur de +2, alors les dates visibles seront le 11, 12 et 13 mars afin de couvrir plus de territoire sur plusieurs dates. Ce besoin est né du fait que les images satellite couvre un territoire complet en plusieurs jours (nombre constant) et que la sélection d'une date ne permet pas d'afficher tout le territoire dans certains cas.
Description technique
Lors du chargement, les dates fournies dans le getCapabilities du flux seront réutilisées pour charger le calendrier. Les technologies de la brique temporelle existante dans mviewer pourront cependant être réutilisées.
Tâches