HAFL-WWI / Digital-Forest-Monitoring

Forest monitoring apps and services based on remote sensing data
MIT License
7 stars 1 forks source link

Fehler im Style bei Darstellung in ArcGIS #69

Closed AlexErb closed 3 years ago

AlexErb commented 4 years ago

In ArcGIS funktioniert teilweise der Style nicht, insbes. werden Werte > -0.1 nicht transparent angezeigt: grafik

hkfrei commented 4 years ago

Probier mal in den Layer Properties das request Format auf PNG zu setzen. Nur PNG kann Transparenzen abbilden, JGEG nicht.

AlexErb commented 4 years ago

Interessanter Punkt, danke. Seltsamerweise klappt es mit der Standard-Einstellung PNG24 genauso wenig wie mit PNG8 - wenn ich JPEG wähle funktioniert es allerdings!

AlexErb commented 4 years ago

Edit > So wirklich klappt es mit JPEG auch nicht...: grafik

hkfrei commented 4 years ago

Ich schaue es nächste Woche genauer an. Gell, im QGIS klappt es einwandfrei oder?

dominiqueweber commented 4 years ago

Super und ja in QGIS passt die Darstellung.

hkfrei commented 4 years ago

Es sieht so aus, als könnte ArcGis die Transparenzeinstellungen aus dem Styling File des WMS nicht verstehen. Ich denke wenn man die transparenten Flächen im Raster auf NoData setzt, dann wäre das Problem gelöst.

Das Problem dabei ist, dass dann die Information der transparenten Flächen verloren geht. Allenfalls könnten man einen WCS Service mit allen Informationen wie wir sie jetzt haben publizieren. So könnten die Benutzer selber eine Einfärbung vornehmen und für den WMS würden wir einen separaten Datensatz mit den "NoData" Werten publizieren.

AlexErb commented 4 years ago

Super danke für die Klärung. Hm, wäre deine vorgeschlagene Lösung einfach umsetzbar?

hkfrei commented 4 years ago

Ich rechne mit ca. 5h Aufwand. Kompliziert ist es grundsätzlich nicht aber ich kann es nicht mehr in den offerierten Betrag nehmen. Das Hochladen der neuen NBR Daten hat schon relativ viel Zeit in Anspruch genommen und die Videos/Bilder kommen ja auch noch...

hkfrei commented 4 years ago

Das Problem war, dass man auf dem Geoserver den Layerstil nicht als "Colorramp" sondern als "Interval" definieren muss. Ansonsten werden in ArcGis die noData Werte mit einer Farbe versehen... Neue Stildefinition: (das Type Attribut lautet auf "intervals")

<sld:ColorMap type="intervals">
               <sld:ColorMapEntry quantity="-1" color="#7f0000" label="-1"/>
              <sld:ColorMapEntry quantity="-0.4" color="#b30000" label="-0.4"/>
              <sld:ColorMapEntry quantity="-0.3" color="#d7301f" label="-0.3"/>
              <sld:ColorMapEntry quantity="-0.25" color="#ef6548" label="-0.25"/>
              <sld:ColorMapEntry quantity="-0.2" color="#fc8d59" label="-0.2"/>
              <sld:ColorMapEntry quantity="-0.15" color="#fdbb84" label="-0.15"/>
              <sld:ColorMapEntry quantity="-0.1" color="#fdd49e" label="-0.1" opacity="0.498039"/>
              <sld:ColorMapEntry quantity="-0.05" color="#fee8c8" label="-0.05" opacity="0"/>
            </sld:ColorMap>

Alte Stildefinition (fehlerhaft in ArcGis, das Type Attribut lautet auf "ramp"):

