[Geoserver-devel] Renderers and Data Access

This weekend I was studying Gt2's renderers (we are studying Gt2-JUMP integration and I was compareing Rendering in both projects. Also, Gt2 symbols are more complete, because SLD implementation.).

I have some questions about Gt2's renderers.

First of all, LiteRenderer is similar to JUMP's renderer. Conversion between Feature+Style to Java2D is made in each repaint. I only was a bit surprised because it didnt any bbox filtering. (it draws all Features of a FeatureSource).

Secondly. I was surprised for the excellent rendering of StyledRenderer. As I can read from Andrea's mail, it could be adapted to read massive datasets.

If you prepare a memory sensitive cache of rendered layers,

and if we could break the single big rendered layer into sublayers that could be created
and cached selectively, then I think that the StyledMapRenderer would become a
powerful way to render maps even in a WMS.

Long term solution: adapt the StyledMapRenderer for selective data loading and caching

to get really good performance.

Are you planning to adapt Gt2 j2d renderers to selective Feature+Style->java2d conversion?
Im very pleased with MapViewer2 demo. Changing zoom vith Av.Pg. and Re.Pg get instant responses, but the problem is working with massive datasets (we cant have all RenderedLayer in memory).

Regards!

_________________________________________________________________
Charla con tus amigos en lĂ­nea mediante MSN Messenger: http://messenger.latino.msn.com/

On Monday 12 April 2004 10:19, Alvaro Zabala wrote:

This weekend I was studying Gt2's renderers (we are studying Gt2-JUMP
integration and I was compareing Rendering in both projects. Also, Gt2
symbols are more complete, because SLD implementation.).

I have some questions about Gt2's renderers.

First of all, LiteRenderer is similar to JUMP's renderer. Conversion
between Feature+Style to Java2D is made in each repaint. I only was a bit
surprised because it didnt any bbox filtering. (it draws all Features of a
FeatureSource).

I'm going to add bbox filtering today, it's quite easy. It's just that I almost
never get time to finish things because I'm about the only active developer
in the rendering/gui section and the only one besides Rueben who's writing
docs... I can't do them all, thus I just jump from one to the other as I feel one
becomes more urgent than the others....
About this, read also the answer I'm writing for Chris e-mail.

Secondly. I was surprised for the excellent rendering of StyledRenderer. As
I can read from Andrea's mail, it could be adapted to read massive
datasets.

Yes, we just need to make the RenderedLayer split up the data just
like in a regular subdivision or by using a quadtree concept and make them
use soft references or another kind of heap sensitive data structure so
that when the memory fills up some data is discarded.

>>If you prepare a memory sensitive cache of rendered layers,
>
>and if we could break the single big rendered layer into sublayers that
>could be created
>and cached selectively, then I think that the StyledMapRenderer would
>become a
>powerful way to render maps even in a WMS.
>
>>Long term solution: adapt the StyledMapRenderer for selective data
>> loading and caching
>
>to get really good performance.

Are you planning to adapt Gt2 j2d renderers to selective
Feature+Style->java2d conversion?

I'm not sure about what you do mean... anyway, my idea was to make it space
sentive, that is, to subdivide data according to spatial pattern. Having a weak reference
or soft reference for each feature is too much, we would be going to waste too much
memory just to keep the references around (think about point data, for example).

Im very pleased with MapViewer2 demo. Changing zoom vith Av.Pg. and Re.Pg
get instant responses, but the problem is working with massive datasets (we
cant have all RenderedLayer in memory).

Yes, I fully agree.

Best regards
Andrea Aime