8499 Commits

Author SHA1 Message Date
Alexander Bruy
e84829e016 Merge pull request #4088 from volaya/grass_tempfile_fix
[processing] fixed grass tempfiles
2017-03-02 10:26:23 +02:00
Nyall Dawson
3b56b79f6d Don't block when canceling canvas render jobs
In some cases canceling render jobs can take a long time. Eg when
using database layers over a sloooooow connection, canceling a job
can be blocked by minutes while waiting for the first batch of feature
fetching to finish. (Since eg postgres features are fetched in batches
of 2000 with no opportunity to abort mid-way through this).

This meant that while the first render allows the GUI to remain
responsive, any subsequent render operations which occured before
the first render completes locks up the whole ui until the first
render can finish cancellation.

With this change, the render cancelation happens with blocking.
It means that you can pan and zoom around a map over of slow
connection without any ui locks.
2017-03-02 12:39:57 +10:00
Nyall Dawson
1f7635ace7 Merge pull request #4198 from nyalldawson/canvas_api
Remove support for disabling OTF reprojection
2017-03-01 17:53:34 +10:00
Alexander Bruy
aeaa5fc687 Merge pull request #4200 from alexbruy/processing-reorganize-gdal
[processing] rename algorithm groups in GDAL provider
2017-03-01 09:34:28 +02:00
Nyall Dawson
3c7c65e6d5 Allow a "no projection" option in projection selection widget/dialog
This option allows users to select "no projection", when
there's no suitable projection to select...
2017-03-01 10:14:37 +10:00
Nyall Dawson
92f03273f5 Correctly use QgsMapCanvas::freeze instead of setRenderFlag 2017-03-01 07:29:35 +10:00
Nyall Dawson
79fb8aeb97 Improve documentation for QgsMapCanvas and remove false QGIS 3 TODO 2017-03-01 07:29:35 +10:00
Nyall Dawson
8094cf996b Remove support for setting map units in QgsMapSettings, QgsMapCanvas and QgsDxfExport
In a post-OTF-disabled world these are no longer required. The
map units are dictated by the map units for the destination
CRS.

It's dangerous to separate these two properties as setting
the incorrect map units for a given CRS will result in
incorrect scale calculations.
2017-03-01 07:29:35 +10:00
Nyall Dawson
20c07a58e6 Remove support for disabling OTF reprojection
Because
- OTF reprojection is mature and stable
- Should be no cost when not required - transforms are shortcut
when not required
- Reduces code complexity
- Canvas OTF support was being incorrectly used as a flag for
whether measurements should be made in ellipsoidal mode. Instead
the project's ellipsoid setting should be checked for this.
- Should simplify behavior for new users
2017-03-01 07:29:35 +10:00
Matthias Kuhn
bb617a1d96 Add QgsUnitTypes::toAbbreviatedString 2017-02-28 18:43:17 +01:00
rldhont
ac6cf19898 Merge pull request #4157 from rldhont/server-wcs-configparser
[Server] Remove QgsWCSProjectParser
2017-02-28 16:36:52 +01:00
Denis Rouzaud
5176ecf597 [needs-docs] keyboard shortcut to toggle snapping (S)
Pressing the key "S" will toggle snapping. This helps to quickly
enable/disable snapping while digitizing.
2017-02-28 12:13:41 +01:00
Alexander Bruy
dbca0304d9 [processing] rename algorithm groups in GDAL provider 2017-02-28 12:37:48 +02:00
Nyall Dawson
b681b7bf3f Flip QgsMapCanvas connects to new style
Also remove unneeded duplicate signal
2017-02-28 11:06:38 +10:00
Nyall Dawson
5312965e61 Rename projection selection widgets and cleanup API
The current names for QgsProjectionSelector and
QgsGenericProjectionSelector are confusing
2017-02-28 09:45:31 +10:00
rldhont
98d323edb1 [Server] Remove QgsWCSProjectParser 2017-02-27 16:55:00 +01:00
Hugo Mercier
f56e6b9d3e [dbmanager] Fix encoding issues with virtual layers 2017-02-27 10:32:28 +01:00
Matthias Kuhn
520e3c082e Move QgsVector to its own header 2017-02-24 16:02:25 +01:00
Matthias Kuhn
c0a8ee51e1 Do not re-lookup already present CRSes 2017-02-24 09:15:22 +01:00
Matthias Kuhn
10f50ee68a Remove protected API from non-inherited class 2017-02-24 09:13:48 +01:00
Martin Dobias
fd616ae94e A bit of const-correctness and new convenience methods for edit tools 2017-02-24 11:27:45 +08:00
Bernhard Ströbl
115ede60ce [processing] replace alg Eliminate with new alg EliminateSelection
* [processing] replace alg Eliminate with new alg EliminateSelection

* Deprecate Eliminate algorithm

* Expose new EliminateSelection algorithm in GUI

* Rename ouput layer

* Reflect algorithm changes in help

* Remove superfluous init method

* Simplify code, thanks Nyall

* Improve transfer of selection to processLayer

* Remove deprecated Eliminate algorithm

* Remove test for Eliminate

* Fix indentation
2017-02-23 09:33:28 +01:00
Alessandro Pasotti
e1ede700a8 [feature] QgsSettings QGIS QSettings replacement (#4160)
* [feature] QgsSettings QGIS QSettings replacement

This is the new QgsSettings class that adds an (optional)
Global Settings additional ini file where a system administrator
can store default values for the settings and provide
pre-configuration.

If an ini file named qgis_global_settings.ini is found
in the pkgDataPath directory it is automatically loaded,
this path can be overriden by a command line argument
( --globalsettingsfile path ) and through an environment
variable (QGIS_GLOBAL_SETTINGS_FILE).
2017-02-22 20:22:10 +10:00
Nyall Dawson
47683fca4f [needs-docs] Rename Outline and Border -> Stroke
This change is being driven by:

- need for consistent terminology in the api. Currently there's
a confusing mix of border/outline used
- need for consistent terminology in the gui - we have a mix
of "border"/"outline"/"pen"
- bringing QGIS into line with the standard terminology used
in other graphic editing programs
2017-02-22 19:22:45 +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
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
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
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
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
Juergen E. Fischer
72342557c3 use constant for raster iterator default (followup baa5d90, f924578) 2017-02-21 13:46:11 +01: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
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
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
Matthias Kuhn
741e11df97 Add missing sip bindings 2017-02-20 09:06:02 +01:00
Matthias Kuhn
7e6695b0a0 Expose QgsRelation to QML
API changes for consistency:
  - setRelationName has been renamed to QgsRelation::setName
  - setRelationId has been renamed to QgsRelation::setId
2017-02-20 08:45:54 +01:00
Matthias Kuhn
382b213ed1 Remove "the"-prefix from method signatures 2017-02-20 08:45:54 +01:00
Juergen E. Fischer
0d1ab702fc processing: improve saga detection on windows 2017-02-19 22:24:25 +01:00
Alexander Bruy
f66b0baf16 Merge pull request #4144 from alexbruy/processing-results-viewer
[processing] convert results viewer to dock
2017-02-17 09:10:55 +02:00
Alexander Bruy
441f6e6e6e Merge pull request #4120 from arnaud-morvan/processing_fix_boolean_wrapper
[processing] fix boolean widget wrapper in batch dialog
2017-02-16 14:45:25 +02:00
Alexander Bruy
aa862810e3 Merge pull request #4146 from jdugge/master
[processing] gdal translate fixes
2017-02-16 14:44:36 +02:00