barbalex / apf2

Bedrohte Pflanzenarten fördern. Und darüber berichten
https://apflora.ch
ISC License
5 stars 2 forks source link

WMS-Layer: Ortho 2021 / Erweiterungen? #574

Open barbalex opened 1 year ago

barbalex commented 1 year ago

von Charlotte Salzmann per email:

Lieber Alex

Könntest Du bitte in der FloraDB noch das aktuelle Ortho des Kt. ZH einblenden (Frühjahr 2021)? Wäre als Referenz wichtig für mich, um die Massnahmen richtig zu verorten.

Herzliche Grüsse, Charlotte

barbalex commented 1 year ago

Meine Antwort per email:

Das bisher mit "ZH Orthofoto aktuell (2020)" beschriftete Layer zeigt das vom Kanton Zürich als aktuellstes bereitgestellte Layer an. Ihr könnt selber hier nachschauen: https://wms.zh.ch/OGDOrthoZH?SERVICE=WMS&Request=GetCapabilities. Hier nach "ortho_s" suchen.

Im Moment ist das offenbar immer noch das Sommer-Bild von 2020. Obwohl es ein Bild aus dem Frühling 2021 gibt (ortho_w_2021). Ich weiss nicht, wieso sie das Bild vom Frühling 2021 nicht als aktuelles anbieten. Vielleicht deckt es nicht den ganzen Kanton ab? Oder sie verwenden nur Sommer-Bilder für das Aktuelle?

Ich habe nun den Titel "ZH Orthofoto aktuell (2020)" in "ZH Orthofoto aktuell" angepasst. Aus diesem Grund: Wann der WMS-Dienst ein aktuelleres Bild hinterlegt, weiss ich nicht. Der bisherige Titel wird also irgendwann falsch sein, ohne dass ich es erfahre (die Änderung ist noch nicht aktiv).

Natürlich könnte ich das Bild vom Frühling 2021 extra anbieten. Gibt ca. 1 Stunde Aufwand.

Ich könnte auch den Titel für das aktuelle Bild mit einer dynamischen Abfrage beim WMS-Server abholen. Dann würde es sofort den neuen Wert anzeigen, wenn der WMS-Dienst die aktuelleren Bilder verwendet. Der Aufwand dafür ist aber doppelt: Ca. 3 Stunden Anpassung im Code. Und bei jedem Aufruf dauert es eine Weile (vermutlich meist unter einer Sekunde), bis der Titel erscheint.

Die letzte, flexibelste Lösung (sie wurde auch schon von Andreas Lienhard vorgeschlagen): Man könnte den Benutzern ermöglichen, irgend einen WMS-Dienst anzuzeigen. Ca. so:

  1. Benutzer fügt die URL eines WMS-Dienstes ein, z.B.: https://wms.zh.ch/OGDOrthoZH?SERVICE=WMS&Request=GetCapabilities
  2. apflora listet alle bei diesem Dienst verfügbaren Layer auf
  3. Benutzer wählt aus
  4. Layer stehen bei diesem Benutzer künftig im Layertool von apflora zur Auswahl bereit, wie die heutigen

Das fordert die BenutzerInnen insofern, als sie wissen müssen, was ein WMS-Dienst ist und wie man capabilities-URL's findet. Vielleicht möchtet ihr darum auch die Möglichkeit, von euch auf diese Art konfigurierte WMS-Layer per Knopfdruck bei allen anderen BenutzerInnen verfügbar zu machen.

Und für die Implementation bräuchte ich mehrere Tage. Ich habe das in einem anderen Projekt schon mal gemacht. Es ist recht aufwändig, weil WMS-Dienste Protokolle verwenden, die im Gegensatz zu modernen Protokollen einige der Voraussetzungen nicht garantieren (bzw. davon ausgehen, dass sie manuell auf eine bestimmte Art konfiguriert wurden, was leider immer wieder mal nicht gegeben ist). Der Anwendungs-Code muss daher alle möglichen Situationen abfangen können.