Please sign in to comment.
[needs-docs] Rework label engine "maximum line candidates" and "maxim…
…um polygon candidates" settings and logic The previous approach of a single fixed value which applied to ALL line and ALL polygon features was... not ideal. It meant that all line features would be assigned the same number of candidates, regardless of length. So a road of length 1 cm on the rendered map would have an identical number of candidates as a 30cm road covering the length of the whole map!! This resulted in both a lot of wasted calculations (generating a ridiculous number of candidates for small lines at barely discernable distances from each other) AND an insufficient number of candidates for lengthy features (resulting in worse label placement for these features). (The situation was similar, but even worse for polygons) Now, the setting is reworked to "Number of line candidates per cm" and "number of polygon candidates per cm2". This means that small features get much less candidates, and large features get much more features! Both a win for map rendering speed in many circumstances AND good cartography... now that's a nice Christmas gift for QGIS :)
- Loading branch information
Showing with 253 additions and 129 deletions.
- +42 −5 python/core/auto_generated/labeling/qgslabelingenginesettings.sip.in
- +9 −7 src/app/labeling/qgslabelengineconfigdialog.cpp
- +2 −5 src/core/labeling/qgslabelingengine.cpp
- +4 −4 src/core/labeling/qgslabelingenginesettings.cpp
- +45 −12 src/core/labeling/qgslabelingenginesettings.h
- +63 −4 src/core/pal/feature.cpp
- +13 −0 src/core/pal/feature.h
- +13 −13 src/core/pal/layer.h
- +2 −25 src/core/pal/pal.cpp
- +17 −20 src/core/pal/pal.h
- +39 −28 src/ui/labeling/qgslabelengineconfigdialog.ui
- +4 −6 tests/src/core/testqgsmapsettings.cpp
Oops, something went wrong.