[Geoserver-users] 4 weighted rasters into 1 raster

Hi Geoserver user community,

We currently combine 4 rasters into 1 raster, based on weights provided by the user through the browser in a UI. We now do this in a complete custom way, running an R Shiny server, which uses the leaflet client.

I would like to understand better what other possible architectural patterns are, preferably in combination with Geoserver WMS, in order to remain with open standards.

Are the following patterns valid, which one is best and am I missing a pattern?

· Have a leaflet client, requesting 4 rasters from WMS, generating a new raster (applying the weights) in the browser and displaying this through leaflet?

· Make a custom WMS which takes the weights into account through parameters and generates (applying the weights) the raster? Would this custom WMS run in the Geoserver as some kind of plugin or aside Geoserver as a separate webapp?

· Is a pattern with the Javascript library https://github.com/GeoTIFF/geoblaze relevant here?

· Other?

Best,
Erik

Erik van Ingen

Digital Innovation Consultant

Room A012

Information and Communications Technology Division

Via Paolo di Dono 44, 00142 Rome, Italy

Mob. +39 3331311211

www.ifad.org

Make a layer group if the four layers, configured with a dynamic style that adjust transparency based on variable substitution.

Do the same thing without the layer group.

A wide range a alpha blending is available not just transparency. Each can be configured using variable substitution from the client request.

You may be able to make a wps process? Especially if this is a more complicated combine.

You may be able to use a rendering transformation to reuse the wps process mentioned above as part of a style.

Or use a rendering transformation and jiffle (while jiffle can combine source as kind of a raster calculator I have not tired it in GeoServer yet). This is good if you are calculating rather than just adjusting transparency.

But really if you are just combing using transparency add four layers and adjust the transparency client side.

···


Jody Garnett

Have a leaflet client, requesting 4 rasters from WMS, generating a new raster (applying the weights) in the browser and displaying this through leaflet?

WMS isn’t the way to go with this. I mean, it can do it, but the WMS server may alter the values of the raster before serving them because it’s meant to serve maps, not data. The standard to use here is WCS - Web Coverage Service. The WCS serves the four rasters as raw data so you know when the user combines them client side they’re using the real data.

Cheers,

Jonathan

On Thu, May 30, 2019 at 18:13 van Ingen, Erik <e.vaningen@anonymised.com> wrote:

Hi Geoserver user community,

We currently combine 4 rasters into 1 raster, based on weights provided by the user through the browser in a UI. We now do this in a complete custom way, running an R Shiny server, which uses the leaflet client.

I would like to understand better what other possible architectural patterns are, preferably in combination with Geoserver WMS, in order to remain with open standards.

Are the following patterns valid, which one is best and am I missing a pattern?

· Have a leaflet client, requesting 4 rasters from WMS, generating a new raster (applying the weights) in the browser and displaying this through leaflet?

· Make a custom WMS which takes the weights into account through parameters and generates (applying the weights) the raster? Would this custom WMS run in the Geoserver as some kind of plugin or aside Geoserver as a separate webapp?

· Is a pattern with the Javascript library https://github.com/GeoTIFF/geoblaze relevant here?

· Other?

Best,
Erik

Erik van Ingen

Digital Innovation Consultant

Room A012

Information and Communications Technology Division

Via Paolo di Dono 44, 00142 Rome, Italy

Mob. +39 3331311211

www.ifad.org

Ciao Erik,
the easiest thing in geoserver would most probably be to:
- create a coverage view that result in a 4 band raster -->
https://docs.geoserver.org/latest/en/user/data/raster/coverageview.html
- create a jiffle style that merges the 3 and uses env vars from the
client to control the merge -->
https://docs.geoserver.org/latest/en/user/styling/sld/extensions/rendering-transform.html#running-map-algebra-on-the-fly-using-jiffle

Regards,
Simone Giannecchini

GeoServer Professional Services from the experts!
Visit http://bit.ly/gs-services for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
Con riferimento alla normativa sul trattamento dei dati personali
(Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati
“GDPR”), si precisa che ogni circostanza inerente alla presente email
(il suo contenuto, gli eventuali allegati, etc.) è un dato la cui
conoscenza è riservata al/i solo/i destinatario/i indicati dallo
scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a
cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato
se potesse darmene notizia.

This email is intended only for the person or entity to which it is
addressed and may contain information that is privileged, confidential
or otherwise protected from disclosure. We remind that - as provided
by European Regulation 2016/679 “GDPR” - copying, dissemination or use
of this e-mail or the information herein by anyone other than the
intended recipient is prohibited. If you have received this email by
mistake, please notify us immediately by telephone or e-mail.

On Thu, May 30, 2019 at 6:13 PM van Ingen, Erik <e.vaningen@anonymised.com> wrote:

Hi Geoserver user community,

We currently combine 4 rasters into 1 raster, based on weights provided by the user through the browser in a UI. We now do this in a complete custom way, running an R Shiny server, which uses the leaflet client.

I would like to understand better what other possible architectural patterns are, preferably in combination with Geoserver WMS, in order to remain with open standards.

Are the following patterns valid, which one is best and am I missing a pattern?

· Have a leaflet client, requesting 4 rasters from WMS, generating a new raster (applying the weights) in the browser and displaying this through leaflet?

· Make a custom WMS which takes the weights into account through parameters and generates (applying the weights) the raster? Would this custom WMS run in the Geoserver as some kind of plugin or aside Geoserver as a separate webapp?

· Is a pattern with the Javascript library https://github.com/GeoTIFF/geoblaze relevant here?

· Other?

Best,
Erik

Erik van Ingen

Digital Innovation Consultant

Room A012

Information and Communications Technology Division

Via Paolo di Dono 44, 00142 Rome, Italy

Mob. +39 3331311211

www.ifad.org

~~ The information contained in or accompanying this email and any attachment thereto, is intended solely for the use of the stated recipient(s) and may contain information that is confidential and/or privileged. Any dissemination, distribution or copying of this email and any attachment by anyone who is not a stated recipient is strictly prohibited. If you receive this message in error, please notify the sender immediately and delete the message and any attachment from your system without retaining a copy. ~~

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer

Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users