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.
Antworten:
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!
quelle
Sie können dies versuchen, http://lib.heron-mc.org/heron/1.0.3/examples/timeslider/index.html
Dieses Beispiel hat einen erstaunlichen Schieberegler. Ich hoffe, er erfüllt alle Ihre Anforderungen.
UPDATE: Ein weiteres gutes Beispiel:
http://timemap.googlecode.com/svn/tags/2.0.1/examples/kenya.html
quelle
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
quelle
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/
quelle