I have prepared the first pull request related to the backport of my modifications for the WMSTileFuser(GeoWebCache) on GeoTools 11.x.
NOTE: This pull requests will upgrade the ImageIO-Ext version from 1.1.8 to 1.1.9 which are very similar except for the new PNG Writer plugin.
I will be pleased to answer to your questions.
···
2014-04-04 10:48 GMT+02:00 Nicola Lagomarsini <nicola.lagomarsini@anonymised.com…>:
Hi all,
I would ask if I can backport my modifications related to the WMSTileFuser class (GeoWebCache) on the following versions of GeoTools, GeoServer and GeoWebCache:
- Geotools: 11.x and 10.x
- GeoServer: 2.5.x and 2.4.x
- GeoWebCache: 1.5.x
I will wait a month from the date of each pull requests on the master branch before sending the new pull requests.
It should be noted that these pull requests will upgrade the ImageIO-Ext version from 1.1.8 to 1.1.9 which are very similar except for the new PNG Writer plugin.
This is a short summary of the 3 pull requests:
- for GeoTools I have moved the Quantizer code from GeoServer. It is related to the following JIRA https://jira.codehaus.org/browse/GEOS-6376.
- for GepServer I have moved the Quantizer code to GeoTools and the PNGEncoder code to ImageIO-Ext. (see the JIRA above).
- for GeoWebCache, I have improved the WMSTileFuser class and made full WMS support configurable from the geowebcache.xml file. Also I added a new WMS parameter called “hints” which can be set to SPEED, DEFAULT and QUALITY. This parameter gives the possibility to make a WMS request faster or with a better quality.
I will be pleased to answer to all your questions.
Cheers,
Nicola.
–
==
Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.
Ing. Nicola Lagomarsini
Junior 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
2014-03-07 15:43 GMT+01:00 Nicola Lagomarsini <nicola.lagomarsini@anonymised.com>:
Hi all,
I have changed the hints configurations by differentiating the interpolation type for each configuration:
Cheers,
Nicola.
–
==
Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
for more information.
Ing. Nicola Lagormarsini
Junior 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
2014-03-07 14:35 GMT+01:00 Nicola Lagomarsini <nicola.lagomarsini@anonymised.com>:
Hi all,
I have changed the quality factor to 0.25 and the image size is above 40kb. Here you can find the links for the new compressed images.
speed configuration link: https://drive.google.com/file/d/0B_H-B1p4qGi6OHhRZU9GcXZTZG8/edit?usp=sharing
default configuration link: https://drive.google.com/file/d/0B_H-B1p4qGi6dUdqSmRQXzJleHM/edit?usp=sharing
quality configuration link: https://drive.google.com/file/d/0B_H-B1p4qGi6NjZVYWw1d19PRHc/edit?usp=sharing
Cheers,
Nicola.
–
Ing. Nicola Lagormarsini
Junior 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
2014-03-07 11:53 GMT+01:00 Nicola Lagomarsini <nicola.lagomarsini@anonymised.com>:
Hi all,
I have set the quality factor to 0.1 inside the pull requests.
Cheers,
Nicola.
–
Ing. Nicola Lagormarsini
Junior 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
2014-03-07 11:11 GMT+01:00 Nicola Lagomarsini <nicola.lagomarsini@anonymised.com>:
Hi Andrea,
the quality parameter can be configured inside the application context for the PNGEncoder inside the gwc-wms and gs-gwc modules. By setting for example the quality parameter to 0.1 the image size is considerably reduced.
About the hints considerations I have used different hints for each configuration, so I think that this similarity between speed and default configuration could be associated to a similar hints behaviour.
Below are listed the hints for each configurations.
Speed:
KEY_COLOR_RENDERING = VALUE_COLOR_RENDER_SPEED;
KEY_ANTIALIASING = VALUE_ANTIALIAS_OFF;
KEY_FRACTIONALMETRICS = VALUE_FRACTIONALMETRICS_OFF;
KEY_ALPHA_INTERPOLATION = VALUE_ALPHA_INTERPOLATION_SPEED;
KEY_INTERPOLATION = VALUE_INTERPOLATION_NEAREST_NEIGHBOR;
KEY_RENDERING = VALUE_RENDER_SPEED;
KEY_TEXT_ANTIALIASING = VALUE_TEXT_ANTIALIAS_OFF;
KEY_STROKE_CONTROL = VALUE_STROKE_PURE;
Default:
KEY_COLOR_RENDERING = VALUE_COLOR_RENDER_DEFAULT;
KEY_ANTIALIASING = VALUE_ANTIALIAS_DEFAULT;
KEY_FRACTIONALMETRICS = VALUE_FRACTIONALMETRICS_DEFAULT;
KEY_ALPHA_INTERPOLATION =VALUE_ALPHA_INTERPOLATION_DEFAULT;
KEY_RENDERING = VALUE_RENDER_DEFAULT;
KEY_TEXT_ANTIALIASING = VALUE_TEXT_ANTIALIAS_DEFAULT;
KEY_STROKE_CONTROL = VALUE_STROKE_DEFAULT;
Quality:
KEY_COLOR_RENDERING = VALUE_COLOR_RENDER_QUALITY;
KEY_ANTIALIASING = VALUE_ANTIALIAS_ON;
KEY_FRACTIONALMETRICS = VALUE_FRACTIONALMETRICS_ON;
KEY_ALPHA_INTERPOLATION = VALUE_ALPHA_INTERPOLATION_QUALITY;
KEY_INTERPOLATION = VALUE_INTERPOLATION_BILINEAR;
KEY_RENDERING = VALUE_RENDER_QUALITY;
KEY_TEXT_ANTIALIASING = VALUE_TEXT_ANTIALIAS_ON;
KEY_STROKE_CONTROL = VALUE_STROKE_NORMALIZE;
Cheers,
Nicola.
–
Ing. Nicola Lagormarsini
Junior 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
2014-03-07 10:32 GMT+01:00 Andrea Aime <andrea.aime@anonymised.com>:
–
==
Ing. Nicola Lagormarsini
Junior 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 Fri, Mar 7, 2014 at 10:28 AM, Nicola Lagomarsini <nicola.lagomarsini@anonymised.com> wrote:
Hi all,
I’m going to show some images for comparing the old wmsTileFuser class and its modified version, both in fullWMS mode enabled.
I made the fullWMS parameter configurable from the geowebcache.xml file by adding the TRUE(or FALSE) field.
I added the possibility for the user to change the image quality by setting an additional WMS parameter called hints. The user can choose one of the 3 following values: speed, default, quality.
The first image represents the result of a WMS request on a vectorial layer, in image/png format. The other 3 images represent the same WMS request with the new WMS parameter.
The second image value represents the result with the speed value which takes minor time without any care about the quality.
The third image (default value selected) provides a better image quality but requires more time than the speed configuration.
The last image with the quality value takes more time than the others but the final image has the best quality between the 4 images.
From the results, in fact, it is easy to note that the image created with the quality hints has a better quality than that returned by the old WMSTileFuser class.
I hope this could help to review the pull requests.
P.S. The images are too big to be sent by mail, I add the following links for download:
old wms request: https://drive.google.com/file/d/0B_H-B1p4qGi6VVgyVGJPYVV1c1hBMDMzakhPRTZlQTdzRFl3/edit?usp=sharing
new wms request with speed hints: https://drive.google.com/file/d/0B_H-B1p4qGi6MEhJR1NxTkV2Tnh0Y3Zza2JJdHNtY0RhZVN3/edit?usp=sharing
new wms request with default hints: https://drive.google.com/file/d/0B_H-B1p4qGi6bk5adnNYN2NjRUk/edit?usp=sharing
new wms request with quality hints: https://drive.google.com/file/d/0B_H-B1p4qGi6b1RTYktBSjBtYlpOdGdFS3NVWkVIb1Rzd3g4/edit?usp=sharing
Hi Nicola,
I’m looking at the outputs, and finding something strange. The quality one is definitely much better, for sure, however:
- the new images are ~20 times larger than the oldwms one (from 34kb to 758KB), something is wrong with the png compression parameters I suppose
- I cannot see any difference, visually, between oldwms, new with speed, and new with default
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