[mapserver-dev] SVG symbol support-MapServer

Steve Lime Steve.Lime at dnr.state.mn.us
Tue Jul 7 14:25:37 EDT 2009


Will be there... What about rolling our own using AGG? There apparently is a relatively basic implementation
of a SVG viewer in AGG out there. Depends on how much of the SVG spec would have to be supported to
create symbols I guess.

Steve

>>> On 7/7/2009 at 1:15 PM, in message <4A5390C7.7010206 at mapgears.com>, Daniel
Morissette <dmorissette at mapgears.com> wrote:
> I'd like to invite all interested parties (and hopefully at least the 
> devs involved in the rendering parts of MapServer) to discuss this on 
> the #mapserver IRC channel tomorrow (Wednesday) at 9:30am EDT:
> 
> http://timeanddate.com/worldclock/fixedtime.html?month=7&day=8&year=2009&hour=9& 
> min=30&sec=0&p1=165
> 
> It seems to me that something based on libsvg-cairo is our best option 
> so far... if it works. We would use libsvg-cairo to read and render the 
> SVG symbols to a pixmap in memory using cairo and then the in-memory 
> pixmap symbols would be pasted on top of the map as they are now. I have 
> asked Kiran to make a test: write code to read and render a SVG symbol 
> to a PNG output using libsvg-cairo and cairo to see what would be 
> involved with that alternative. He should have some answers for us for 
> the IRC meeting tomorrow.
> 
> Another (possibly more robust) alternative would be librsvg, it is 
> apparently the de-facto SVG reading liib of the Cairo project 
> (http://wiki.svg.org/Librsvg) but it seems to have lots of dependencies, 
> at least that's what this Mapnik ticket seems to indicate:
> http://trac.mapnik.org/ticket/320#comment:20 
> 
> Unfortunately both libs seem to have kind of stalled in 2005:
> 
> - the latest version of libsvg-cairo dates from 2005 
> http://cairographics.org/snapshots/libsvg-cairo-0.1.6.tar.gz 
> 
> - the librsvg website (http://librsvg.sourceforge.net/) has not been 
> updated since 2005 and I could not find any sign of activity around the 
> project other than new releases of librsvg on the gnome FTP site 
> (http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.26/)
> 
> Daniel
> 
> kiran varma wrote:
>> Hi all,
>> 
>>  Here is a small summary of some of the options i have evaluated for my 
>> project,* SVG support for MapServer ,i request comments and suggestions 
>> on this topic!
>> 
>> Well,I have evaluated various options to handle SVG symbols some of them 
>> are as follows..
>> 
>> --1. One thing is use a higher level SVG parser, that transforms the 
>> input SVG into
>> MapServer primitives. we should have to extend
>> MapServer's rendering API to support more than lines, polygons and
>> ellipses as it is now. (cubic, quadratic beziers, gradients,postgis curves
>>  probably some more distorted figures).Implement a SVG subset that maps 
>> to the existing MapServer rendering API..This feature not only solves 
>> the present issue but also opens up support for some more!.Do a simple 
>> additions to both Rendering API and also SVG parser
>> 
>> *libsvg-cairo will help us to explore without adding in too many
>> dependencies.
>> 
>> --2. One approach might be to augment cairo to produce SVG output and then
>> use cairo directly. I've been hoping to sit down and make an SVG
>> backend for cairo at some point.But, there's still a need for a more 
>> complete SVG rendering library
>> that can target cairo. If we need to pick up libsvg development
>> and run with it, that would be great.
>> 
>> 
>> --3. This was a suggestion from a Developer >> use an out-of-the-box svg 
>> to pixmap rasterizer, and create scaled
>> and rotated pixmaps at a higher level before passing them over to
>> mapserver's low level renderers. We would have to leverage a pixmap
>> cache to do this, so as not to repeat the SVG parsing and rasterizing
>> steps. A pixmap would be put in cache for each (scale,rotation)
>> couple, or maybe only for each scale and rotate the created pixmap.
>> 
>> 
>> 
>> *I plan for option 1 as a good approach ,though it is a huge 
>> process!!The last one was suggested by the Dev as a much easier approach 
>> to complete the project .what do u say?
>> 
>> Any problems or errors in the approach please comment i will make sure 
>> everything goes right on time.:)
>> 
>> thanks for your support
>> Kiran
>> 
>> 
>> ------------------------------------------------------------------------
>> 
>> _______________________________________________
>> mapserver-dev mailing list
>> mapserver-dev at lists.osgeo.org 
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev 
> 


More information about the mapserver-dev mailing list