[Qgis-developer] Bringing diagrams into labeling-ng

Marco Hugentobler marco.hugentobler at sourcepole.ch
Wed Mar 2 04:50:42 EST 2011


Hi Alister

> Perhaps I'm missing something, but it seems to me that a much better
> solution would be to enable editing of joined tables in the table joins 
> branch. 
> Instead of being saved in the project file, label information could then  
> be saved in a joined table.  This would have the following advantages:
> 
> - The project file would not become bloated with label information 
> - Label information could be easily reused between projects
> - The work done to implement it would benefit not only labelling, but
> also other uses of writable table joins.
> 
>  
> I also guess that it might result in less of an increase in code
> complexity, and therefore be less of a burden for code maintenance...
> but I could well be wrong about this :)

Yes, true. In fact, in many cases where the data defined labeling positions are 
in use, it comes from db tables joined by a view.

The code of the table join branch is in trunk now, but without editing 
possibility for joined fields (unfortunately even without indication that 
joined fields cannot be edited). I agree it makes sense to enable editing for 
joined fields too.

Regarding the question of storing label / diagram positions in attributes or 
in project file: there are good use cases for both and one does not exclude the 
other. While storing in attributes is already implemented, it would be good to 
have in future a user option to select wether to load/store in data columns or 
in project file.

Btw., I'm progressing with the diagrams, so hopefully I can publish a patch 
soon.

Regards,
Marco

Am Dienstag, 1. März 2011, 23.26:27 schrieb Alister Hood:
> Hi everyone,
> 
> I somehow sent this to the old sourceforge list by mistake :(
> 
> I'm not a developer, but I saw this:
> >>> 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.
> 
> >I think the labels/diagrams do not have to be converted to graphics,
> >
> >since that might complicate their connection with the layer and the
> >
> >automatic placement (e.g. if the label text field is modified or the
> >
> >placement should be recalculated because of changes in the layer).
> >
> >
> >
> >I share Tim's opinion opinion that in future it would be good to allow
> >
> >to save the placement in project file (or maybe an independent file).
> >
> >While keeping the placement information in layer attributes might be
> >
> >convenient for some (as commented in follow up mail from Andreas), it
> >
> >has some difficulties, too:
> >
> >- if a layer is used in various independent projects, the labeling
> >
> >requirements might be different for each of them
> >
> >- it's not very user friendly if the users need to manually add new
> >
> >attributes to the layer, assign them to labeling and learn what values
> >
> >to put there
> >
> >- the approach using attributes is not that flexible: things like
> >
> >curved labels or any custom labeling properties would be rather hard to
> >
> >
> >represent in layer's attributes
> 
> Perhaps I'm missing something, but it seems to me that a much better
> 
> solution would be to enable editing of joined tables in the table joins
> 
> branch.
> 
> Instead of being saved in the project file, label information could then
> 
> 
> be saved in a joined table.  This would have the following advantages:
> 
> 
> 
> - The project file would not become bloated with label information
> 
> - Label information could be easily reused between projects
> 
> - The work done to implement it would benefit not only labelling, but
> 
> also other uses of writable table joins.
> 
> 
> 
> I also guess that it might result in less of an increase in code
> 
> complexity, and therefore be less of a burden for code maintenance...
> 
> but I could well be wrong about this :)
> 
> 
> 
> Regards,
> 
> Alister


-- 
Dr. Marco Hugentobler
Sourcepole - Linux & Open Source Solutions
Churerstr. 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