[Geoserver-devel] Draft GSIP 95: Adding BBOX and SRS parameters to GetLegendGraphics

Here is a Draft GSIP for review. We are proposing to add two optional parameters to the GetLegendGraphics handler to allow the specification of a bounding box and associated srs. These would then be used to determine what symbology will actually be used when rendering a those bounds and produce a legend graphic only with what will be displayed on the map.

http://geoserver.org/display/GEOS/GSIP+95±+GetLegendGraphics+BBOX+and+SRS+parameter

We are hoping to validate our approach before we quote our customer to make sure we’re going down the right path, so any feedback would be greatly appreciated.


Mark Leslie


The contents of this email are confidential and may be subject to legal or professional privilege and copyright. No representation is made that this email is free of viruses or other defects. If you have received this communication in error, you may not copy or distribute any part of it or otherwise disclose its contents to anyone. Please advise the sender of your incorrect receipt of this correspondence.

Thanks Mark,

Although I it is out of scope I have a question for Simone. Is it possible to cut down the raster to just is what on screen and render the raster legend for that? I would expect something like setting up a histogram operation and using the result to cut down the SLD file…

I added some thoughts on how to render the SE functions into a Legend Graphic:
Recode ← render like raster legend VALUES
Interpolate ← render like raster legend RAMP
Categorize ← render like raster legend CLASSES

The GeoVista project had some excellent examples of this kind of thing.


Jody Garnett

On Thursday, 9 May 2013 at 5:46 PM, Mark Leslie wrote:

Here is a Draft GSIP for review. We are proposing to add two optional parameters to the GetLegendGraphics handler to allow the specification of a bounding box and associated srs. These would then be used to determine what symbology will actually be used when rendering a those bounds and produce a legend graphic only with what will be displayed on the map.

http://geoserver.org/display/GEOS/GSIP+95±+GetLegendGraphics+BBOX+and+SRS+parameter

We are hoping to validate our approach before we quote our customer to make sure we’re going down the right path, so any feedback would be greatly appreciated.


Mark Leslie


The contents of this email are confidential and may be subject to legal or professional privilege and copyright. No representation is made that this email is free of viruses or other defects. If you have received this communication in error, you may not copy or distribute any part of it or otherwise disclose its contents to anyone. Please advise the sender of your incorrect receipt of this correspondence.


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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

On Fri, May 10, 2013 at 1:46 AM, Mark Leslie <mark.leslie@anonymised.com>wrote:

Here is a Draft GSIP for review. We are proposing to add two optional
parameters to the GetLegendGraphics handler to allow the specification of a
bounding box and associated srs. These would then be used to determine
what symbology will actually be used when rendering a those bounds and
produce a legend graphic only with what will be displayed on the map.

http://geoserver.org/display/GEOS/GSIP+95+-+GetLegendGraphics+BBOX+and+SRS+parameter

We are hoping to validate our approach before we quote our customer to
make sure we're going down the right path, so any feedback would be greatly
appreciated.

The proposal sounds reasonable.

Excluding rasters completely seems imho a bit too much, a simple
implementation that checks the BBOX against the
raster original envelope is just a bit more than a one liner and gets you
90% of the functionality (a full fledged implementation
would have to read a scaled down version in that area and see if the
returned coverage is empty, but it would also fall
prey of different behaviors in the readers, some might return a null value,
others might return a value filled with nodata).
Anyways, your choice, not a blocker, just wanted to point out it might not
be hard at all.

The case of excluding attribute generated by attribute reference is
probably not worth mentioning: the getLegendGraphics
code is not able to generate a legend in that case, at least if the case is
having the attribute in the external graphics url.
If instead we are talking about attribute based filters, I guess combining
them with the bbox will do the trick, no?

As for categorize/interpolate/recode, the current code is not able to
generate a legend anyways.