<sld:ColorMap type="ramp">
               <sld:ColorMapEntry quantity="-1" color="#7f0000" label="-1"/>
              <sld:ColorMapEntry quantity="-0.4" color="#b30000" label="-0.4"/>
              <sld:ColorMapEntry quantity="-0.3" color="#d7301f" label="-0.3"/>
              <sld:ColorMapEntry quantity="-0.25" color="#ef6548" label="-0.25"/>
              <sld:ColorMapEntry quantity="-0.2" color="#fc8d59" label="-0.2"/>
              <sld:ColorMapEntry quantity="-0.15" color="#fdbb84" label="-0.15"/>
              <sld:ColorMapEntry quantity="-0.1" color="#fdd49e" label="-0.1" opacity="0.498039"/>
              <sld:ColorMapEntry quantity="-0.05" color="#fee8c8" label="-0.05" opacity="0"/>
            </sld:ColorMap>

Bei mir werden die WMS Services nun auch in ArcGis korrekt angezeigt. @AlexErb bitte prüfen.

AlexErb commented 4 years ago

Geprüft - passt wunderbar :-)

AlexErb commented 4 years ago

Habe gerade die neuen Use Case 3 Daten per WMS in ArcMap geladen und leider tritt der Fehler hier wieder auf... grafik

hkfrei commented 4 years ago

Das ist komisch, die Einstellungen sind genau gleich wie bei den jährlichen Veränderungen. Ich werde dem nachgehen. Folgender Workaround ist aber schon jetzt möglich:

1. Öffne WMS Layer properties wms_layer_properties

2. Setze die Hintergrundfarbe auf Weiss background_color_white

3. Hintergrundfarbe transparent anklicken und übernehmen/speichern. make_background_color_transparent

So werden die halbtransparenten Zwischenflächen nicht angezeigt (Wert 0)

AlexErb commented 3 years ago

Das ist komisch, die Einstellungen sind genau gleich wie bei den jährlichen Veränderungen. Ich werde dem nachgehen.

... gleiche Frage ;-) Kann ich das schliessen @hkfrei ?

hkfrei commented 3 years ago

Falls der Workaround reicht, kann man das Issue schliessen. Die Alternative wäre, ein diskretes Raster mit genau den nötigen Kategorien zu erstellen und alle anderen Werte auf noData zu setzen. Dies würde allerdings einen zusätzlichen Geoprocessing Schritt beim Generieren der Raster bedeuten. Der Entscheid liegt bei Euch.

AlexErb commented 3 years ago

Ist durch die neuen Daten für UC1 gelöst, sollte aber bei der Neuberechnung von UC3 berücksichtigt werden.

AlexErb commented 3 years ago

Leider tritt das Problem (Transparenz WMS Dienst) jetzt mit den neuen UC3 Daten wieder auf - und auch dein beschriebener Workaround ändert daran leider nichts :( Da es mit den UC1 Daten ja schon mal funktioniert hat... könntest du dem nochmal nachgehen, @hkfrei ?

hkfrei commented 3 years ago

Ich 👀

hkfrei commented 3 years ago

Es ist genau dasselbe Problem wie bei UC1: image

Die Lösung ist, den transparenten Wert (0) als noData zu klassieren und den Wert -32767 als -32767 (oder irgend etwas anderes aber nicht noData).

Es beudeutet leider, dass man alle Raster reklassieren muss.

AlexErb commented 3 years ago

Ich 👀

Ja, in Bezug auf deinen Post vom 14.9.20 ... damals konntest du einfach was in den Einstellungen auf dem Geoserver ändern ;-). Aber ist gut, dann werde ich diese Reklassierung noch machen für die Geodienste, vermutlich aber erst im August.

hkfrei commented 3 years ago

Ah ja genau, du hast recht. Ich habe die Anpassung jetzt gemacht. Wenn man in ArcGis nun gemäss https://github.com/HAFL-FWI/Digital-Forest-Monitoring/issues/69#issuecomment-712681821 vorgeht, werden die weissen Flächen transparent. Die nachhaltigere Lösung ist aber sicher den Wert 0 als noData zu klassieren.

AlexErb commented 3 years ago

Ich lade die neu klassifizierten Raster heute noch hoch und schliesse hiermit das issue :)