37122 Commits

Author SHA1 Message Date
Nyall Dawson
3b016466a2 Add missing "interval" and "curvepoint" modes to data defined line marker (fix #16212) 2017-02-22 15:43:37 +10:00
Nyall Dawson
6f9cf1bc84 Merge pull request #4147 from nyalldawson/exp_feature
Optimise expression context storage/retrieval of features
2017-02-22 15:39:05 +10:00
Nyall Dawson
4790035efa Add method to remove feature from a QgsExpressionContextScope 2017-02-22 13:58:11 +10:00
Nyall Dawson
18b9f407ce Merge pull request #4154 from nyalldawson/coloring
[FEATURE][processing] New algorithm for topological coloring of polygons
2017-02-22 13:51:28 +10:00
Nyall Dawson
abc6129b60 Optimise expression context storage/retrieval of features
Shaves ~10% rendering time off a 1 million point layer
2017-02-22 13:45:35 +10:00
Nyall Dawson
74abd5bbf6 [FEATURE][processing] Topological coloring can have a minimum
distance between features assigned the same color set
2017-02-22 12:54:34 +10:00
Nyall Dawson
5c43e0b22b Add method to assign colors in order to maximize the distance between
features assigned to same color

This is the most cartographically pleasing color arrangement in my
opinion as it creates a nicely distributed set of colors.
2017-02-22 12:37:12 +10:00
Nyall Dawson
2fd78b85bd Make algorithm recursive
When a new color is required, repeat the color assignment process.
This is the fastest part of the algorithm, so there's no noticable
speed drop. Repeating the whole coloring ensures that newly added
colors are properly balanced with respect to other colors, and avoids
the situation where one of the last features to be colored requires
a whole new class to be created, which will only have a few possible
members.

Overall this results in more balanced color assignment.
2017-02-22 12:10:13 +10:00
Nyall Dawson
ff10cf48f4 Add balance by area mode
This mode attempts to assign colors in such a way that the total
area of features assigned to each color class is balanced. It helps
avoid larger features causing a single color class to appear more
dominant on a colored map.
2017-02-22 12:10:13 +10:00
Nyall Dawson
ac5e292243 Allow specifying minimum number of colors for coloring map 2017-02-22 12:10:13 +10:00
Nyall Dawson
1cf0a20267 [FEATURE][processing] New algorithm for topological coloring of polygons
This ports to old (pre 2.0!!) topocolor plugin to processing. It's based
off my beta 2.x fork (never publicly released) which implemented
a bunch of improvements to the algorithm allowing for minimal number
of required colors and also balanced counts of features assigned
each individual color.

** Pretty sure this plugin was highlighted in Victor's presentation
about plugins-which-shouldn't-be-plugins-and-should-be-processing-algs
instead. It's a prime example of a plugin where the amount of code
required for gui+setup exceeded the actual "guts" of the plugin by
a huge factor, and which is much more useful when it can be
integrated into a larger processing model.
2017-02-22 12:10:13 +10:00
Nyall Dawson
bde4ff99c4 Merge pull request #4169 from nyalldawson/props_gui
[FEATURE] Interactive curve editing for property overrides
2017-02-22 12:09:24 +10:00
Nyall Dawson
7da28d19b1 Harmonize plot appearance between gradient editor and curve editor 2017-02-22 11:16:54 +10:00
Nyall Dawson
1688ff5c4e Expand curve editor if enabled 2017-02-22 11:16:54 +10:00
Nyall Dawson
5c42c7636b [FEATURE] Show a histogram for values behind curve editor
in property assistant

Makes it easier to set suitable curves. Populated in the
background for a nice reponsive widget!
2017-02-22 11:16:54 +10:00
Nyall Dawson
0faf7c395f Allow value fetching and histogram calculation to be canceled 2017-02-22 11:16:54 +10:00
Nyall Dawson
cc9b5a47b7 [FEATURE] Interactive curve editing for property overrides
This adds a new interactive "curve" to the assistant widgets.
It allows you to fine tune exactly how input values get
mapped to output sizes/colors/etc.

Think GIMP or Photoshop curves, but for your data...
2017-02-22 11:16:54 +10:00
Nyall Dawson
45861d39f8 Restrict curve points to 0-1 range 2017-02-22 11:16:54 +10:00
Nyall Dawson
dcf6104753 Allow QgsPropertyTransformers to have an associated QgsCurveTransform 2017-02-22 11:16:54 +10:00
Nyall Dawson
5c3198daea Implement a photoshop-esque curve transformer
Handles scaling of input values to output values by using
a curve created from smoothly joining a number of set
control points.

This assists in creation of curve type transforms, typically
seen in raster image editing software (eg the curves dialog
in GIMP or Photoshop). Transforms are created by passing a
number of set control points through which the transform curve
must pass. The curve is guaranteed to exactly pass through
these control points. Between control points the curve is
smoothly interpolated so that no disjoint sections or
"corners" are present.
2017-02-22 11:16:54 +10:00
Nyall Dawson
66888fecc2 Merge pull request #4165 from 3nids/removethe
remove the-prefix from source code
2017-02-22 07:26:49 +10:00
Denis Rouzaud
7812d4fb17 remove the-prefix from source code
this might result in variables having the same name as some methods
2017-02-21 18:14:58 +01:00
Denis Rouzaud
6ce8d9480b using a single list to exclude tests on travis 2017-02-21 16:35:06 +01:00
mhugent
896e3c72ef Merge pull request #4167 from mhugent/direction_neutral_segmentation
Segmentize circular strings the same way in both directions
2017-02-21 16:29:17 +01:00
Denis Rouzaud
293e1ee01c fix print spell check progress on Travis to avoid timeouts (followup 6cc58f3869a7f0642a78ee8f379e0b7862292c0b) 2017-02-21 16:00:59 +01:00
Juergen E. Fischer
72342557c3 use constant for raster iterator default (followup baa5d90, f924578) 2017-02-21 13:46:11 +01:00
Juergen E. Fischer
f107a03e60 fix link warning 2017-02-21 13:43:16 +01:00
Juergen E. Fischer
d766159826 spell check: fix travis condition 2017-02-21 12:44:44 +01:00
Juergen E. Fischer
f924578b63 wms: initialize mStepWidth/mStepHeight w/o parseUri (fixes xyz layer
after baa5d90)
2017-02-21 12:44:34 +01:00
Denis Rouzaud
6cc58f3869 print spell check progress on Travis to avoid timeouts 2017-02-21 11:15:29 +01:00
Juergen E. Fischer
f441dd9266 osgeo4w: include .vars in nightly 2017-02-21 10:50:14 +01:00
Marco Hugentobler
975b5890b9 Merge branch 'master' of https://github.com/qgis/QGIS into direction_neutral_segmentation 2017-02-21 08:36:43 +01:00
Nyall Dawson
e20ed4bfdb Add missing doc 2017-02-21 12:30:22 +10:00
Nyall Dawson
4ad077e391 Merge pull request #4163 from nyalldawson/clang_tidyu
Fix a bunch of suggestions from clang-tidy
2017-02-21 10:38:24 +10:00
Juergen E. Fischer
4c92689d14 fix windows build 2017-02-21 01:17:22 +01:00
Juergen E. Fischer
baa5d90ddc [FEATURE] allow to configure maximum request size for WMS requests (fixes #16182)
Hardwired setting was 2000, which is still default.
2017-02-21 01:01:29 +01:00
Juergen E. Fischer
4a741763f2 release.pl: allow tagging branches as ltr on point releases and
bypass pre-commit hooks

(cherry picked from commit 84cc3778d5dd1e9b25a9641a7de1c7f33b601029)
2017-02-21 01:01:29 +01:00
Larry Shaffer
64819bcf6d Merge pull request #4090 from dakcarto/find-qgis-cmake
FindQGIS.cmake updates
2017-02-20 16:39:39 -07:00
Nyall Dawson
db5dd85408 Fix some more clang-tidy suggestions 2017-02-21 09:37:41 +10:00
Nyall Dawson
e54bc9aaed Fix build error and warnings 2017-02-21 09:01:29 +10:00
Nyall Dawson
7daa4b591e Fix a bunch of suggestions from clang-tidy
And add a new CLANG_TIDY_EXE cmake option. If this is set to the
path to the clang_tidy executable then a bunch of clang-tidy
checks will be run during compilation.
2017-02-21 08:49:29 +10:00
Alexandre Neto
3dcb0c44c0 Adds tooltips to the add/remove variable buttons 2017-02-21 08:42:15 +10:00
Nyall Dawson
a0f655add1 Remove temporary group box from diagram properties (fix #16206) 2017-02-21 08:41:23 +10:00
Nyall Dawson
d2067379f3 Remove invalid tooltip from arrow symbol widget (fix #16208) 2017-02-21 08:40:20 +10:00
Nyall Dawson
c49b537a12 Remove use of deprecated auto_ptr 2017-02-21 08:39:17 +10:00
Nyall Dawson
1263599608 Fix build warning 2017-02-21 08:27:51 +10:00
Marco Hugentobler
3da44134d8 Segmentize circular strings the same way in both directions, avoiding problems with tiny gaps/overlaps 2017-02-20 16:55:43 +01:00
Juergen E. Fischer
7732d7314a fix 74df875 2017-02-20 15:20:14 +01:00
Juergen E. Fischer
a217181a7f debian packing: add plotly dependency 2017-02-20 15:14:00 +01:00
Juergen E. Fischer
34b6e2f0cc fix warnings 2017-02-20 15:14:00 +01:00