[Geoserver-devel] New community module: colormap

Hi List,

I would like to create a new “colormap” community module to deal with https://jira.codehaus.org/browse/GEOS-6184.

Summarizing the aim of this module:

A Process will take care of rendering a coverage on top of a specified colorMap.

Such a ColorMap will be “Dynamic” since the processing code will adapt the colors to the actual values range of a layer (through a linear stretch) keeping, as an instance, MIN layer value = BLUE and MAX layer value = RED.
Moreover, previously computed statistical metadata through gdalinfo are supported and may be exposed through a RenderingTransformation to retrieve the range. (Gdalinfo auxiliary metadata parsing has been already supported on GeoTools ImageMosaic: See linked JIRA on GEOS-6184).

colormaps may be defined:

Finally, a dispatcherCallback will be defined to intercept a getLegendGraphics involving a renderingTransformation based on that process. It will dynamically setup the legend for the specific layer (also parsing any dimension provided in the request, such as time, elevation, … since statistics change across different slices of a multidimensional coverage).


I would like to contribute that module to the community.

Please, let me know.

Best Regards,
Daniele

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it 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


Ciao Daniele,
being a community module I guess that my +1 should be enough.
I would recommend to write down some document upfront.

···

Regards,
Simone Giannecchini

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Thu, Jan 16, 2014 at 2:49 PM, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Hi List,

I would like to create a new “colormap” community module to deal with https://jira.codehaus.org/browse/GEOS-6184.

Summarizing the aim of this module:

A Process will take care of rendering a coverage on top of a specified colorMap.

Such a ColorMap will be “Dynamic” since the processing code will adapt the colors to the actual values range of a layer (through a linear stretch) keeping, as an instance, MIN layer value = BLUE and MAX layer value = RED.
Moreover, previously computed statistical metadata through gdalinfo are supported and may be exposed through a RenderingTransformation to retrieve the range. (Gdalinfo auxiliary metadata parsing has been already supported on GeoTools ImageMosaic: See linked JIRA on GEOS-6184).

colormaps may be defined:

Finally, a dispatcherCallback will be defined to intercept a getLegendGraphics involving a renderingTransformation based on that process. It will dynamically setup the legend for the specific layer (also parsing any dimension provided in the request, such as time, elevation, … since statistics change across different slices of a multidimensional coverage).


I would like to contribute that module to the community.

Please, let me know.

Best Regards,
Daniele

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it 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



CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk


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

What about the stuff in sldService community module? Which by the way has been recently improved thanks to some contributions?

Maybe those two modules can be merged?

···

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Alessio Fabiani
@alfa7691
Founder/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 331 6233686

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


On Thu, Jan 16, 2014 at 2:52 PM, Simone Giannecchini <simone.giannecchini@anonymised.com> wrote:

Ciao Daniele,
being a community module I guess that my +1 should be enough.
I would recommend to write down some document upfront.


CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk


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

Regards,
Simone Giannecchini

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Thu, Jan 16, 2014 at 2:49 PM, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Hi List,

I would like to create a new “colormap” community module to deal with https://jira.codehaus.org/browse/GEOS-6184.

Summarizing the aim of this module:

A Process will take care of rendering a coverage on top of a specified colorMap.

Such a ColorMap will be “Dynamic” since the processing code will adapt the colors to the actual values range of a layer (through a linear stretch) keeping, as an instance, MIN layer value = BLUE and MAX layer value = RED.
Moreover, previously computed statistical metadata through gdalinfo are supported and may be exposed through a RenderingTransformation to retrieve the range. (Gdalinfo auxiliary metadata parsing has been already supported on GeoTools ImageMosaic: See linked JIRA on GEOS-6184).

colormaps may be defined:

Finally, a dispatcherCallback will be defined to intercept a getLegendGraphics involving a renderingTransformation based on that process. It will dynamically setup the legend for the specific layer (also parsing any dimension provided in the request, such as time, elevation, … since statistics change across different slices of a multidimensional coverage).


I would like to contribute that module to the community.

Please, let me know.

Best Regards,
Daniele

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it 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



CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk


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

Ciao Alessio,
good point, I would probably open a JIRA to track this.

···

Regards,
Simone Giannecchini

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Thu, Jan 16, 2014 at 4:29 PM, Alessio Fabiani <alessio.fabiani@anonymised.com> wrote:

What about the stuff in sldService community module? Which by the way has been recently improved thanks to some contributions?

Maybe those two modules can be merged?

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Alessio Fabiani
@alfa7691
Founder/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 331 6233686

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


On Thu, Jan 16, 2014 at 2:52 PM, Simone Giannecchini <simone.giannecchini@anonymised.com> wrote:

Ciao Daniele,
being a community module I guess that my +1 should be enough.
I would recommend to write down some document upfront.


CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk


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

Regards,
Simone Giannecchini

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Thu, Jan 16, 2014 at 2:49 PM, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Hi List,

I would like to create a new “colormap” community module to deal with https://jira.codehaus.org/browse/GEOS-6184.

Summarizing the aim of this module:

A Process will take care of rendering a coverage on top of a specified colorMap.

