[Geoserver-devel] By request interpolation method in WMS

Hi,
currently WMS can be configured to used different intepolation methods (nearest neighbour, bilinear or bicubic) only as a global configuration setting.

I would like to add a new vendor parameter for GetMap (interpolation) so that the method could be set on a by request basis, overriding the default service configuration.

WCS already supports an identical parameter, so I would reuse the InterpolationMethodKvpParser parser (moving it in the gs-ows module so that it can be shared by both services.

Thanks
Mauro Bartolomeoli

···

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

On Thu, Mar 26, 2015 at 2:36 PM, Mauro Bartolomeoli <
mauro.bartolomeoli@anonymised.com> wrote:

Hi,
currently WMS can be configured to used different intepolation methods
(nearest neighbour, bilinear or bicubic) only as a global configuration
setting.

I would like to add a new vendor parameter for GetMap (interpolation) so
that the method could be set on a by request basis, overriding the default
service configuration.

WCS already supports an identical parameter, so I would reuse the
InterpolationMethodKvpParser parser (moving it in the gs-ows module so that
it can be shared by both services.

No objection, I just have two hesitations.

One is about the new parameter, in the past years we have tried to avoid
adding new kvp params because we don't know if OGC might add them in a
future
version of GeoServer, and stuck pretty much everything new in the
format_options instead.
The idea that OGC might add in a future wms version a interpolation
parameter is not too far fetched... but at the same time, we can control
kvp parsers
by service and version, so I guess whatever we setup now, could be locked
to work only on 1.1 and 1.3 in case wms 2.0 added the same param name.
So... unless I'm missing something, it should be ok to also add
interpolation as a first level param.

The other is about the performance impact on the server, outside of the
administrator control: interpolating with bicubic is quite a bit more
expensive than using NN. It's true that WCS is out there anyways, but at
the same time, WCS normally generates very little traffic.
I may be overthinking it, but we might want to allow an admin to
control/disable client interpolation choice (even with just a property
controlled
by GeoServerExtensions.getProperty if needs be). Again, no strong opinion,
but wanted to at least discuss this one and see what other
people think.

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 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.

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

Hi Andrea,

···

2015-03-26 15:28 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com…>:

For sure, I would lock the parameter, but I don’t have a strong opinion on this, so if people prefers using a format_options variable, it’s ok for me.

We could add a flag to the WMS service configuration, near the default interpolation method, to allow override (defaulting to false). Will this be backportable?
Could we use a simple GeoServerExtensions property on backport(s) and introduce the flag only on master, or is too much an effort for a simple flag :slight_smile: ?

Regards,
Mauro

On Thu, Mar 26, 2015 at 2:36 PM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
currently WMS can be configured to used different intepolation methods (nearest neighbour, bilinear or bicubic) only as a global configuration setting.

I would like to add a new vendor parameter for GetMap (interpolation) so that the method could be set on a by request basis, overriding the default service configuration.

WCS already supports an identical parameter, so I would reuse the InterpolationMethodKvpParser parser (moving it in the gs-ows module so that it can be shared by both services.

No objection, I just have two hesitations.

One is about the new parameter, in the past years we have tried to avoid adding new kvp params because we don’t know if OGC might add them in a future
version of GeoServer, and stuck pretty much everything new in the format_options instead.
The idea that OGC might add in a future wms version a interpolation parameter is not too far fetched… but at the same time, we can control kvp parsers
by service and version, so I guess whatever we setup now, could be locked to work only on 1.1 and 1.3 in case wms 2.0 added the same param name.
So… unless I’m missing something, it should be ok to also add interpolation as a first level param.

The other is about the performance impact on the server, outside of the administrator control: interpolating with bicubic is quite a bit more
expensive than using NN. It’s true that WCS is out there anyways, but at the same time, WCS normally generates very little traffic.
I may be overthinking it, but we might want to allow an admin to control/disable client interpolation choice (even with just a property controlled
by GeoServerExtensions.getProperty if needs be). Again, no strong opinion, but wanted to at least discuss this one and see what other
people think.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

On Thu, Mar 26, 2015 at 3:47 PM, Mauro Bartolomeoli <
mauro.bartolomeoli@anonymised.com> wrote:

Hi Andrea,

2015-03-26 15:28 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

On Thu, Mar 26, 2015 at 2:36 PM, Mauro Bartolomeoli <
mauro.bartolomeoli@anonymised.com> wrote:

Hi,
currently WMS can be configured to used different intepolation methods
(nearest neighbour, bilinear or bicubic) only as a global configuration
setting.

I would like to add a new vendor parameter for GetMap (interpolation) so
that the method could be set on a by request basis, overriding the default
service configuration.

WCS already supports an identical parameter, so I would reuse the
InterpolationMethodKvpParser parser (moving it in the gs-ows module so that
it can be shared by both services.

No objection, I just have two hesitations.

One is about the new parameter, in the past years we have tried to avoid
adding new kvp params because we don't know if OGC might add them in a
future
version of GeoServer, and stuck pretty much everything new in the
format_options instead.
The idea that OGC might add in a future wms version a interpolation
parameter is not too far fetched... but at the same time, we can control
kvp parsers
by service and version, so I guess whatever we setup now, could be locked
to work only on 1.1 and 1.3 in case wms 2.0 added the same param name.
So... unless I'm missing something, it should be ok to also add
interpolation as a first level param.

For sure, I would lock the parameter, but I don't have a strong opinion on
this, so if people prefers using a format_options variable, it's ok for me.

Hum... forget about my rant, we can lock down the parameter later in case
OGC throws us a curve ball. Maybe just add a comment
in the spring context with the above considerations (for the developer that
might have to deal with this later in the future).

The other is about the performance impact on the server, outside of the
administrator control: interpolating with bicubic is quite a bit more
expensive than using NN. It's true that WCS is out there anyways, but at
the same time, WCS normally generates very little traffic.
I may be overthinking it, but we might want to allow an admin to
control/disable client interpolation choice (even with just a property
controlled
by GeoServerExtensions.getProperty if needs be). Again, no strong
opinion, but wanted to at least discuss this one and see what other
people think.

We could add a flag to the WMS service configuration, near the default
interpolation method, to allow override (defaulting to false). Will this be
backportable?
Could we use a simple GeoServerExtensions property on backport(s) and
introduce the flag only on master, or is too much an effort for a simple
flag :slight_smile: ?

I like this idea, yeah. In terms of backport the usual rule applies, one
month cooldown on master, if no issues are seen, ask to backport on stable

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 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.

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

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

···

On 26 March 2015 at 06:36, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
currently WMS can be configured to used different intepolation methods (nearest neighbour, bilinear or bicubic) only as a global configuration setting.

I would like to add a new vendor parameter for GetMap (interpolation) so that the method could be set on a by request basis, overriding the default service configuration.

WCS already supports an identical parameter, so I would reuse the InterpolationMethodKvpParser parser (moving it in the gs-ows module so that it can be shared by both services.

Thanks
Mauro Bartolomeoli

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.


Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/


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


Jody Garnett

Hi Jody,

···

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com…>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

If you instead mean that it should be a configuration option for layers, this is not what the customer is asking for this improvement:the parameter is needed to dynamically change (from the client) the rendering of specific maps, switching between nearest neighbour (faster but uglier) and bicubic (slower but prettier) on demand.

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <
mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn't it be more appropriate to do this on a layer by layer basis? Or
are you focused on the final map production ...

If you mean that the interpolation parameter should be a comma delimited
list with one value for each layer (similar to style), this would make the
change a bit more complex, because currently interpolation is achieved
through rendering hints that are passed to StreamingRenderer for the whole
rendering. If we want to make it layers specific we would need to move the
logic inside StreamingRenderer, while now it's in
RenderedImageMapOutputFormat. It's not impossible, I could investigate on
the effort if people prefer to make it work this way.

Indeed, that is why we have only the setting at the entire server level,
because the streaming renderer cannot do interpolation per layer... not a
massive change, but not entirely trivial I warn you, you'll have to modify
both streaming renderer and grid coverage renderer, as well as, I suppose,
RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation
value (don't the the interpolation setting does anything for vector
layers... might be wrong though).

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 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.

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

Hi,

···

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

Hi,
so I did some work on this and it seems to be finally working (I had to fix a couple of bugs in the run, to take care of both direct and “classic” rendering path).
As prospected the change is partly in GeoTools, in particular in StreamingRenderer to add support for the “by layer” interpolation hint.

For the GeoServer work, unfortunately I didn’t managed to reuse the WCS interpolation kvp parser, for a couple of reasons:

  • we want to support comma delimited values to allow for multiple layers having different interpolation (the WCS parser supports only one value)
  • the wcs parser is tied to EMF classes for WCS

I would like to start preparing pull requests for this part, but I am not sure how to proceed due to “missing JIRA”. I would like to refer the JIRA number from the PR, as usual.
Is it possible to coordinate for “booking” JIRA numbers that I will create as soon as possible on the new JIRA?
It seems the first availables are GEOT-5064 and GEOS-6965. Can I use them for this work?

···

Thanks
Mauro

2015-03-27 15:51 GMT+01:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,

Regards,
Mauro

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com…>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

You can create a new Jira at http://osgeo-org.atlassian.net - placeholders have been created for the old Jira and the contents should be migrated across shortly. Attend the Skype meeting today to coordinate.

···

On 31 March 2015 at 08:38, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
so I did some work on this and it seems to be finally working (I had to fix a couple of bugs in the run, to take care of both direct and “classic” rendering path).
As prospected the change is partly in GeoTools, in particular in StreamingRenderer to add support for the “by layer” interpolation hint.

For the GeoServer work, unfortunately I didn’t managed to reuse the WCS interpolation kvp parser, for a couple of reasons:

  • we want to support comma delimited values to allow for multiple layers having different interpolation (the WCS parser supports only one value)
  • the wcs parser is tied to EMF classes for WCS

I would like to start preparing pull requests for this part, but I am not sure how to proceed due to “missing JIRA”. I would like to refer the JIRA number from the PR, as usual.
Is it possible to coordinate for “booking” JIRA numbers that I will create as soon as possible on the new JIRA?
It seems the first availables are GEOT-5064 and GEOS-6965. Can I use them for this work?


Jody Garnett

Thanks
Mauro

2015-03-27 15:51 GMT+01:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

Hi,
the pull request for the GeoTools part is here: https://github.com/geotools/geotools/pull/802

Regards,
Mauro

···

2015-03-31 17:51 GMT+02:00 Jody Garnett <jody.garnett@anonymised.com>:

You can create a new Jira at http://osgeo-org.atlassian.net - placeholders have been created for the old Jira and the contents should be migrated across shortly. Attend the Skype meeting today to coordinate.


Jody Garnett

On 31 March 2015 at 08:38, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
so I did some work on this and it seems to be finally working (I had to fix a couple of bugs in the run, to take care of both direct and “classic” rendering path).
As prospected the change is partly in GeoTools, in particular in StreamingRenderer to add support for the “by layer” interpolation hint.

For the GeoServer work, unfortunately I didn’t managed to reuse the WCS interpolation kvp parser, for a couple of reasons:

  • we want to support comma delimited values to allow for multiple layers having different interpolation (the WCS parser supports only one value)
  • the wcs parser is tied to EMF classes for WCS

I would like to start preparing pull requests for this part, but I am not sure how to proceed due to “missing JIRA”. I would like to refer the JIRA number from the PR, as usual.
Is it possible to coordinate for “booking” JIRA numbers that I will create as soon as possible on the new JIRA?
It seems the first availables are GEOT-5064 and GEOS-6965. Can I use them for this work?

Thanks
Mauro

2015-03-27 15:51 GMT+01:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

And here is the GeoServer one: https://github.com/geoserver/geoserver/pull/998

Thank you.
Mauro

···

2015-04-01 12:14 GMT+02:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,
the pull request for the GeoTools part is here: https://github.com/geotools/geotools/pull/802

Regards,
Mauro

2015-03-31 17:51 GMT+02:00 Jody Garnett <jody.garnett@anonymised.com>:

You can create a new Jira at http://osgeo-org.atlassian.net - placeholders have been created for the old Jira and the contents should be migrated across shortly. Attend the Skype meeting today to coordinate.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.


Jody Garnett

On 31 March 2015 at 08:38, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
so I did some work on this and it seems to be finally working (I had to fix a couple of bugs in the run, to take care of both direct and “classic” rendering path).
As prospected the change is partly in GeoTools, in particular in StreamingRenderer to add support for the “by layer” interpolation hint.

For the GeoServer work, unfortunately I didn’t managed to reuse the WCS interpolation kvp parser, for a couple of reasons:

  • we want to support comma delimited values to allow for multiple layers having different interpolation (the WCS parser supports only one value)
  • the wcs parser is tied to EMF classes for WCS

I would like to start preparing pull requests for this part, but I am not sure how to proceed due to “missing JIRA”. I would like to refer the JIRA number from the PR, as usual.
Is it possible to coordinate for “booking” JIRA numbers that I will create as soon as possible on the new JIRA?
It seems the first availables are GEOT-5064 and GEOS-6965. Can I use them for this work?

Thanks
Mauro

2015-03-27 15:51 GMT+01:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

Just wanted to double back to this issue, as GEOT-5064 indicates you want to back port the functionality - do you want to do that before next week’s release?

A number of GeoServer issues are stacking up on this subject (GEOS-7005, GEOS-6614).

···

On 1 April 2015 at 06:04, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

And here is the GeoServer one: https://github.com/geoserver/geoserver/pull/998

Thank you.

Mauro


Jody Garnett

2015-04-01 12:14 GMT+02:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,
the pull request for the GeoTools part is here: https://github.com/geotools/geotools/pull/802

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-31 17:51 GMT+02:00 Jody Garnett <jody.garnett@anonymised.com>:

You can create a new Jira at http://osgeo-org.atlassian.net - placeholders have been created for the old Jira and the contents should be migrated across shortly. Attend the Skype meeting today to coordinate.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.


Jody Garnett

On 31 March 2015 at 08:38, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
so I did some work on this and it seems to be finally working (I had to fix a couple of bugs in the run, to take care of both direct and “classic” rendering path).
As prospected the change is partly in GeoTools, in particular in StreamingRenderer to add support for the “by layer” interpolation hint.

For the GeoServer work, unfortunately I didn’t managed to reuse the WCS interpolation kvp parser, for a couple of reasons:

  • we want to support comma delimited values to allow for multiple layers having different interpolation (the WCS parser supports only one value)
  • the wcs parser is tied to EMF classes for WCS

I would like to start preparing pull requests for this part, but I am not sure how to proceed due to “missing JIRA”. I would like to refer the JIRA number from the PR, as usual.
Is it possible to coordinate for “booking” JIRA numbers that I will create as soon as possible on the new JIRA?
It seems the first availables are GEOT-5064 and GEOS-6965. Can I use them for this work?

Thanks
Mauro

2015-03-27 15:51 GMT+01:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

Hi Jody,
backports are already there, for both GeoTools and GeoServer (2.6.x and 2.7.x).

Mauro

···

2015-05-13 0:38 GMT+02:00 Jody Garnett <jody.garnett@anonymised.com>:

Just wanted to double back to this issue, as GEOT-5064 indicates you want to back port the functionality - do you want to do that before next week’s release?

A number of GeoServer issues are stacking up on this subject (GEOS-7005, GEOS-6614).


Jody Garnett

On 1 April 2015 at 06:04, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

And here is the GeoServer one: https://github.com/geoserver/geoserver/pull/998

Thank you.

Mauro

2015-04-01 12:14 GMT+02:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,
the pull request for the GeoTools part is here: https://github.com/geotools/geotools/pull/802

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-31 17:51 GMT+02:00 Jody Garnett <jody.garnett@anonymised.com>:

You can create a new Jira at http://osgeo-org.atlassian.net - placeholders have been created for the old Jira and the contents should be migrated across shortly. Attend the Skype meeting today to coordinate.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.


Jody Garnett

On 31 March 2015 at 08:38, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
so I did some work on this and it seems to be finally working (I had to fix a couple of bugs in the run, to take care of both direct and “classic” rendering path).
As prospected the change is partly in GeoTools, in particular in StreamingRenderer to add support for the “by layer” interpolation hint.

For the GeoServer work, unfortunately I didn’t managed to reuse the WCS interpolation kvp parser, for a couple of reasons:

  • we want to support comma delimited values to allow for multiple layers having different interpolation (the WCS parser supports only one value)
  • the wcs parser is tied to EMF classes for WCS

I would like to start preparing pull requests for this part, but I am not sure how to proceed due to “missing JIRA”. I would like to refer the JIRA number from the PR, as usual.
Is it possible to coordinate for “booking” JIRA numbers that I will create as soon as possible on the new JIRA?
It seems the first availables are GEOT-5064 and GEOS-6965. Can I use them for this work?

Thanks
Mauro

2015-03-27 15:51 GMT+01:00 Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com>:

Hi,

Regards,
Mauro

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.

2015-03-27 14:12 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:

I had a quick look, and for sure StreamingRenderer needs to be touched.

There is a generic getRenderingInterpolation() method that RenderCoverageReaderRequest call to get the current hint. We should probably make the interpolation value a property of the reader, so that we can set it when we create the reader, removing delegation to the outer class method.
GridCoverageRenderer already accepts an Interpolation object, so probably we just need to set it appropriately in RenderCoverageReaderRequest.

I also think that the hint only affects raster layers. From this first investigation it doesn’t seem too difficult, so probably is a good idea to make the parameter “multivalued”.

On Fri, Mar 27, 2015 at 9:15 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody,

Indeed, that is why we have only the setting at the entire server level, because the streaming renderer cannot do interpolation per layer… not a massive change, but not entirely trivial I warn you, you’ll have to modify both streaming renderer and grid coverage renderer, as well as, I suppose, RasterLayer/GridCoverageLayer/GridReaderLayer to hold the interpolation value (don’t the the interpolation setting does anything for vector layers… might be wrong though).

2015-03-26 20:22 GMT+01:00 Jody Garnett <jody.garnett@anonymised.com>:

Wouldn’t it be more appropriate to do this on a layer by layer basis? Or are you focused on the final map production …

If you mean that the interpolation parameter should be a comma delimited list with one value for each layer (similar to style), this would make the change a bit more complex, because currently interpolation is achieved through rendering hints that are passed to StreamingRenderer for the whole rendering. If we want to make it layers specific we would need to move the logic inside StreamingRenderer, while now it’s in RenderedImageMapOutputFormat. It’s not impossible, I could investigate on the effort if people prefer to make it work this way.

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

Dott. Mauro Bartolomeoli
@mauro_bart
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.