Open Source Web Map Client mit Zeitschiebereglern unter Verwendung der WMS-Quelle


8

Ich habe einen Webkartendienst (WMS auf Geoserver). Es hat eine aktuelle Visualisierung, die anständig ist. Die Daten werden derzeit mithilfe von Registerkarten in Monate unterteilt. Ich möchte die Daten mit einem Open Source-basierten Webkarten-Client mit einem Zeitschieberegler visualisieren.

Ich habe einige Beispiele gesehen, aber ich suche nach einer generischen Lösung, bei der ich grundsätzlich Hintergrundebenen (auch WMS), Quell-WMS und relevante Attribute ändern kann. Dies, um weiter mit der Lösung experimentieren zu können. Die wms-Zeitschicht (wms-t) sollte die Hintergrund-wms-Schichten nicht verändern. Sie sollten von einer Konfigurationsdatei oder einer interaktiven Auswahloberfläche gesteuert werden, die nicht mit dem Zeitschieberegler zusammenhängt.

Auf die aktuellen Dienste kann über den Parameter wms time zugegriffen werden:

Zeit = 2014-1 Zeit = 2014-5 usw.

Es sollte dem Benutzer möglich sein, Min / Max-Werte und -Intervalle festzulegen, oder der Client sollte in der Lage sein, dies anhand der getcapabilities-info selbst zu erraten.

ESRI oder andere kommerzielle (Closed Source) Lösungen sind für diese Frage keine möglichen Optionen.


1
Benötigen Sie eine Lösung, die mit Ihrer tatsächlichen Visualisierung kompatibel ist, oder suchen Sie einen möglichen separaten Webkarten-Client? Ich habe eine Broschüre und ein Plugin verwendet, um etwas Ähnliches zu tun (Plugin "TimeSlider")
Djana

Völlig außerhalb des aktuellen. Auf der Suche nach einem schnellen und schmutzigen Proof of Concept, um neue Funktionen zu prototypisieren.
Ragnvald

"Ich habe einige Beispiele gesehen, aber ich suche nach einer generischen Lösung, bei der ich grundsätzlich Hintergrundebenen (auch WMS), Quell-WMS und relevante Attribute ändern kann." Sie möchten also einige Kartenkontexte in Bezug auf Zeitwerte? Zum Beispiel Hintergrund1, wms1, wms2 relativ zu Monat1 und Hintergrund2, wms1, wms3 relativ zu Monat2. Oder haben Sie alle diese Ebenen mit Zeitdimension?
Nicolas Boisteault

Nicolas, ich habe einige Änderungen an der Frage vorgenommen. Aber deine Annahme ist falsch. Diese erforderliche Lösung sollte sich auf eine Verschiebung der WMS-Schicht gemäß einem Zeitschieber entlang der in den Informationen zu getcapabilities angegebenen Daten konzentrieren.
Ragnvald

Antworten:


2

Ich kenne keinen Webclient mit einem sofort einsatzbereiten Zeitschieber für WMS-T-Ebenen. Die WMS-Dimension ist seltsamerweise eine Eigenschaft des WMS-Protokolls, die in vielen von mir verwendeten Tools fehlt.

Ich habe eine Lösung entwickelt, die alle Dimensionen (Zeit und andere) basierend auf OpenLayers handhabt. Sie finden es hier: Beispiel für eine WMS-Dimension

Die Ebene in diesem Beispiel wird in Mapserver mit einem Standardwert (2013) und allen vorgeschlagenen Werten (2000 bis 2013) definiert.

Wenn Sie rechts auf das Filtersymbol klicken, wird eine GetCapabilities-Anforderung gesendet und die Zeitwerte werden in der XML-Datei analysiert, die in der HTML-Dropdown-Liste vorgeschlagen werden soll. Sie werden im Code sehen, dass wir aus Leistungsgründen eine zwischengespeicherte Version der GetCapabilities-Anforderung erhalten.

Später werde ich einen jQueryUI-Kalender oder einen jQueryUI-Schieberegler anzeigen, der an die Zeit für WMS-T-Ebenen angepasst ist.

So können Sie sehen, dass Sie mit OpenLayers und wenigen Codezeilen das bekommen, was Sie brauchen. Ich hoffe es hilft!


Diese Antwort kommt einer Antwort am nächsten. Wenn Sie es schaffen, eine abgespeckte Version des Clients mit einer Einstellungsdatei / Dokumentation zu erhalten, wäre dies ein guter Anfang. Das Hinzufügen eines jQueryUI-Schiebereglers bringt uns den ganzen Weg. Sehen Sie Ihre Antwort zu spät, um das Kopfgeld zu vergeben.
Ragnvald

1
Nein, es ist nicht zu spät, es wird vergeben, danke. Ich werde nächsten Monat an dieser Funktion arbeiten und meinen Beitrag bearbeiten, um den Code einzufügen.
Nicolas Boisteault

Wie sieht das Filtersymbol aus?
Dave X

@ DaveX es ist ein Trichter: google.fr/… Wenn Sie eine bessere Idee für das Filtersymbol haben, nehme ich es gerne :-)
Nicolas Boisteault


1

Die meisten Zeitschieberegler animieren keine Bitmap-Kartenbilder von einem WMS- oder Kachelserver. Sie animieren Punkte, die auf der Clientseite als Punkte (Markierungen, SVG, Canvas) gerendert werden.

Damit eine Animation effektiv ist, muss der Client alle Daten zur Verfügung haben, bevor er mit der Animation beginnt. Wenn es für irgendetwas zum Server zurückkehren muss, wird die Wirkung durch die Verzögerung dieser Anfrage zunichte gemacht.

Das obige Beispiel von Ashutosh ist das Beste, auf das Sie hoffen können, wenn es keine Animation gibt.

Wenn Sie Punkte verwenden, können Sie alle Koordinaten an den Client senden und diese für den Zeitschieber durchlaufen lassen. Hier ist der Goldstandard dieser Methode:

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


1

MapStore http://mapstore.geo-solutions.it/mapstore/ von GeoSolutions scheint alle erforderlichen Komponenten zu haben, aber möglicherweise wurden sie nicht in ein sofort verfügbares Installationspaket gepackt. Aus der Demo-Galerie hat dieses Wetterportal einen Zeitschieber

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

Dieser hat Kalenderansichten zur Auswahl von Start- und Enddaten

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

Und dieser nimmt Start- und Enddaten von zwei Schiebereglern

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.