[Qgis-developer] Legend for proportionnal symbols and expression based symbols
Hi All, we have a long lasting problem with proportionnal legends in QGIS. It gets more problematic with V2, as those maps are so beautiful and popular. I'm starting some brainstorming to clarify fonctionnal specifications what we actually want to have legends in layers registry and composer working. Here are some exemples of what I would love to see in legends: - [0] proportionnal circles or square with 1 to 5 classes - [1] proportionnal symbols AND colors Now that we have expressions everywhere, we probably will have to handle legends differently than in other GIS, where legend is generated once, when user tune symbology. Let me explain: - user can now define expressions for size, color, rotation, border width... for any sub-marker (1 to n) of a symbol. - Moreover, we can use conditionnal expressions, and scale dependent conditions ($scale variable). - QGIS is also a server, we need to be able to generate legends working on really displayed datas. Conclusion, It now is impossible to correctly pre-generate the legend by analysing symbology properties. Does this sound possible to developpers to explore some other way? We could read real dataset to collect informations to build a legend, and eventually do some statistical classification to get discrete classes from continuous data? We could do that on live or on-demand update maybe. My idea was to collect rendered object in current canvas and current scale. BUT.. we can face discrete data - some kind of SELECT DISTINCT can do the trick - , OR continuous data - we need then to do some statistical classification to reduce the legend to 1 - 10 classes to get it readable. We also need some intelligence in those statistical classifications: - round values to keep it readable - display separate classes only if size or color distance is long enough so that human eye sees some difference on screen. ie: do not display for classes if symbol size varies from 0.5 to 0.7... - add some options in GUI to choose number of classes, type of legend rendering.. - keep the classification process fast (subset of data with random sampling?) - test all use cases, I'm mostly thinking of points symbols, but lines and polygons must not be forgotten. I'm sure plenty of scientists have already been theorizing all this. Any opinions? Could this be an idea for GSoC or other kind of training course? I'll be pleased to get feedback from the community. Cheers Régis [0] http://kelsocartography.com/blog/?p=2224 [1] http://www.geoclip.fr/img/bicol.jpg -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Legend-for-proportionnal-symbols-and-expression-based-symbols-tp5092635.html Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Legend for proportionnal symbols and expression based symbols
Hi régis, Martin Dobias will make a proposal soon for a legend refactoring. You should see with him how to let those things happen in the future in the new legend. Cheers, Denis On 04. 12. 13 12:08, Régis Haubourg wrote: Hi All, we have a long lasting problem with proportionnal legends in QGIS. It gets more problematic with V2, as those maps are so beautiful and popular. I'm starting some brainstorming to clarify fonctionnal specifications what we actually want to have legends in layers registry and composer working. Here are some exemples of what I would love to see in legends: - [0] proportionnal circles or square with 1 to 5 classes - [1] proportionnal symbols AND colors Now that we have expressions everywhere, we probably will have to handle legends differently than in other GIS, where legend is generated once, when user tune symbology. Let me explain: - user can now define expressions for size, color, rotation, border width... for any sub-marker (1 to n) of a symbol. - Moreover, we can use conditionnal expressions, and scale dependent conditions ($scale variable). - QGIS is also a server, we need to be able to generate legends working on really displayed datas. Conclusion, It now is impossible to correctly pre-generate the legend by analysing symbology properties. Does this sound possible to developpers to explore some other way? We could read real dataset to collect informations to build a legend, and eventually do some statistical classification to get discrete classes from continuous data? We could do that on live or on-demand update maybe. My idea was to collect rendered object in current canvas and current scale. BUT.. we can face discrete data - some kind of SELECT DISTINCT can do the trick - , OR continuous data - we need then to do some statistical classification to reduce the legend to 1 - 10 classes to get it readable. We also need some intelligence in those statistical classifications: - round values to keep it readable - display separate classes only if size or color distance is long enough so that human eye sees some difference on screen. ie: do not display for classes if symbol size varies from 0.5 to 0.7... - add some options in GUI to choose number of classes, type of legend rendering.. - keep the classification process fast (subset of data with random sampling?) - test all use cases, I'm mostly thinking of points symbols, but lines and polygons must not be forgotten. I'm sure plenty of scientists have already been theorizing all this. Any opinions? Could this be an idea for GSoC or other kind of training course? I'll be pleased to get feedback from the community. Cheers Régis [0] http://kelsocartography.com/blog/?p=2224 [1] http://www.geoclip.fr/img/bicol.jpg -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Legend-for-proportionnal-symbols-and-expression-based-symbols-tp5092635.html Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Legend for proportionnal symbols and expression based symbols
I haven't had a chance to properly plan this out, but something which has been playing in the back of my mind is the idea of table legends. Take a look at the legend in this map: http://www.cartogrammar.com/images/vba/cervical_cancer.jpg I'm thinking the user could specify the variable which is changed along each axis, along with the min/max value for that axis and number of rows/columns for the table. Then the classes would be generated automatically (maybe equal ranges? equal count? user specified?) and the symbol automatically generated for each cell in the table. The size and spacing of each cell could be user controlled, so that this type of legend would also work for symbol layers. As I said, I haven't really sat down to work out exactly how this would work yet... it's just a rough idea which I've been toying with! Nyall On 4 December 2013 22:34, Denis Rouzaud denis.rouz...@gmail.com wrote: Hi régis, Martin Dobias will make a proposal soon for a legend refactoring. You should see with him how to let those things happen in the future in the new legend. Cheers, Denis On 04. 12. 13 12:08, Régis Haubourg wrote: Hi All, we have a long lasting problem with proportionnal legends in QGIS. It gets more problematic with V2, as those maps are so beautiful and popular. I'm starting some brainstorming to clarify fonctionnal specifications what we actually want to have legends in layers registry and composer working. Here are some exemples of what I would love to see in legends: - [0] proportionnal circles or square with 1 to 5 classes - [1] proportionnal symbols AND colors Now that we have expressions everywhere, we probably will have to handle legends differently than in other GIS, where legend is generated once, when user tune symbology. Let me explain: - user can now define expressions for size, color, rotation, border width... for any sub-marker (1 to n) of a symbol. - Moreover, we can use conditionnal expressions, and scale dependent conditions ($scale variable). - QGIS is also a server, we need to be able to generate legends working on really displayed datas. Conclusion, It now is impossible to correctly pre-generate the legend by analysing symbology properties. Does this sound possible to developpers to explore some other way? We could read real dataset to collect informations to build a legend, and eventually do some statistical classification to get discrete classes from continuous data? We could do that on live or on-demand update maybe. My idea was to collect rendered object in current canvas and current scale. BUT.. we can face discrete data - some kind of SELECT DISTINCT can do the trick - , OR continuous data - we need then to do some statistical classification to reduce the legend to 1 - 10 classes to get it readable. We also need some intelligence in those statistical classifications: - round values to keep it readable - display separate classes only if size or color distance is long enough so that human eye sees some difference on screen. ie: do not display for classes if symbol size varies from 0.5 to 0.7... - add some options in GUI to choose number of classes, type of legend rendering.. - keep the classification process fast (subset of data with random sampling?) - test all use cases, I'm mostly thinking of points symbols, but lines and polygons must not be forgotten. I'm sure plenty of scientists have already been theorizing all this. Any opinions? Could this be an idea for GSoC or other kind of training course? I'll be pleased to get feedback from the community. Cheers Régis [0] http://kelsocartography.com/blog/?p=2224 [1] http://www.geoclip.fr/img/bicol.jpg -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Legend-for-proportionnal-symbols-and-expression-based-symbols-tp5092635.html Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Legend for proportionnal symbols and expression based symbols
Now that's just gorgeous. On Wed, Dec 4, 2013 at 7:13 PM, Nyall Dawson nyall.daw...@gmail.com wrote: I haven't had a chance to properly plan this out, but something which has been playing in the back of my mind is the idea of table legends. Take a look at the legend in this map: http://www.cartogrammar.com/images/vba/cervical_cancer.jpg I'm thinking the user could specify the variable which is changed along each axis, along with the min/max value for that axis and number of rows/columns for the table. Then the classes would be generated automatically (maybe equal ranges? equal count? user specified?) and the symbol automatically generated for each cell in the table. The size and spacing of each cell could be user controlled, so that this type of legend would also work for symbol layers. As I said, I haven't really sat down to work out exactly how this would work yet... it's just a rough idea which I've been toying with! Nyall On 4 December 2013 22:34, Denis Rouzaud denis.rouz...@gmail.com wrote: Hi régis, Martin Dobias will make a proposal soon for a legend refactoring. You should see with him how to let those things happen in the future in the new legend. Cheers, Denis On 04. 12. 13 12:08, Régis Haubourg wrote: Hi All, we have a long lasting problem with proportionnal legends in QGIS. It gets more problematic with V2, as those maps are so beautiful and popular. I'm starting some brainstorming to clarify fonctionnal specifications what we actually want to have legends in layers registry and composer working. Here are some exemples of what I would love to see in legends: - [0] proportionnal circles or square with 1 to 5 classes - [1] proportionnal symbols AND colors Now that we have expressions everywhere, we probably will have to handle legends differently than in other GIS, where legend is generated once, when user tune symbology. Let me explain: - user can now define expressions for size, color, rotation, border width... for any sub-marker (1 to n) of a symbol. - Moreover, we can use conditionnal expressions, and scale dependent conditions ($scale variable). - QGIS is also a server, we need to be able to generate legends working on really displayed datas. Conclusion, It now is impossible to correctly pre-generate the legend by analysing symbology properties. Does this sound possible to developpers to explore some other way? We could read real dataset to collect informations to build a legend, and eventually do some statistical classification to get discrete classes from continuous data? We could do that on live or on-demand update maybe. My idea was to collect rendered object in current canvas and current scale. BUT.. we can face discrete data - some kind of SELECT DISTINCT can do the trick - , OR continuous data - we need then to do some statistical classification to reduce the legend to 1 - 10 classes to get it readable. We also need some intelligence in those statistical classifications: - round values to keep it readable - display separate classes only if size or color distance is long enough so that human eye sees some difference on screen. ie: do not display for classes if symbol size varies from 0.5 to 0.7... - add some options in GUI to choose number of classes, type of legend rendering.. - keep the classification process fast (subset of data with random sampling?) - test all use cases, I'm mostly thinking of points symbols, but lines and polygons must not be forgotten. I'm sure plenty of scientists have already been theorizing all this. Any opinions? Could this be an idea for GSoC or other kind of training course? I'll be pleased to get feedback from the community. Cheers Régis [0] http://kelsocartography.com/blog/?p=2224 [1] http://www.geoclip.fr/img/bicol.jpg -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Legend-for-proportionnal-symbols-and-expression-based-symbols-tp5092635.html Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Legend for proportionnal symbols and expression based symbols
3nids wrote Hi régis, Martin Dobias will make a proposal soon for a legend refactoring. You should see with him how to let those things happen in the future in the new legend. Cheers, Denis Good to know! thanks Denis. I'll contact Martin -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Legend-for-proportionnal-symbols-and-expression-based-symbols-tp5092635p5092677.html Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer