[Qgis-developer] Label backgrounds (shape, SVG, drop shadow)

Larry Shaffer larrys at dakotacarto.com
Thu Apr 11 10:08:01 PDT 2013


Hi,

So I've now got drop shadows working for all label components: text,
buffer, and background shape and SVG [0]. I realize this is obviously late,
but the changes also introduce a small container class for temporal
labeling data that stabilizes the API [1]. In this way, the calls should
not change even after most label components are migrated to the symbology
classes (between 2.0 and 2.1) in preparation for a rule- and style-based
setup.

If I can still commit this to master, I'll clean it up and do so today. If
not, that's cool, it can wait. Then, I'll focus on the belated GUI updates
and labeling bug fixes.

[0] https://www.dropbox.com/sh/b70bfsxcs6rl66v/ir70Y33UF5
[1] https://github.com/dakcarto/Quantum-GIS/commits/labeling_dropshadow_6

Regards,

Larry


On Tue, Apr 9, 2013 at 3:58 AM, Marco Hugentobler <
marco.hugentobler at sourcepole.ch> wrote:

>  Hi Larry
>
> +1 for pushing the drop shadows to master.
>
> >Does switching over the data defined backend for labeling constitute a
> new feature? If not, I'd like to work on it over the next week.
>
> Tim as release manager needs to decide here.
>
> >* Significantly missing functionality currently occurs in the data
> defined aspect of new labeling features. Many of the new features do not
> have corresponding data defined options, and the current gui >and usage of
> the data defined values does not mirror that of the new setup by recently
> committed by Dr. Marco H for symbology. Since labeling does not yet have a
> rule-based setup, it would be *very >good* to have the current data defined
> setup for labeling switched over to Marco's method. This will allow
> expressions to be used for all labeling options and give users a solid
> feature set for labeling >to work with until 2.1.
>
> Something related is to have classified label styles. Often it is
> necessary to apply multiple label styles in one layer depending on
> attribute expressions (kind of rule based renderer for labels). Maybe in
> 2.1...
>
> Regards,
> Marco
>
> On 09.04.2013 04:52, Larry Shaffer wrote:
>
> Hi,
>
>  Here's an update on the labeling work I've been doing for the past week:
>
>  * Label backgrounds (geometric shapes and SVG) have been
> implemented/committed, but currently have a couple of loose ends [0].
>
>  * Label drop shadows are essentially functional, and work for label
> buffers [1]. I need a couple of days to clean up the overly verbose code,
> simplify the logic and make it work for label text and backgrounds. In the
> GUI and map canvas screen snaps [2][3] you can see an example of the radius
> blurring and of the 'global' offset option (there are also debug rectangles
> shown). When global is checked for shadow offset, rotated label's drop
> shadows are adjusted to match the global offset for the layer (instead of
> being relative to the label's rotation). For example, this allows all drop
> shadows on all labels, or their buffers/backgrounds, to match what a user
> may have setup in a hill shaded raster, i.e. opposite the angle of a
> virtual sun. Turning on all these features does slow labeling down, of
> course.  :^)
>
>  * Significantly missing functionality currently occurs in the data
> defined aspect of new labeling features. Many of the new features do not
> have corresponding data defined options, and the current gui and usage of
> the data defined values does not mirror that of the new setup by recently
> committed by Dr. Marco H for symbology. Since labeling does not yet have a
> rule-based setup, it would be *very good* to have the current data defined
> setup for labeling switched over to Marco's method. This will allow
> expressions to be used for all labeling options and give users a solid
> feature set for labeling to work with until 2.1.
>
>  So, I have a couple questions:
>
>  Can I push the cleaned up and functional labeling drop shadows work to
> master branch in a couple of days, for inclusion in 2.0? It was my
> understanding this was part of the labeling background work I was
> temporarily allowed to do, but it has taken a couple of days longer than
> expected.
>
>  Does switching over the data defined backend for labeling constitute a
> new feature? If not, I'd like to work on it over the next week.
>
> If switching over the data defined backend is considered a new feature,
> and not allowed to be committed right now, can I at least work on adding
> some of the missing data defined options for labeling?
>
> [0] https://github.com/qgis/Quantum-GIS/commit/b8097239
> [1] https://github.com/dakcarto/Quantum-GIS/commits/labeling_dropshadow_4
> [2] http://drive.dakotacarto.com/qgis/labeling_drop-shadow-options.png
> [3] http://drive.dakotacarto.com/qgis/labeling_drop-shadows.png
>
>  Regards,
>
>  Larry
>
>
> On Sat, Mar 30, 2013 at 12:18 PM, Andreas Neumann <a.neumann at carto.net>wrote:
>
>> Hi,
>>
>> I'd love to have these label backgrounds and drop shadows in QGIS 2.0.
>> Makes sense to me to include this work despite feature freeze since a
>> major effort was made already to improve labeling in QGIS 2.0.
>>
>> so +1 from my side.
>>
>> Thank you for your work, Larry.
>>
>> Andreas
>>
>> Am 30.03.2013 12:32, schrieb Larry Shaffer:
>> > Hi,
>> >
>> > In an effort to bring a basic label background feature into 2.0 before
>> for
>> > the freeze, I figured out a good approach that makes adding label
>> > backgrounds much easier (better late than never, I suppose) [0]. This
>> means
>> > that adding SVGs and drop shadows for label backgrounds is only an extra
>> > couple of days of work.
>> >
>> > Here's a preliminary gui setup [1] (not all may be implemented, but most
>> > can easily be).
>> >
>> > An example of generic rounded-corner rectangles (a la web mapping and
>> many
>> > road shields) with a bit of x/y offset to nicely center the text [2].
>> >
>> > And, an example of the 'centering' of the background relative to the
>> label
>> > contents (background rotated 90 deg relative to text) [3], regardless of
>> > label's offset placement (see pink-text label next to point feature).
>> This
>> > is a crucial feature for integrating many types of backgrounds.
>> >
>> > Both examples also show one issue: while labels don't overlap due to
>> > collision management, their backgrounds might overlap each other or
>> > previously drawn label text. I believe this is fixable, though I don't
>> know
>> > how long it will take, off hand.
>> >
>> > So... basically, I'm asking those who make decisions whether I can work
>> for
>> > another week on this feature, for inclusion in 2.0.
>> >
>> > [0]
>> https://github.com/dakcarto/Quantum-GIS/commits/labeling_bkgrd-symbols_3
>> > [1] http://drive.dakotacarto.com/qgis/labeling_background-gui.png
>> > [2] http://drive.dakotacarto.com/qgis/labeling_background-rounded.png
>> > [3] http://drive.dakotacarto.com/qgis/labeling_background-rotation.png
>> >
>> > Regards,
>> >
>> > Larry Shaffer
>> > Dakota Cartography
>> > Black Hills, South Dakota
>> >
>> >
>> >
>> > _______________________________________________
>> > Qgis-developer mailing list
>> > Qgis-developer at lists.osgeo.org
>> > http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >
>>
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>
>
>
> _______________________________________________
> Qgis-developer mailing listQgis-developer at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
>
> --
> Dr. Marco Hugentobler
> Sourcepole -  Linux & Open Source Solutions
> Weberstrasse 5, CH-8004 Zürich, Switzerlandmarco.hugentobler at sourcepole.ch http://www.sourcepole.ch
> Technical Advisor QGIS Project Steering Committee
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20130411/0ab6416b/attachment-0001.html>


More information about the Qgis-developer mailing list