WMS-T Dienste Tool (GUI) ist verbugged

Issue #813 resolved
Lukas Manske created an issue

Hallo zusammen,

in Version 2.23 funktioniert leider das Tool (bzw. die GUI) zur Visualisierung von WMS-T Diensten nicht mehr korrekt. Dabei versagt einerseits die zeitliche Abspielfunktion (Play Button) wobei diese durchläuft ohne die WMS-T Tiles zu aktualisieren und andererseits die Layer Vergleichsfunktion wobei die Daten zu unterschiedlichen Zeitpunkten über einen örtlichen Schieberegler verglichen werden können. (Siehe angehangenes gif 2.23)

Das Tool hat in v2.19 noch korrekt funktioniert (Siehe angehangenes gif 2.19)

getestet mit folgenden Dienst:

config.json:

                {
                    "id": "wmst-weather",
                    "name": "dwd",
                    "url": "https://maps.dwd.de/geoserver/dwd/wms",
                    "typ": "WMS",
                    "layers": "Icon-eu_reg00625_fd_sl_QFF",
                    "featureCount": 1,
                    "format" : "image/png",
                    "version" : "1.1.1",
                    "tilesize" : 512,
                    "gutter" : 0,
                    "minScale" : "0",
                    "maxScale" : "9999999999999999",
                    "gfiAttributes" : "ignore",
                    "gfiTheme" : "default",
                    "gfiComplex" : "false",
                    "layerAttribution" : "nicht vorhanden",
                    "legendURL": "",
                    "transparent": true,
                    "singleTile": false,
                    "time": true,
                    "datasets": [{}]
                }

services.json:

   {
      "id": "wmst-weather",
      "name": "dwd",
      "url": "https://maps.dwd.de/geoserver/dwd/wms",
      "typ": "WMS",
      "layers": "Icon-eu_reg00625_fd_sl_QFF",
      "featureCount": 1,
      "format" : "image/png",
      "version" : "1.1.1",
      "tilesize" : 512,
      "gutter" : 0,
      "minScale" : "0",
      "maxScale" : "9999999999999999",
      "gfiAttributes" : "ignore",
      "gfiTheme" : "default",
      "gfiComplex" : "false",
      "layerAttribution" : "nicht vorhanden",
      "legendURL": "",
      "transparent": true,
      "singleTile": false,
      "time": true,
      "playbackDelay": 2,
      "datasets": [{}]
    }

