Client de carte Web open source avec curseurs temporels utilisant la source WMS

8

J'ai un service de carte Web (WMS sur geoserver). Il a une visualisation actuelle qui est décente. Les données sont divisées en mois en utilisant actuellement des onglets. Je voudrais visualiser les données en utilisant un client de carte Web basé sur une source ouverte avec un curseur temporel.

J'ai vu quelques exemples, mais je suis à la recherche d'une solution générique où je peux essentiellement changer les couches d'arrière-plan (également WMS), les wms source et les attributs pertinents. Ceci pour pouvoir expérimenter davantage avec la solution. La couche temporelle wms (wms-t) ne doit pas modifier les couches wms d'arrière-plan. Ils doivent rester contrôlés par un fichier de configuration ou une interface de sélection interactive non liée au curseur temporel.

Les services actuels sont accessibles via le paramètre de temps wms:

temps = 2014-1 temps = 2014-5 etc.

Il devrait être possible pour l'utilisateur de définir des valeurs et des intervalles min / max, ou le client devrait être en mesure de le deviner par lui-même sur la base de getcapabilities-info.

ESRI ou d'autres solutions commerciales (sources fermées) ne sont pas des options possibles pour cette question.

ragnvald
la source
1
Avez-vous besoin que la solution soit compatible avec votre visualisation actuelle ou recherchez-vous un client de carte Web distinct possible? J'ai utilisé un dépliant et un plugin pour faire quelque chose de similaire (Plugin "TimeSlider")
Djana
Complètement en dehors de l'actuel. Vous cherchez une preuve de concept rapide et sale pour prototyper de nouvelles fonctionnalités.
ragnvald
"J'ai vu quelques exemples, mais je suis à la recherche d'une solution générique où je peux essentiellement changer les couches d'arrière-plan (également WMS), les wms source et les attributs pertinents." Vous voulez donc des contextes cartographiques par rapport aux valeurs temporelles? Par exemple background1, wms1, wms2 par rapport à month1 et background2, wms1, wms3 par rapport à month2. Ou vous aurez toutes ces couches avec dimension temporelle?
Nicolas Boisteault
Nicolas, j'ai apporté quelques modifications à la question. Mais votre hypothèse est fausse. Cette solution requise doit être concentrée sur un décalage de couche wms selon un curseur temporel le long des dates présentées dans les informations getcapabilities.
ragnvald

Réponses:

2

Je ne connais aucun client Web avec un curseur temporel prêt à l'emploi pour les couches WMS-T. La dimension WMS est étrangement une propriété du protocole WMS qui fait défaut dans de nombreux outils que j'ai utilisés.

J'ai développé une solution pour gérer toutes les dimensions (temps et autres) basée sur OpenLayers. Vous pouvez le trouver ici: Exemple de dimension WMS

Dans cet exemple, la couche est définie dans Mapserver avec une valeur par défaut (2013) et toutes les valeurs proposées (2000 à 2013).

Lorsque vous cliquez sur l'icône de filtre à droite, une demande GetCapabilities est envoyée et les valeurs de temps sont ensuite analysées dans le XML à proposer dans la liste déroulante HTML. Vous verrez dans le code que nous obtenons une version mise en cache de la demande GetCapabilities pour des raisons de performances.

Plus tard, je vais afficher un calendrier jQueryUI ou un curseur jQueryUI adapté pour gérer le temps pour les couches WMS-T.

Vous pouvez donc voir qu'avec OpenLayers et quelques lignes de code, vous pouvez obtenir ce dont vous avez besoin. J'espère que cela aide!

Nicolas Boisteault
la source
Cette réponse est la plus proche d'une réponse. Si vous parvenez à obtenir une version allégée du client avec un fichier de paramètres / documentation, ce serait un bon début. L'ajout d'un curseur jQueryUI nous amènera tout le chemin. Voir votre réponse trop tard pour attribuer la prime.
ragnvald
1
Non, il n'est pas trop tard, c'est décerné, merci. Je travaillerai sur cette fonctionnalité le mois prochain et je modifierai mon article pour mettre le code.
Nicolas Boisteault
À quoi ressemble l'icône de filtre?
Dave X
@DaveX c'est un entonnoir: google.fr/… Si vous avez une meilleure idée de l'icône du filtre je la prendrai avec plaisir :-)
Nicolas Boisteault
1

La plupart des curseurs temporels n'animent pas les images de carte bitmap à partir d'un serveur WMS ou de tuiles. Ce sont des points d'animation qui sont rendus sous forme de points (marqueurs, SVG, Canvas) côté client.

Pour qu'une animation soit efficace, le client doit disposer de toutes les données avant de commencer l'animation. S'il doit retourner au serveur pour quoi que ce soit, le retard de cette demande ruinera l'effet.

L'exemple donné par Ashutosh ci-dessus est le meilleur que vous puissiez espérer, où il n'y a pas d'animation.

Si vous utilisez des points, vous pouvez envoyer toutes les coordonnées au client et les faire passer en boucle pour le curseur temporel. Voici l'étalon-or de cette méthode:

https://srogers.cartodb.com/viz/337d9194-6458-11e3-85b5-e5e70547d141/public_map

ChrisInCambo
la source
1

MapStore http://mapstore.geo-solutions.it/mapstore/ par GeoSolutions semble avoir tous les composants nécessaires mais peut-être qu'ils n'ont pas été empaquetés dans un package d'installation facilement disponible. Depuis la galerie de démonstration, ce portail météo a un curseur temporel

http://geoportale.lamma.rete.toscana.it/MapStore/public/?locale=en

Celui-ci a des vues de calendrier pour sélectionner les dates de début et de fin

http://wiz.acque.net/portal/geonetwork?locale=en

Et celui-ci prend les dates de début et de fin de deux curseurs

http://cip-pakistan.geo-solutions.it/MapStore/

user30184
la source