Open nickbearman opened 5 years ago
FYI: @3nids is going to do work in this area, see: https://github.com/qgis/QGIS-Enhancement-Proposals/issues/147
Thanks @rduivenvoorde I will add a note to there.
See https://github.com/qgis/QGIS/pull/30322 Jenks is slower and currently the UX is pretty bad on large layers. @3nids can you give a feedback what would be required to get this integrated in your project (not sure if you planned to have the classification run in a background thread or other ideas).
Perhaps ckmeans could be a faster replacement for jenks? According to https://observablehq.com/@visionscarto/natural-breaks "ckmeans leads (most of the time) exactly to the same solution as Fisher-Jenks’, and easily scales to dozens of millions of values." ckmeans has a time complexity of O(k n log n) compared to jenks' O(k n^2)
Feature description.
Choropleth maps are probably one of the most frequently created outputs in QGIS. When choosing a graduated colour scheme, the default selection is Equal Interval which is not a very good way of classifying data. Natural Breaks (Jenks) is a much better way of representing data in a choropleth map, and I think would make a much better default.
In ESRI's ArcMap, Natural Breaks (Jenks) is the default, and while their software has many limitations, I think they have got it right with this!
I can't find any good references that say Natural Breaks is the best, but I have found this: https://www.ehdp.com/methods/jenks-natural-breaks-1.htm. This is also a great poster https://www.flickr.com/photos/idvsolutions/6691496421/in/photostream/ which shows the limitations of Equal Interval, but not the advantages of Natural Breaks (Jenks). Again, another URL that provides some context http://www.ncgia.ucsb.edu/cctp/units/unit47/html/mas_class.html.
If you would like more background / context, please let me know.
I am not sure where the change for this would be, but I guess it might be here: src/gui/symbology/qgsgraduatedsymbolrendererwidget.h
I couldn't find any previous references to this - apologies if I have missed them!
Best wishes Nick.
Additional context