[Qgis-developer] Bringing diagrams into labeling-ng

Marco Hugentobler marco.hugentobler at sourcepole.ch
Wed Feb 16 02:56:11 EST 2011


Hi Martin, Paolo, Tim

> - what will happen to the vector overlays? will that be deprecated or
> kept? (AFAIK the vector overlay stuff is used just by the diagrams
> plugin, so it might be a good idea to integrate diagrams directly to
> PAL so simplify the whole post-rendering routine).

Yes, the idea is to deprecate the vector overlays and to integrate the 
diagrams into QgsPalLabeling.

> - what would be the impact on the labeling itself?

Looking deeper into the code yesterday, I changed my mind and decided to leave 
QgsPalGeometry as it is. For the moment, I'm just planning to add pointer(s) 
to the diagram rendering classes to QgsPalLayerSettings and to add some 
settings parameters. That would mean no impact on the labeling itself.

>Beware however: in ordinary machines, hundreds of labels are enough to
>keep QGIS busy for a long time. I think this should be solved, as adding
>diagrams can only add to the problem.

I agree. The WMS benchmark also showed labeling to be a critical performance 
factor (but it is still unclear to me wether this is because text rendering, 
candidate position generation or conflict resolution). However, bringing 
together the two systems could make it easier to enhance performance for both.

> it would be nice to be able to
>interactively place the diagrams as you have done with labels. How
>would the diagram's placement be persisted? In the same way as labels
>using a specified columns? Some users have requested that label
>placement could work like E$RI where the labels can be turned into
>graphics and placement is stored in the project file (or whatever the
>ESRI equivalent of that is) - so that you don't

The placement would be the same as for labels (stored in columns). The option 
to change the objects to graphics would be nice. Technically, it could 
probably be done by turning the labels into annotation objects 
(QgsTextAnnotation). However, this is out of scope for me at the moment.

Regards,
Marco 

Am Mittwoch, 16. Februar 2011, um 00.50:22 schrieb Martin Dobias:
> Hi Marco
> 
> On Tue, Feb 15, 2011 at 10:16 AM, Marco Hugentobler
> 
> <marco.hugentobler at sourcepole.ch> wrote:
> > Hi devs
> > 
> > One thing that I wanted to do already some time ago was to bring the
> > diagrams together with the pal instance that does the labeling (ng).
> > Currently, the diagrams use a different pal instance and the conflict
> > resolution does not detect overlaps between diagrams and labels. Also,
> > it would be cool to use the label move tools for diagrams and labels.
> 
> Yes this is surely a good idea. It would simplify the whole thing.
> 
> > Therefore I'm proposing a change to QgsPalLabeling. To make the system
> > more extensible, it would be good to have QgsPalGeometry as an abstract
> > base class and derive QgsPalLabelGeometry from it (and diagram specific
> > classes later too). Each QgsPalGeometry would implement size calculation
> > and drawing in its specific way.
> > 
> > Any objections or better ideas?
> 
> I'm not really sure I understand the concept. Could you please explain
> the implications of that transition?
> - what will happen to the vector overlays? will that be deprecated or
> kept? (AFAIK the vector overlay stuff is used just by the diagrams
> plugin, so it might be a good idea to integrate diagrams directly to
> PAL so simplify the whole post-rendering routine).
> - what would be the impact on the labeling itself?
> 
> Regards
> Martin


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux & Open Source Solutions
Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee


More information about the Qgis-developer mailing list