[Qgis-developer] new generation symbology

Marco Hugentobler marco.hugentobler at karto.baug.ethz.ch
Wed Jan 21 03:21:36 EST 2009

Hi Martin,
I had a brief look at the symbology-ng plugin recently. It is really 
phantastic how many new possibilities of symbolisation can be used and I'm 
really looking forward to the day we have this in core. I also like the design 
as it seems straightforward to add new subclasses of symbol layer for all kind 
of symbols. It also enhances the level of compatibility with SLD for QGIS (and 
QGIS mapserver).
I also have a couple of questions:
    - arrows: wouldn't it be more consequent from a design point of view to 
have a subclass of LineSymbolLayer for arrows, e.g. ArrowLineSymbolLayer, 
instead of a member variable in LineSymbol? Imagine people may add tons of 
other line decoration types and options for those types.
    - renderers: there is no continuous color renderer any more. In my 
opinion, it is not necessary that you add one, but the design should allow it 
to create continuous renderers as they may be quite usefull for cartographic 
purposes. From what I saw in the code, it seems to me there is would be no 
problem in implementing such type of renderers. Is that true or did I overlook 
    - api compatibility: Do you think there is a way to maintain api 
compatibility with the new symbolisation? Otherwise the new symbology code had 
to go into a branch first because it changes the way that QgsVectorLayer and 
QgsRenderer interact. That would mean it can be in stable branch for QGIS 2.0 
(which I think is unfortunately pretty late).

Am Sonntag 04 Januar 2009 16:39:18 schrieb Martin Dobias:
> Hi all
> today I've decided to make a first public release of symbology-ng
> plugin which is meant as a prototype for new generation symbology for
> vector layer. I've chosen python because of faster development and
> ability to deploy it more easily to potential testers. Later, I'd like
> to integrate it to QGIS and deprecate the original rendering code. You
> can install the plugin from my sandbox:
> http://mapserver.sk/~wonder/qgis/plugins-sandbox.xml
> What are the main highlights:
> - compose symbols from one or more symbol layers
> - load and store symbols (and other items) from/to a "style" file
> - override order in which symbol layers are drawn for high-quality
> output (done in multiple rendering passes)
> - color ramps (gradient or random colors from some part of color space)
> - use custom symbols and color ramps when generating categories for a
> renderer - new symbol types, e.g. marker line - polyline composed from
> markers - lock symbol layer's color so it doesn't get changed when applying
> color on the whole symbol
> - modual architecture for symbol layers
> When you load the plugin, you'll get two new buttons in a toolbar:
> 1. one that opens a new window with currently selected vector layer
> rendered in it (with current extent). in that window you can also
> change renderer and symbology settings (although graduated symbol
> renderer is missing GUI so far and categorized symbol renderer only
> allows you to add all categories)
> 2. the other button opens style manager
> The rendering is slower than with current rendering in QGIS, but
> that's caused by the dynamic nature of the language and missing
> optimizations. There are some features which are not yet available in
> GUI. There are also some missing features, see TODO file.
> I would be glad to hear some feedback from you!
> Martin
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer

Dr. Marco Hugentobler
Institute of Cartography
ETH Zurich
Technical Advisor QGIS Project Steering Committee

More information about the Qgis-developer mailing list