Such a ColorMap will be “Dynamic” since the processing code will adapt the colors to the actual values range of a layer (through a linear stretch) keeping, as an instance, MIN layer value = BLUE and MAX layer value = RED.
Moreover, previously computed statistical metadata through gdalinfo are supported and may be exposed through a RenderingTransformation to retrieve the range. (Gdalinfo auxiliary metadata parsing has been already supported on GeoTools ImageMosaic: See linked JIRA on GEOS-6184).

colormaps may be defined:

Finally, a dispatcherCallback will be defined to intercept a getLegendGraphics involving a renderingTransformation based on that process. It will dynamically setup the legend for the specific layer (also parsing any dimension provided in the request, such as time, elevation, … since statistics change across different slices of a multidimensional coverage).


I would like to contribute that module to the community.

Please, let me know.

Best Regards,
Daniele

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it 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



CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk


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

Question on that topic:

For the getLegendGraphic part I make use of some utility methods and objects from wms (org.geoserver.wms.legendgraphic.Cell and org.geoserver.wms.legendgraphic.ColorMapLegendCreator) which are package private classes.

Instead of copying and modifying them as per my needs on the community module, I would like to make them public on the wms module so that they can be used from other modules.

Does it make sense? In that case, what is the required procedure to make them public?

Please, let me know.
Cheers,
Daniele

···

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it 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


On Thu, Jan 16, 2014 at 2:52 PM, Simone Giannecchini <simone.giannecchini@anonymised.com> wrote:

Ciao Daniele,
being a community module I guess that my +1 should be enough.
I would recommend to write down some document upfront.

Regards,
Simone Giannecchini

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Thu, Jan 16, 2014 at 2:49 PM, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Hi List,

I would like to create a new “colormap” community module to deal with https://jira.codehaus.org/browse/GEOS-6184.

Summarizing the aim of this module:

A Process will take care of rendering a coverage on top of a specified colorMap.

Such a ColorMap will be “Dynamic” since the processing code will adapt the colors to the actual values range of a layer (through a linear stretch) keeping, as an instance, MIN layer value = BLUE and MAX layer value = RED.
Moreover, previously computed statistical metadata through gdalinfo are supported and may be exposed through a RenderingTransformation to retrieve the range. (Gdalinfo auxiliary metadata parsing has been already supported on GeoTools ImageMosaic: See linked JIRA on GEOS-6184).

colormaps may be defined:

Finally, a dispatcherCallback will be defined to intercept a getLegendGraphics involving a renderingTransformation based on that process. It will dynamically setup the legend for the specific layer (also parsing any dimension provided in the request, such as time, elevation, … since statistics change across different slices of a multidimensional coverage).


I would like to contribute that module to the community.

Please, let me know.

Best Regards,
Daniele

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it 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



CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk


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

On Fri, Jan 17, 2014 at 12:34 PM, Daniele Romagnoli <
daniele.romagnoli@anonymised.com> wrote:

Question on that topic:
For the getLegendGraphic part I make use of some utility methods and
objects from wms (org.geoserver.wms.legendgraphic.Cell and
org.geoserver.wms.legendgraphic.ColorMapLegendCreator) which are package
private classes.
Instead of copying and modifying them as per my needs on the community
module, I would like to make them public on the wms module so that they can
be used from other modules.
Does it make sense? In that case, what is the required procedure to make
them public?

Those classes were written by Simone. I cannot see a reason to keep them
package private if they are needed in another module, but maybe
double check with him.

If it's ok, I'd just go ahead and commit the visibility change

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it 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

-------------------------------------------------------

+1

···

Regards,
Simone Giannecchini

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Fri, Jan 17, 2014 at 12:43 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 17, 2014 at 12:34 PM, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Question on that topic:

For the getLegendGraphic part I make use of some utility methods and objects from wms (org.geoserver.wms.legendgraphic.Cell and org.geoserver.wms.legendgraphic.ColorMapLegendCreator) which are package private classes.

Instead of copying and modifying them as per my needs on the community module, I would like to make them public on the wms module so that they can be used from other modules.

Does it make sense? In that case, what is the required procedure to make them public?

Those classes were written by Simone. I cannot see a reason to keep them package private if they are needed in another module, but maybe
double check with him.

If it’s ok, I’d just go ahead and commit the visibility change

Cheers
Andrea

== Our support, Your Success! Visit http://opensdi.geo-solutions.it 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


I wonder of the colorbrewer stuff could join the colormap module when it eventually becomes an extension. It would be nice to have a “gt-color” extension to gather up similar concerns.

···

Regards,
Simone Giannecchini

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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


On Fri, Jan 17, 2014 at 12:43 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 17, 2014 at 12:34 PM, Daniele Romagnoli <daniele.romagnoli@anonymised.com> wrote:

Question on that topic:

For the getLegendGraphic part I make use of some utility methods and objects from wms (org.geoserver.wms.legendgraphic.Cell and org.geoserver.wms.legendgraphic.ColorMapLegendCreator) which are package private classes.

Instead of copying and modifying them as per my needs on the community module, I would like to make them public on the wms module so that they can be used from other modules.

Does it make sense? In that case, what is the required procedure to make them public?

Those classes were written by Simone. I cannot see a reason to keep them package private if they are needed in another module, but maybe
double check with him.

If it’s ok, I’d just go ahead and commit the visibility change

Cheers
Andrea

== Our support, Your Success! Visit http://opensdi.geo-solutions.it 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