[mapserver-dev] IRC Summary (8th July, 2009)

Steve Lime Steve.Lime at dnr.state.mn.us
Thu Jul 9 15:09:31 EDT 2009


Thanks for the summary. One thing we haven't discussed is how to trigger a
SVG symbol. Lot's of options...

Via a symbol definition:

SYMBOL
  TYPE VECTOR
  FILE '/path/to/file.svg'
END

or perhaps a 'TYPE SVG'?

Or like we support for images:

STYLE
  SYMBOL '/path/to/file.svg'
END

Both would be warranted I think...

Steve

>>> kiran varma <kiran.varma2k7 at gmail.com> 07/08/09 11:36 AM >>>
Below is a brief summary of the IRC session from today:

-------BEGIN-------
For introducing SVG support into MapServer, we had 3 options in terms of
libraries:

   1. librsvg
   2. libsvg-cairo and cairo
   3. agg and svg-viewer

While librsvg and cairo cater to our purposes well and are simple to use,
they have a lot of dependencies. On the the other hand, the advantage of
using AGG is that it is already present in MapServer (while Cairo is still
unimplemented as of now). We were unsure of the SVG capabilities of AGG but
after a confirmation from Assefa, we have decided that it is sufficient for
our uses. Implementing the missing subset of features would be a laborious
task as it would be sure to be non-trivial. Instead we will ensure that all
the unimplemented features are mentioned clearly in the documentation to
avoid frustration at the user-end.

The plan of action now is to start implementing the SVG parser using AGG/SVG
Viewer and make it render into an in-memory pixmap. This will go into a
single function so that we can modify it later once Cairo is included into
MapServer (or any another library). We will also store a cache of different
SVG symbols based on size and orientation (stored as gdImages) so that these
can be fed easily to any renderer. This will make it easy to modify in the
future.
-------END-------

The below are the next steps of the project:

1- Create SVN sandbox for the project (done):
    http://svn.osgeo.org/mapserver/sandbox/svgsymbols/mapserver/

2- Import the AGG/SVG code in mapserver/renderers/agg/svg and change
namespace from agg:: to mapserver:: as was done for the rest of the AGG
code.

3- Start experimenting with the AGG/SVG code and working on a RFC

Tell me if any changes should be made.

Regards
Kiran



More information about the mapserver-dev mailing list