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

Daniel Morissette dmorissette at mapgears.com
Thu Jul 9 15:20:39 EDT 2009


Yes, I think we should support both forms like we do for images, and for 
the symbol object I'd go with a new TYPE SVG instead of reusing TYPE VECTOR.

A third option would be to also accept an inline SVG definition inside 
the symbolObj instead of a ref to an external .svg file:

SYMBOL
   TYPE SVG
   SVG
     <svg version="1.1" xmlns="http://www.w3.org/2000/svg">
     <circle cx="50" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/>
     </svg>
   END
END

but we could keep that as a future enhancement at the end of the 
project. The priority for now would be to support external .svg files.

Daniel

Steve Lime wrote:
> 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
> 
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev


-- 
Daniel Morissette
http://www.mapgears.com/


More information about the mapserver-dev mailing list