Adrian Custer wrote:
Hey all,

I'm trying to figure out the rendering toolchain, tracking particularly
three elements:
        CRS (and projection): where these are determined, handled which
        I believe I now underestand in general and will figure out
        specifics later,
Resolution (display at 96dpi versus printing at 300+ dpi) and Orientation(so I can pick how the map will appear on my screen/page/powerpoint slide).
I presume that the rendering system must be capable of handling these
things. Below, you'll find Jesse's original email outlining the
rendering steps---all my understanding to date comes from that so if my
question seems confused, I am referring to that outline.


1) uDig vs. Geotools
As I understand things, uDig has a "meta" rendering system that embeds
various renderers internally. Is this meta system capable of handling
the issues above in a way that the individual renderers cannot?
Good question, uDig does define a ViewPort model that gathers together the information you describe for safe keeping. And it may make use of its own callback object into the label generation
in order to handle things like rotation correctly.
2) Handling dpi

Does Geotools assume a screen resolution or is the rendering system
resolution independent? If the latter, where in the chain is the dpi
determined?
Interesting, I am trying to remember if the SLD specification is resolution dependent. I am not sure it is, preferring to work with things like point when it comes to font size and so on, and making
use of pixels everywhere else.
As I understand Jesse's explanation, there's a decimation step that
happens once the 'styled features' have been created. This implies that
the dpi has been set by that stage.
3) Handling rotation

As far as I can tell, any rotation stuff I have come across has been a
hack rather than a robust part of the renderering system. That is, we
can't rotate the output while still having the text labels appear
horizontal. Is that correct? Has anyone thought seriously about this
issue?
Interesting, no I had not thought about the issue. We just put together the following picture of SLD rendering for our own project, I have not gone through the details of how labels are "floated" to the surface of the image yet ... my impression is a strategy object should be passed in, and that as labels are rendered they should be stored for collision detection and so on once all are available. I recall David Blasby working with ways to specify a priority on labels (so city names would not be bumped
off the map by street names).

In any case the idea is that the strategy (or callback) object would render things the right way up even in the face of rotation of the data underneath. It would work with screen coordinates and so on ...

Cheers, sorry I did not pay attention to the specifics for you.
Jody
thanks,
adrian

P.S. Sorry to pester the list incessantly but I do hope to figure out
enough of what is going on so I can create docs to help a whole cadre of
programmers take the library and run with it.


_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to