224 Commits

Author SHA1 Message Date
Nyall Dawson
ca8e1d343d [sipify] Replace nullptr with None in docstrings
Since nullptr has no meaning to Python devs
2017-04-07 09:21:26 +10:00
Nyall Dawson
5ccc6cccef Update api break docs, sipify QgsRasterFileWriter 2017-04-07 09:21:26 +10:00
Nyall Dawson
110828feab [FEATURE] Background saving of raster layers
Use the task manager framework to handle saving of raster layers
in the background
2017-04-07 08:18:57 +10:00
Nyall Dawson
e8ef91ce98 Cleanup QgsRasterDataProvider/QgsRasterLayer progress reporting
Instead of progress changed signals on the provider/layer level,
instead use QgsFeedback arguments for methods which previously
emitted progress changed signals
2017-04-03 12:08:08 +10:00
Nyall Dawson
e400ab6249 Allow cancelation of raster stats/histogram operations 2017-04-03 12:08:08 +10:00
Nyall Dawson
d03844d24e [FEATURE] Allow classifying paletted renderer using unique values
from a raster layer

Adds an easy way to style discrete rasters such as landuse classes
using the Paletted renderer. Just select the Paletted renderer,
pick a band, then hit the "Add Unique Values" button. The unique
pixel values will be fetched from the layer and a color assigned
to each using the currently selected color ramp.

Fix #14845

