[Geoserver-users] MapRequest filters for range of values on raster coverage stores

I have a requirement to set thresholds on values to display on a map request to a NETCDF backed coverage store. For example, I have a layer for surface temperature, and they want to be able to only display areas on the map that are between 25 and 30 centigrade. Is there a way to achieve this with Geoserver? I’ve attempted to use CQL_FILTER but this only results in errors like “Error rendering coverage on the fast path” so I think that must not be the correct manner to produce filtered results. Any advice on how to achieve this requirement would be greatly appreciated.

Thanks!

Steve Ferguson

Hi Steve,
are you talking about simple rendering or do you also need this to be respected by a getFeatureInfo call?
In the first case a solution can be setting up an a SLD with a colorMap, setting opacity = 0 for values outside your range.

http://docs.geoserver.org/latest/en/user/styling/sld-reference/rastersymbolizer.html#colormap

Let’s if other devs chime in with additional feedbacks.
Cheers,
Daniele

···

On Thu, Oct 29, 2015 at 9:35 PM, Ferguson, Steve -FS <sferguson@anonymised.com> wrote:

I have a requirement to set thresholds on values to display on a map request to a NETCDF backed coverage store. For example, I have a layer for surface temperature, and they want to be able to only display areas on the map that are between 25 and 30 centigrade. Is there a way to achieve this with Geoserver? I’ve attempted to use CQL_FILTER but this only results in errors like “Error rendering coverage on the fast path” so I think that must not be the correct manner to produce filtered results. Any advice on how to achieve this requirement would be greatly appreciated.

Thanks!

Steve Ferguson



Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

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


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Daniele,

Thanks for the response. I am talking about simple rendering. I have been using a ramp color map with just a few ColorMapEntry s with nice results. To do something like you suggest I suppose I would have to create many more ColorMapEntry items each with an ENV based opacity, which I think might become cumbersome, particularly for values with a broad range. Is there a way to use a CQL_FILTER that will only render values that are in range?

Thanks!

Steve

···

Hi Steve,

are you talking about simple rendering or do you also need this to be respected by a getFeatureInfo call?

In the first case a solution can be setting up an a SLD with a colorMap, setting opacity = 0 for values outside your range.

http://docs.geoserver.org/latest/en/user/styling/sld-reference/rastersymbolizer.html#colormap

Let’s if other devs chime in with additional feedbacks.

Cheers,

Daniele

On Thu, Oct 29, 2015 at 9:35 PM, Ferguson, Steve -FS <sferguson@…102…> wrote:

I have a requirement to set thresholds on values to display on a map request to a NETCDF backed coverage store. For example, I have a layer for surface temperature, and they want to be able to only display areas on the map that are between 25 and 30 centigrade. Is there a way to achieve this with Geoserver? I’ve attempted to use CQL_FILTER but this only results in errors like “Error rendering coverage on the fast path” so I think that must not be the correct manner to produce filtered results. Any advice on how to achieve this requirement would be greatly appreciated.

Thanks!

Steve Ferguson



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

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

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


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

There is no way to filter the pixel contents, nope. CQL_Filter can be used against rasters, but it has a different
meaning, it’s used to locate a specific mosaic slice by filtering the mosaic index.

The functionality you are interested into would be sure worth implementing, see this page for getting new
features in GeoServer: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer

Mind, in recent version of GeoServer it is possible to pass down env variables into the color map, making the
filtering dynamic (it’s called CQL, and it is, but the only thing you can actually use in there is env variables passed
via the env parameter, it has no access to the current pixel value either):

http://docs.geoserver.org/stable/en/user/styling/sld-reference/rastersymbolizer.html#cql-expressions

Cheers
Andrea

···

On Fri, Oct 30, 2015 at 1:59 PM, Ferguson, Steve -FS <sferguson@anonymised.com> wrote:

Daniele,

Thanks for the response. I am talking about simple rendering. I have been using a ramp color map with just a few ColorMapEntry s with nice results. To do something like you suggest I suppose I would have to create many more ColorMapEntry items each with an ENV based opacity, which I think might become cumbersome, particularly for values with a broad range. Is there a way to use a CQL_FILTER that will only render values that are in range?

Thanks!

Steve

From: dany.geotools@anonymised.com [mailto:dany.geotools@anonymised.com] On Behalf Of Daniele Romagnoli
Sent: Friday, October 30, 2015 3:20 AM
To: Ferguson, Steve -FS
Cc: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] MapRequest filters for range of values on raster coverage stores

Hi Steve,

are you talking about simple rendering or do you also need this to be respected by a getFeatureInfo call?

In the first case a solution can be setting up an a SLD with a colorMap, setting opacity = 0 for values outside your range.

http://docs.geoserver.org/latest/en/user/styling/sld-reference/rastersymbolizer.html#colormap

Let’s if other devs chime in with additional feedbacks.

Cheers,

Daniele

On Thu, Oct 29, 2015 at 9:35 PM, Ferguson, Steve -FS <sferguson@anonymised.com102…> wrote:

I have a requirement to set thresholds on values to display on a map request to a NETCDF backed coverage store. For example, I have a layer for surface temperature, and they want to be able to only display areas on the map that are between 25 and 30 centigrade. Is there a way to achieve this with Geoserver? I’ve attempted to use CQL_FILTER but this only results in errors like “Error rendering coverage on the fast path” so I think that must not be the correct manner to produce filtered results. Any advice on how to achieve this requirement would be greatly appreciated.

Thanks!

Steve Ferguson



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

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

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


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

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

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.