Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[udig-devel] SLD vs zoom specific widths

Matthias basler (JIRA) wrote:

I styled the rivers example shape file with a border (width 2) and fill color.
When zooming in and out I find that the rendered border width does not change.
When I zoom out quite a bit the whole rivers are shown as border only because
their "interiour to edge ratio" becomes quite small.

This is a general issue: Should the border width (and icon size, text size etc) be scaled according to zoom level or not?

Pro:
- A user of analogous maps would expect that the overall maplayout does not change, no matter what zoom level is chosen. That is, a river with a border of ~1/10th of the line width is pained this way on all scales. This is relevant for printing!

Contra:
- The OGC SLD probably (I don't know!) handles styles as scale-independent - so "2 points" is always the same width, no matter what scale is chosen.
- Additional UI logic would be needed to allow to set a line width etc. according to the scale.
- Text would get very small and unreadable when zooming out.

What's your opinion?
Hi Matthias:

Right now we have always gone with the SLD standard. That is our reference "BasicRenderer" makes use of the OGC SLD for all its rendering needs. The rendering API is pluggable. We saw custom renderers used to great effect in the JUMP codebase, also it is the only real way to deal with things like CAD files (that hold their own color).

However all is not lost, we knows James MacGill is on the SLD working group ... lets do the open source thing and involve a few more people in this discussion.

James - this is the third request I have had for SLD documents to do things based on real world coordinates. When we were writing renderers I initially thought that it was impossible, but given the presence of the scalehint calculation we should be able to do something. David Blasby and I have talked at some length about these tradeoffs - if you need someone with a great understanding to talk about such things with you could drop him an email.

I know one great idea that was mentioned was to define the width based on a function. Width is already an expression, so this solution is already achievable via the current SLD api.

Jody




Back to the top