Sponsored by
- Stéphane Henriod
- Satelligence (http://satelligence.com/)
- Bird's Eye View (https://www.birdseyeviewgis.com/)
- + other anonymous backers
2017-04-03 12:08:08 +10:00
Nyall Dawson
c8b728a361 No lies! 2017-04-03 12:08:07 +10:00
Nyall Dawson
7eb63d99dc [FEATURE] Implement saving paletted raster renderer color tables
Use the .clr/gdal file format, but add the labels on the ends of
the lines. Seems other importers like ArcMap just ignore these.
2017-04-03 12:07:50 +10:00
Nyall Dawson
d542a1a442 Add method to load paletted renderer classes from file 2017-04-03 12:07:50 +10:00
Nyall Dawson
a6d3af7c26 Add method to read paletted color data from string 2017-04-03 12:07:50 +10:00
Nyall Dawson
93cfde0c09 Enable reordering of paletted raster entries 2017-04-03 12:07:50 +10:00
Nyall Dawson
bfe96214b2 [FEATURE] Add a color ramp combo to paletted raster renderer
Allows rapid recoloring of palette to match a color ramp
2017-04-03 12:07:50 +10:00
Nyall Dawson
b7cd9dcb56 Rework paletted raster renderer widget
- Switch to a real model
- Allow adding new rows and deleting multiple selected rows
- Allow changing colors inline in style dock (no modal color picker)
2017-04-03 12:07:50 +10:00
Nyall Dawson
a157db7627 Refactor QgsPalettedRasterRenderer to allow "gaps" in pixel values
Previously the renderer required that pixel values followed
sequential numerical order. This refactor allows values to
be skipped, so that only certain color index will be rendered.
2017-04-03 12:07:50 +10:00
Nyall Dawson
634d5ffb8a Mark QgsRasterRenderer::legendSymbologyItems as /Out/ in sip 2017-03-23 10:15:30 +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
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
45fc6dc2fe Remove duplicate QgsRasterLayer constructor
Avoids confusing overload behavior when constructing QgsRasterLayers
from c++ code. This extra constructor was causing character literals
to be converted to a boolean loadDefaultStyle flag instead
of being used as the provider key. Removing the extra constructor
avoids this, and removes some duplicate code.
2017-01-27 11:13:52 +10:00
Juergen E. Fischer
6a56cb0dd0 updates and fixes for windows qt5/py3 build 2017-01-24 01:25:59 +01:00
Denis Rouzaud
4c642ac664 fix typo 2017-01-20 15:17:58 +01:00
Denis Rouzaud
4c3968b9aa more spelling fixes 2017-01-20 15:06:09 +01:00
Martin Dobias
ff8d912147 Make the one band raster creation method return data provider 2017-01-19 15:46:46 +08:00
Martin Dobias
7b27079de9 Convenience API call to create empty raster file 2017-01-19 15:46:46 +08:00
Martin Dobias
15cd8331ac Make setEditable() return true/false to indicate success/error 2017-01-19 15:46:46 +08:00
Martin Dobias
f6f6ebdb44 [FEATURE] API to enable/disable editing of raster data
To create a 2x2 raster block with one byte per pixel:

```
block = QgsRasterBlock(Qgis.Byte, 2, 2)
block.setData(b'\xaa\xbb\xcc\xdd')
```

To overwrite existing raster data at position 0,0 by the 2x2 block:

```
provider.setEditable(True)
provider.writeBlock(block, band, 0, 0)
provider.setEditable(False)
```
2017-01-19 15:46:46 +08:00
Martin Dobias
90d233ad30 Remove draw() method from QgsRasterDataProvider interface (#4017)
It was redundant in the API - one always wants to use block() to get data
2017-01-18 13:32:26 +08:00
Martin Dobias
433d04b68e QgsRasterBlock::data() for efficient access to pixel data also in Python (#4009)
Also adds some unit tests and API cleanups
2017-01-18 09:52:45 +08:00
Denis Rouzaud
b119744773 replace cancelling, cancelled and cancellation by canceling, canceled and cancelation, respectively (#4000)
* replace cancelling and cancelled by canceling and canceled, respectively

see https://github.com/qgis/qgis3_UIX_discussion/issues/19

* replace cancellation by cancelation
2017-01-16 22:27:14 +01:00
Denis Rouzaud
0a63d1f2c2 [spellcheck] properly look into various cases and add more fixes" 2017-01-16 16:39:20 +01:00
nirvn
181f84b86f [raster] move pseudocolor renderer classification out of gui into core 2016-12-27 10:16:51 +07:00
Juergen E. Fischer
e5a4426dce more spelling fixes 2016-12-26 23:36:16 +01:00
Even Rouault
532eb58d1f [FEATURE] Implement raster auto-stretching when updating canvas
This commit implements the improvements described at:
https://lists.osgeo.org/pipermail/qgis-developer/2016-September/044393.html

The QgsRasterMinMaxWidget now offers a seetting to specify that the statistics
should be computed each time the canvas extent changes.

Other changes:
- the content of the QgsRasterMinMaxWidget is now persistant.
- there is no longer any Load button. The global Apply / OK button of the raster
  properties dialog has this effect.
- the default "limits" for single band raster is now MinMax and not CumulativeCut
- the default "limits" can be configured for single band, multi band single byte and
  multi band multi byte
- "Strech using current extent" honours the "limits" instead of forcing min/max.
2016-12-16 12:36:06 +01:00
nirvn
f02e4ad98f [FEATURE][raster] transparency support for paletted renderer 2016-12-14 14:24:02 +07:00
Mathieu Pellerin
eb85e3fcfa [raster] migrate singleband pseudo-color renderer color ramp widget (#3817) 2016-12-02 12:48:45 +07:00
Alessandro Pasotti
61b599ed0e Added histogram values to the bindings 2016-11-29 15:44:34 +01:00
Alexander Bruy
dac03d5ce8 use default QString() constructor instead of ""
improve doxygen docs
2016-11-02 14:44:20 +02:00
Alexander Bruy
75b23cb55c update Python bindings 2016-11-02 14:44:20 +02:00
Nyall Dawson
44289084e9 Optimise passing of variables by ref/value 2016-10-24 10:36:23 +10:00
Nyall Dawson
3272964f58 Fix classes which violate the rule-of-three
(identified using clazy analyser)
2016-10-24 10:36:22 +10:00
Juergen E. Fischer
ffaffadbfa fix typos 2016-10-01 17:58:12 +02:00
Nyall Dawson
7f9cc87f85 Merge pull request #3494 from nyalldawson/deprecated
Remove remaining deprecated methods
2016-09-16 21:02:25 +10:00
Martin Dobias
a9105b7e7a Remove QgsMapLayer::draw() method from API (replaced by createMapRenderer()) (#3501) 2016-09-16 18:32:36 +08:00
Nyall Dawson
fe65063c2b Remove many deprecated methods 2016-09-15 18:34:15 +10:00
Martin Dobias
f6a2a5e744 Clean up QgsRasterBlockFeedback class 2016-09-09 16:02:18 +08:00
Martin Dobias
80f022878f Small code cleanups 2016-09-02 09:41:35 +08:00
Martin Dobias
fdeac8198c Fix incorrect raster reprojection after drawing raster previews
Moved all temporary projector members to a private class,
so even recursive block() calls will not affect each other
(there is no new performance penalty as block() call always
recomputes the temporary control point matrix anyway)
2016-09-01 18:25:01 +08:00
Martin Dobias
6bb291f2d6 Raster projector constructor cleanup
Marked raster interface as uncopiable (it should have always been uncopiable)
2016-09-01 15:38:58 +08:00
Martin Dobias
9db9304627 Raster MTR improvements - part one (PR #3334) 2016-08-02 08:22:29 +02:00
Nyall Dawson
ba26bc887a Remove the broken, unused QgsPseudoColorShader class 2016-07-26 10:11:57 +10:00