[Qgis-developer] New API for labeling Engine?

Martin Dobias wonder.sk at gmail.com
Thu Sep 24 01:12:14 PDT 2015


Hi Regis

On Wed, Sep 23, 2015 at 4:19 AM, Régis Haubourg
<regis.haubourg at eau-adour-garonne.fr> wrote:
> Hi all,
> I just saw a recent commit labeled "New API for labeling engine
> (QgsLabelingEngineV2)" [0]
>
> Can anyone tell us more on that work that seems very promising?

This was motivated by my work on rule-based labeling (landed just
moments ago in master). The labeling engine has existed without major
architectural changes for 5-6 years since its introduction. Since then
lots of features were added and the original framework started to show
its age. The new API should allow for much more flexibility... things
like running labeling engine completely independently from the main
rendering loop, using anything as a source of label features (e.g.
raster cells?) and so on. The old API (QgsPalLabeling) is of course
still available (and acts as a wrapper of the new API), but should get
removed in QGIS 3.


> My question is not totally innocent, I just launch funding to start QEP's
> work on labeling improvements. I would like that QGIS can handle several
> features, but need to fund exploratory work before knowing how to do that
> exactly:
>   - add core ability to draw callouts between features and labels
>   - add new label types, that wan be labeled on "paths", just like ESRI
> annotations.
>   - port to C++ features currently available in EasyCustomLabeling Plugins
> and Mask plugin.
>        - generate layers dedicated to manual labeling (addition of data
> defined fields).
>        - Allow to mask labels outside of an area of interest, and allow
> Atlas to use it in batch use cases.

Nice list - let me know if you need help with any of those ;-)

Cheers
Martin


More information about the Qgis-developer mailing list