Remove processing vector.uniqueValues/vector.getUniqueValues
and port usage to c++ method
Should be much faster than the python method, as the c++ method takes
advantage of handing off the unique values calculation to the
provider source whenever possible
Also
- simplify and add tests
- remove large memory leak (persistant store of all non-project layers)
- remove broken support for direct loading postgres/virtual layers
by string (Python version was very broken and would never match
a postgres/virtual layer)
* [processing] qgis regular points test
* [processing] qgis shape buffer variable tests
* [processing] qgis create grid lines test
* [processing] qgis convert geometry test
* [processing] qgis extract by location test
* [processing] qgis add field test
* [processing] trying to fix travis failing
* [processing] trying to fix travis failing/2
* trying to fix travis failing/3
* [processing] Add new default option "ProjectCrs" to ParameterCrs
* [processing] RegularPoints tests shouldn't rely on iface
* [processing] Fix regular points test
* [processing] RandmPointsExtent new CRS parameter
* [processing] qgis random point in extent test
* [processing] qgis random point in extent test/2
* [processing] remove qgis random point in extent test
* no output random points in extent test
* remove useless output
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.
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.
If you have a layer with an unknown CRS, this algorithm gives a list
of possible candidate CRSes which the layer could be in.
It allows users to set the area (and corresponding CRS) which they know
the layer should be located near. The algorithm then tests every CRS
in the database to see what candidate CRSes would cause the layer
to be located at that preset area.
It's much faster than it sounds!! (just a couple of seconds)
Sponsored by SMEC/Surbana Jurong