While working on this, I've come across a few questions that I'd like to
bring to the list.

1. legend_options seems to not be working on 1.7.x SVN.  I haven't
investigated too deeply.  Justin mentioned that Simone has been doing
some work on the legends, so maybe he would have a better idea where to
look.

2. When I try to access the title of a layer via MapLayer.getTitle(), I
get the qualified name instead.  (the MapLayers are coming from a
WMSMapContext).  Is this the intended behavior?

3. The GetLegendGraphic code works by generating a bunch of
BufferedImages, then stitching them all together at the end.  Since my
layout code sometimes squishes components to fit in the tile, I redid
the legend renderer to render to a single graphics context (which can
render the fonts directly on to the image so they don't become
unreadable when scaled).  Is there interest in bringing this back to
DefaultRasterLegendProducer? (Should be about 50% savings in memory for
getlegendgraphic requests; I don't think there's a correctness issue
here.)

4. The extension point for the decorations feels a lot like the
regionating strategies (maybe I'm just not sufficiently creative.)
Rather than reproducing RegionatingStrategyFactory, I was thinking we
might want to do something more general.

In particular, I was thinking we could just overload
GeoServerExtensions.bean() with a function that takes a name and a class
and returns null if the bean found is not of the expected class.  For
type-safety concerns, we can configure the beans such that Spring
creates a new instance every time the bean is requested.

--
David Winslow
OpenGeo - http://opengeo.org/

On Mon, 2009-03-23 at 11:22 -0400, David Winslow wrote:
> Hi all,
> 
> For a project I'm working on, I would like to be able to request a
> single PNG image from GeoServer that includes not only rendered map
> features, but also some overlays like a scale bar and a legend graphic.
> I have done some work on generalizing the already-present watermark
> code; in particular:
> * separating out the layout from the rendering logic (so now the
> watermark painter receives just a rectangle within the viewport and
> draws itself into that.)
> * adding a parameter to the paint method so that overlay providers can
> do context-sensitive things (like scale bars and geographically correct
> compasses)
> 
> Additionally, I redid the layout code a bit to support offsets and
> multiple overlays in the same image request.  (Attached is a demo image
> featuring everyone's favorite cactus monster [1]).
> 
> The request is a standard WMS request specifying
> format=png-decorated&format_options=layout:mylayout where layout is a
> named configuration (currently the layout code doesn't actually read the
> configuration; it's just hard-coded for the demo above).  I am currently
> thinking the configuration should have a 1:1 relationship with xml files
> in ${GEOSERVER_DATA_DIR}/layouts/; a sample configuration file in the
> format I am currently imagining is also attached.  I'd be very
> interested in feedback on the configuration.
> 
> So that's what I'm trying to accomplish.  Ideally, I'd like to get this
> into the next release, but I don't think I will be able to deal with
> backward compatibility with the current watermark configuration, a
> stable configuration file, the user requirements for promotion, etc. in
> time.
> 
> In the meantime, I have three questions:
> 1) May I commit this code as a community module?
> 2) Where on the wiki should this be documented while this feature is
> still under development?
> 3) What's wrong with the configuration file?
> 
> --
> David Winslow
> OpenGeo - http://opengeo.org/
> 
> [1] http://en.wikipedia.org/wiki/Monsters_of_Final_Fantasy#Cactuar
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> _______________________________________________ Geoserver-devel mailing list 
> [email protected] 
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to