Comments (14)

  1. Ruven Bröring

    Hi,

    das Problem lässt sich schnell beheben, indem man in Zeile 10 und 16 in LayerSwiper.vue "visibleLayerList" durch "getVisibleLayerList" ersetzt.

    Mir sind noch ein paar weitere Fehler im Zusammenhang mit WMS-T aufgefallen:

    • Beim Abspielen der Zeitreihe springt die Auswahl vom Start bis zum Ende (kein playbackDelay).
    • Die Icons für das Navigieren zum vorherigen/nächsten Zeitpunkt sind vertauscht.
    • Die Angabe der gfiAttributes aus der services.json wird ignoriert, es werden alle angezeigt.
    • Bei Verwendung des Parameters "styles" wird für den secondLayer eine Legende angezeigt, die nicht zum Style passt. Der secondLayer braucht aber aus meiner Sicht sowieso keine Legende, die ist redundant.

    Diese Probleme konnte ich bereits beheben: https://bitbucket.org/rbroering/masterportal/commits/branch/wms-time-fixes.
    Ich hoffe, das hilft weiter. 🙂

    Viele Grüße
    Ruven Bröring

  2. Dennis Sen

    Moin @Ruven Bröring ,

    vielen Dank für’s Teilen der Lösung! Ich habe einen PR https://bitbucket.org/geowerkstatt-hamburg/masterportal/pull-requests/3628/issue-813-wms-t-fixes erstellt, der die betreffenden Commits in das Masterportal einspielt.

    Ausgenommen habe ich eine Änderung in https://bitbucket.org/rbroering/masterportal/commits/96970689e796cc40ead12617f1adb9157091cede, nämlich den Fix des angenommenen Off-By-One-Errors in TimeSlider#animate. Nach Ausprobieren mit einem Dienst des DWD (Konfiguration im PR angehängt) ist mir aufgefallen, dass die Animation dadurch beim vorletzten Schritt endet. Grund ist hier, dass im “If” genau auf den ersten Index, der zu groß ist, gewartet wird – das ist hier das Abbruchkriterium.

    Vielen Dank und viele Grüße!

  3. Dennis Sen

    Der zugehörige PR wurde gemerged. Sollten trotzdem noch Probleme auftreten, gern wieder öffnen.

    Viele Grüße

  4. Ruven Bröring

    Hi @Dennis Sen ,

    danke fürs Mergen! Die Änderung in TimeSlider#animate sollte dafür sorgen, dass die Play-Funktion sofort stoppt, wenn das Ende der Zeitreihe erreicht wird. Aktuell befindet sich der Play-Button nämlich kurz nach dem Ende noch im Abspiel-Zustand (siehe Button). Nur habe ich leider vergessen, das return-Statement im if-Block zu entfernen. Ohne dieses endet die Animation auch beim letzten Schritt.

    Mir ist jetzt tatsächlich noch ein Problem aufgefallen, das auch bereits in der Version 2.19 auftritt: Lässt man die Play-Funktion durchlaufen und verschiebt anschließend den LayerSwiper, dann wird das Kartenbild nicht aktualisiert. Erst beim Verschieben der Karte selbst wird die durch den LayerSwiper vorgegebene Abgrenzung zwischen dem linken und dem rechten Layer beachtet. Scheinbar kommt die Zustandsänderung this.playing = false; in TimeSlider#animate nicht in actionsWmsTime.js#updateMap an.

    Viele Grüße

  5. Dennis Sen

    Moin,

    ah, das mit dem Icon war mir gar nicht aufgefallen. Jetzt kann ich nachvollziehen, wofür das ist.

    Den zweiten Fehler kann ich nachvollziehen und habe noch ein paar gefunden. Liste der TODOs soweit:

    1. Zustands-Icon (insb. Zustand selbst) soll direkt nach Erreichen des Endzustandes umspringen.
    2. “Lässt man die Play-Funktion durchlaufen und verschiebt anschließend den LayerSwiper, dann wird das Kartenbild nicht aktualisiert.“ (mehr: siehe vorheriger Beitrag)
    3. Der linke Vergleichslayer ist immer auch im rechten Bereich zu sehen.
    4. Der Verschieben-Knopf in der Mitte ist nach dem Bootstrap-Update schwer zu sehen. (Notiz: Als Primary einfärben)
    5. Wenn man vor dem Laden des Layers (~= Timestamp ist sichtbar) den Zeitpunktvergleich aktiviert, wird keiner der Layer mehr angezeigt – entweder darf die Funktion dann noch nicht verfügbar sein, oder das System muss sich erholen können (und am besten die Fehler abfangen & behandeln, oder besser den Zustand erkennen, sodass sie gar nicht erst produziert werden).

  6. Markus Rullkoetter

    Hallo zusammen,

    ich habe einige Fixes implementiert, die alle Punkte aus dem vorigen Kommentar behandeln.
    Die Änderungen sind auch bereits gemerged und in der kommenden Version (größer v2.27.1) des Masterportals sollte das Tool deutlich stabiler laufen.

    Viele Grüße
    Markus Rullkötter

  7. Nora K

    Hallo,

    kann mir jemand sagen, in welchem öffentlich erreichbaren Masterportal läuft der LayerSwiper bereits produktiv?

    Für Hinweise und Links bin ich dankbar.

    Viele Grüße
    Nora König

  8. Log in to comment