About the two stage alternative approach that would depend on GSIP 81:
Carlo (cc'ed) abandoned the GSIP
at the community level because of lack of feedback, but he actually
implemented it in a fork of GeoServer
that he's maintaining for a customer and it's in use, don't know if it can
be revived or not.

Ah, one thing performance wise: styles with multiple FeatureTypeStyle tend
to contains the same rule
filters in the different FTS (think of a road style that needs to depict a
highway with cased lines), there
is potential for optimization if the results are somehow cached during the
transformation.
A DuplicatingStyleVisitor subclass should do the trick, and it could
contain, now or in the future, the filter
evaluation caching logic. Just thinking out loud, by no means a requirement.

Cheers
Andrea

--

GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.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 - this would be an interesting proposal. One use-case would be regional geology.

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.

Just a further comment on this. Managing legends on a web page is a difficult job. This improves matters (removes unused entries which otherwise waste space). However, just we have levels of details in aTMS, you really need a way to manage level of detail in legends as you move from regional to larger views.

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.

I think the existing SCALE parameter for GetLegendGraphics does some of that?

But yeah greater control we would start instrumenting out SLD documents with vendor options targeted at legend graphic creation. I think SE allows you to include a legend graphic for each user layer.


Jody Garnett

On Sunday, 12 May 2013 at 4:12 PM, Phil Scadden wrote:

Just a further comment on this. Managing legends on a web page is a
difficult job. This improves matters (removes unused entries which
otherwise waste space). However, just we have levels of details in aTMS,
you really need a way to manage level of detail in legends as you move
from regional to larger views.

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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

+1

···

==
GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.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 Mon, May 13, 2013 at 2:01 AM, Jody Garnett <jody.garnett@anonymised.com> wrote:

I think the existing SCALE parameter for GetLegendGraphics does some of that?

But yeah greater control we would start instrumenting out SLD documents with vendor options targeted at legend graphic creation. I think SE allows you to include a legend graphic for each user layer.


Jody Garnett

On Sunday, 12 May 2013 at 4:12 PM, Phil Scadden wrote:

Just a further comment on this. Managing legends on a web page is a
difficult job. This improves matters (removes unused entries which
otherwise waste space). However, just we have levels of details in aTMS,
you really need a way to manage level of detail in legends as you move
from regional to larger views.

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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

Hi all,
about the status of the proposal 81: this is a working sample of the getLegendGraphic as text implementation:

http://data.fao.org/maps/wms?service=WMS&version=1.1.0&request=GetLegendGraphic&layer=FSATMIS:fsatmis_district_commitment&format=application/json&outputFormat=application/json

http://data.fao.org/maps/wms?service=WMS&version=1.1.0&request=GetLegendGraphic&layer=AQUASTAT:globcover&format=application/json&outputFormat=application/json

It is working as external pluggable implementation on geoserver-2.2.5. On top of this we implemented a client javascript library to draw an interactive legend.

Cheers,
Carlo

···

2013/5/10 Mark Leslie <mark.leslie@anonymised.com>

Here is a Draft GSIP for review. We are proposing to add two optional parameters to the GetLegendGraphics handler to allow the specification of a bounding box and associated srs. These would then be used to determine what symbology will actually be used when rendering a those bounds and produce a legend graphic only with what will be displayed on the map.

http://geoserver.org/display/GEOS/GSIP+95±+GetLegendGraphics+BBOX+and+SRS+parameter

We are hoping to validate our approach before we quote our customer to make sure we’re going down the right path, so any feedback would be greatly appreciated.


Mark Leslie


The contents of this email are confidential and may be subject to legal or professional privilege and copyright. No representation is made that this email is free of viruses or other defects. If you have received this communication in error, you may not copy or distribute any part of it or otherwise disclose its contents to anyone. Please advise the sender of your incorrect receipt of this correspondence.


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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

==
GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.geo-solutions.it for more information.

Dott. Carlo Cancellieri
@cancellieric
Software Engineer

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

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


I’ve had a poke through the raster legend code, and it is much more similar to the feature version than I expected, down to using the same getApplicableRules function call that I was planning on overloading. That gives me some hope that we can use the same call for both raster and feature, but I think that would take it down the rabbit hole of different reader behavior you mention. Is that similar to what you had in mind? I’ll have a look at the DuplicatingStyleVisitor and see what we can make of it as well, thanks for the pointer.

···

On 12 May 2013 18:22, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, May 10, 2013 at 1:46 AM, Mark Leslie <mark.leslie@anonymised.com> wrote:


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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


Mark Leslie
Geospatial Software Architect
LISAsoft


Ph: +61 2 8570 5000 Fax: +61 2 8570 5099 Mob: +61
Suite 112, Jones Bay Wharf 19-21 Pirrama Rd Pyrmont NSW 2009

LISAsoft is part of the A2end Group of Companies
http://www.ardec.com.au
http://www.lisasoft.com
http://www.terrapages.com

Here is a Draft GSIP for review. We are proposing to add two optional parameters to the GetLegendGraphics handler to allow the specification of a bounding box and associated srs. These would then be used to determine what symbology will actually be used when rendering a those bounds and produce a legend graphic only with what will be displayed on the map.

http://geoserver.org/display/GEOS/GSIP+95±+GetLegendGraphics+BBOX+and+SRS+parameter

We are hoping to validate our approach before we quote our customer to make sure we’re going down the right path, so any feedback would be greatly appreciated.

The proposal sounds reasonable.

Excluding rasters completely seems imho a bit too much, a simple implementation that checks the BBOX against the
raster original envelope is just a bit more than a one liner and gets you 90% of the functionality (a full fledged implementation
would have to read a scaled down version in that area and see if the returned coverage is empty, but it would also fall
prey of different behaviors in the readers, some might return a null value, others might return a value filled with nodata).
Anyways, your choice, not a blocker, just wanted to point out it might not be hard at all.

The case of excluding attribute generated by attribute reference is probably not worth mentioning: the getLegendGraphics
code is not able to generate a legend in that case, at least if the case is having the attribute in the external graphics url.
If instead we are talking about attribute based filters, I guess combining them with the bbox will do the trick, no?

As for categorize/interpolate/recode, the current code is not able to generate a legend anyways.

About the two stage alternative approach that would depend on GSIP 81: Carlo (cc’ed) abandoned the GSIP
at the community level because of lack of feedback, but he actually implemented it in a fork of GeoServer
that he’s maintaining for a customer and it’s in use, don’t know if it can be revived or not.

Ah, one thing performance wise: styles with multiple FeatureTypeStyle tend to contains the same rule
filters in the different FTS (think of a road style that needs to depict a highway with cased lines), there
is potential for optimization if the results are somehow cached during the transformation.
A DuplicatingStyleVisitor subclass should do the trick, and it could contain, now or in the future, the filter
evaluation caching logic. Just thinking out loud, by no means a requirement.

Cheers
Andrea

==
GeoServer training in Milan, 6th & 7th June 2013! Visit http://geoserver.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


On Tue, May 14, 2013 at 1:28 AM, Mark Leslie <mrk.leslie@anonymised.com> wrote:

I've had a poke through the raster legend code, and it is much more
similar to the feature version than I expected, down to using the same
getApplicableRules function call that I was planning on overloading. That
gives me some hope that we can use the same call for both raster and
feature, but I think that would take it down the rabbit hole of different
reader behavior you mention. Is that similar to what you had in mind?

Sorry, I had no plans, don't know the get legend graphics code that much
(not by hart at least).

I'll have a look at the DuplicatingStyleVisitor and see what we can make
of it as well, thanks for the pointer.

No problem. One can surely simplify stuff also the procedural way, but
it's.... ugh... ugly.

Cheers
Andrea

--

GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.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 had two fuzzy areas… and a question?

  1. BBOX check …

Think I am echoing Andrea’s thought - if we can perform the bounding box check against the layer as a simple pass/fail then indeed it should work exactly the same for raster and vector layers.

I understand your scope is limited to testing vector content, I can volunteer to test raster.

  1. BBOX vs SCALE

I was going to recommend a couple of things around handling of SCALE.

If SCALE is not provided, calculate it from the provided BBOX (then the existing scale checking code can do some of the work for you).

If both the SCALE and BBOX information is provided … think we better use the provided SCALE? (i.e. the user is asking a specific question "show me a legend at this scale, but limit the feature content to the indicated area).

Q) Do we need the image width and height (along with the BBOX)?

I was envisioning this as being similar to GetFeatureInfo, mix in enough GetMap parameters so we can determine what Map we are providing a legend graphic for … as such we may need with and height (in order to calculate SCALE?)

Are their any other GetMap parameters required to make this work?


Jody Garnett

On Thursday, 9 May 2013 at 5:46 PM, Mark Leslie wrote:

Here is a Draft GSIP for review. We are proposing to add two optional parameters to the GetLegendGraphics handler to allow the specification of a bounding box and associated srs. These would then be used to determine what symbology will actually be used when rendering a those bounds and produce a legend graphic only with what will be displayed on the map.

http://geoserver.org/display/GEOS/GSIP+95±+GetLegendGraphics+BBOX+and+SRS+parameter

We are hoping to validate our approach before we quote our customer to make sure we’re going down the right path, so any feedback would be greatly appreciated.


Mark Leslie


The contents of this email are confidential and may be subject to legal or professional privilege and copyright. No representation is made that this email is free of viruses or other defects. If you have received this communication in error, you may not copy or distribute any part of it or otherwise disclose its contents to anyone. Please advise the sender of your incorrect receipt of this correspondence.


Learn Graph Databases - Download FREE O’Reilly Book
“Graph Databases” is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may


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

If both the SCALE and BBOX information is provided … think we better use the provided SCALE? (i.e. the user is asking a specific question "show me a legend at this scale, but limit the feature content to the indicated area).

So SCALE will tell you which rule to use in SLD but doesnt BBOX still help decide which elements are needed in the legend?

A little diversion here, perhaps should be in the user list…

I have a geology, with 3 distinct levels of generalisation. (50k, 250k and 1m). The generalisations are not trivial. They also have legends which are radically different. As far as I know you cant switch layers within SLD rules. It would however be kind of cool and then the SCALE could be used to switch legends too.

At the moment, I do this on client - switch geoserver layers on/off in background while associating all with same item on the legend.

Notice: This email and any attachments are confidential. If received in error please destroy and immediately notify us. Do not copy or disclose the contents.

It is more that give BBOX and width/height we can calculate SCALE.

So my comment was what to do if the user supplies both, and my answer was trust the user supplied SCALE (even if it is “wrong”) as they probably know what they are doing.

Note: SCALE exists now (you can use it in your example to “switch legends”). I am just trying to ensure we are clear about what happens.

Jody Garnett

On Wednesday, 15 May 2013 at 7:12 PM, Phil Scadden wrote:

If both the SCALE and BBOX information is provided … think we better use the provided SCALE? (i.e. the user is asking a specific question "show me a legend at this scale, but limit the feature content to the indicated area).

So SCALE will tell you which rule to use in SLD but doesnt BBOX still help decide which elements are needed in the legend?

A little diversion here, perhaps should be in the user list…

I have a geology, with 3 distinct levels of generalisation. (50k, 250k and 1m). The generalisations are not trivial. They also have legends which are radically different. As far as I know you cant switch layers within SLD rules. It would however be kind of cool and then the SCALE could be used to switch legends too.

At the moment, I do this on client - switch geoserver layers on/off in background while associating all with same item on the legend.

Notice: This email and any attachments are confidential. If received in error please destroy and immediately notify us. Do not copy or disclose the contents.


AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d


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

On Thu, May 16, 2013 at 1:46 AM, Jody Garnett <jody.garnett@anonymised.com>wrote:

2) BBOX vs SCALE

I was going to recommend a couple of things around handling of SCALE.

If SCALE is not provided, calculate it from the provided BBOX (then
the existing scale checking code can do some of the work for you).

You cannot compute scale from bbox only, you need the image width, and you
don't have it in GetLegendGraphics
(see comments later).

If both the SCALE and BBOX information is provided … think we better use
the provided SCALE? (i.e. the user is asking a specific question "show me a
legend at this scale, but limit the feature content to the indicated area).

They play two different roles:
* scale eliminates rules based on min/max scale denominator
* bbox eliminates rules by filter check, (rules's filter) && bbox -> empty
set of features
But if you have both scale, bbox and width/height, then... see later.

Q) Do we need the image width and height (along with the BBOX)?

If you want to compute the scale from the bbox yes. Might be making things
simpler from a client that does not know how to compute
the scale, or at least make sure that the scale is computed the GeoServer
way (OGC compliant algorithm) instead of using a different
one. Close to the scale thresholds that might actually make a difference,
javascript code uses floats, GeoServer uses doubles.
Even when fixing the DPI in OpenLayers I've noticed that the two scales
(GeoServer and OL) never exactly match up

Are their any other GetMap parameters required to make this work?

If you used DPI in the GetMap, you'd need to pass it down as well

Cheers
Andrea

--

GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.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

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

On Thu, May 16, 2013 at 3:12 AM, Phil Scadden <p.scadden@anonymised.com> wrote:

If both the SCALE and BBOX information is provided … think we better use
the provided SCALE? (i.e. the user is asking a specific question "show me a
legend at this scale, but limit the feature content to the indicated area).

So SCALE will tell you which rule to use in SLD but doesnt BBOX still
help decide which elements are needed in the legend?

A little diversion here, perhaps should be in the user list...

I have a geology, with 3 distinct levels of generalisation. (50k, 250k and
1m). The generalisations are not trivial. They also have legends which are
radically different. As far as I know you cant switch layers within SLD
rules. It would however be kind of cool and then the SCALE could be used to
switch legends too.

At the moment, I do this on client - switch geoserver layers on/off in
background while associating all with same item on the legend.

I guess you can create a layer group for that
Hum... up until some time ago GeoServer could not compute the legend
graphics for a layer group, but this
new feature showed up in the 2.3.x series thanks to Mauro's work.

Cheers
Andrea

--

GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.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

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

Note: SCALE exists now (you can use it in your example to “switch legends”). I am just trying to ensure we are clear about what happens.

yes, I appreciate that. Just would also like to be able to switch layer in the rule.

Notice: This email and any attachments are confidential. If received in error please destroy and immediately notify us. Do not copy or disclose the contents.

On Thu, May 16, 2013 at 11:19 PM, Phil Scadden <p.scadden@anonymised.com> wrote:

>Note: SCALE exists now (you can use it in your example to "switch
legends"). I am just trying to ensure we are clear about what happens.

yes, I appreciate that. Just would also like to be able to switch layer in
the rule.

You don't (and you can't).. Just make 3 layers, each one with their own
style, that switch on and off at different scales, and create a layer
group that wraps them.
See my other answer about layer groups and legend graphics

Cheers
Andrea

--

GeoServer training in Milan, 6th & 7th June 2013! Visit
http://geoserver.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

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

You don't (and you can't).. Just make 3 layers, each one with their own style, that switch on and off at different scales, and create a layer group that wraps them.

Thanks. I hadn't thought of using a layer group. (Duh!) That is a very nice way to do it server side. Much cleaner than the shenigans on client side.

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.