91 Commits

Author SHA1 Message Date
Nyall Dawson
c8198d865e Remove redundant providerType methods from raster, mesh layers
This exact same method is implemented in QgsMapLayer already
2025-02-11 09:24:35 +10:00
Raymond
0706370468 fix typo: 254 -> 255 2024-12-31 13:19:42 +01:00
Nyall Dawson
a3f4b849f1 Support raster labels for resampled values across neighboring pixels 2024-12-18 19:12:29 +10:00
Nyall Dawson
c2d933579d Move resampling method enum to Qgis, promote to enum class 2024-12-18 19:12:29 +10:00
Nyall Dawson
d9d501a3d8 Fix see also link 2024-12-18 19:12:29 +10:00
Nyall Dawson
c33b8b276f Fix documentation 2024-12-18 19:12:29 +10:00
Nyall Dawson
14f625f59f [API] Add framework for raster labeling
Allows raster pixels to be labeled with the value taken from a raster
band.

Labels are registered with the labeling engine, so participate in
label conflict resolution and overlap avoidance

Options include

- Selection of band to take values from
- Using QgsNumericFormat to customise the number format for the labels
- Uses text renderer, so supports buffers, shadows, etc
- Label priority
- Scale dependant visibility
- Optional pixel size dependent visibilty, ie show only when pixels are
> 4mm in size
- Z index control, overlap avoidance mode

Fixes #14408
2024-12-18 19:12:29 +10:00
Julien Cabieces
ed64834106 api(deprecated): add message to deprecated SIP annotation 2024-12-17 09:06:42 +01:00
Julien Cabieces
398f00bc26 doc(Deprecated): Fix missing \deprecated instruction 2024-12-17 09:05:46 +01:00
Nyall Dawson
59a76430dc Fix cppcheck errors 2024-12-14 11:09:20 +10:00
Nyall Dawson
47593ca156 Rename to 'snap to pixel factor' for clarity 2024-12-09 13:36:08 +10:00
Nyall Dawson
61bbd91c81 Add API to QgsRasterIterator to handle resampling factor
Allows raster iterator to calculate blocks which are exactly
multiples of the resampling factor, to aid in cases where the
iterator will be used to fetch resampled raster blocks
2024-12-09 13:36:08 +10:00
Denis Rouzaud
76f702e48a sipify 2024-12-05 13:19:50 +01:00
Nyall Dawson
bb6919aeea Move QgsRasterMinMaxOrigin enums to Qgis, promote to enum class 2024-11-30 07:36:47 +10:00
Jean Felder
9d372b6019 qgsrasterlayer: Remove refresh logic
This is not used anymore.
2024-11-28 14:37:06 +10:00
Jean Felder
76cbf8b3a5 qgsrasterlayer: Make computeMinMax public
This will be used in the next commit to refresh a renderer.
2024-11-28 14:37:06 +10:00
Jean Felder
dd36eb7249 qgsrasterrenderer: Introduce refresh
This is similar to what is achieved in
`QgsRasterLayer::refreshRenderer()` to refresh the renderer according
to an extent. Contrary to the first one, this method does not perform
any GUI update or emit any signal.

It is not used at the moment. This will replace the logic to refresh a
renderer in the following commits.
2024-11-28 14:37:06 +10:00
Jean Felder
2747710499 qgsrasterrenderer: Introduce needsRefresh
This is similar to what is achieved in
`QgsRasterLayer::refreshRendererIfNeeded()` to check if the renderer
needs to be refresh according to an extent. It does not perform any
refresh.

It is not used at the moment. This will replace the logic to refresh a
renderer in the following commits.
2024-11-28 14:37:06 +10:00
Nyall Dawson
6b468bc32d
Add != operator for QgsColorRampShader 2024-11-26 15:04:03 +10:00
Nyall Dawson
ace375b686 Move raster iteration progress calculation to raster iterator class 2024-11-07 10:13:55 +11:00
Nyall Dawson
f3fb1b87c8 [api] Add methods to find min/maximum value in QgsRasterBlock 2024-11-05 11:07:54 +11:00
Alessandro Pasotti
2078ef5c03 [wms] Fix unreported issue max tile size from capabilities ignored
Fix an unreported issue with WMS client ignoring the advertised tile
size from GetCapabilities (because the raster iterator always used
its own hardcoded default).

A new method was added to retrieve this information from data providers
only implemented for WMS at the moment.

The test has been reformatted for consistency with other core tests
by moving the implementation outside of the class. The actual change is
the addition of TestQgsWmsProvider::testMaxTileSize().

Funded by: M.O.S.S. Computer Grafik Systeme GmbH https://www.moss.de/
2024-10-16 09:29:36 +02:00
Nyall Dawson
967388df86 Fix cppcheck 'function can be const' warnings 2024-10-15 15:00:05 +10:00
Even Rouault
588e8d430b QgsRasterInterface::colorInterpretationName(): return a translated string 2024-09-23 10:11:03 +02:00
Nyall Dawson
f61e33da4e Doxygen comments should use "NULLPTR", not "NULL"
NULLPTR will get correctly formatted in both c++ and Python docs
2024-09-19 09:55:44 +10:00
Nyall Dawson
b39f760cbc
Correctly handle multiline SIP_OUT param documentation 2024-09-10 11:11:25 +10:00
Nyall Dawson
534ca73c59 Fix missing see also trailing notes in PyQGIS documentation 2024-09-04 06:32:03 +10:00
Nyall Dawson
4628bc9d85 More \see cleanups 2024-09-04 06:32:03 +10:00
Nyall Dawson
0f1daa11f3 Fix formatting of some \see links 2024-09-04 06:32:03 +10:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
765cbb32db Standardise some deprecated annotations 2024-09-02 11:42:12 +10:00
Nyall Dawson
49d31fa527 Fix some malformed docs 2024-08-30 05:47:07 +10:00
Nyall Dawson
519959154a Fix some overly verbose class "brief" descriptions 2024-08-28 11:58:21 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
be8dce7d0d Valid improvements from new sipify 2024-08-13 20:28:55 +10:00
Nyall Dawson
4a247373f0 [api] Split tolerance into separate values for red, green, blue channels
Makes the API more flexible for future use. We only expose a single
tolerance value in the UI, but in future we could expose the
separate tolerances if desired (but be wary of UI bloat!!)
2024-07-29 13:20:21 +10:00
Nyall Dawson
15128498e1 [feature] Support tolerances for QgsRasterTransparency pixel values
Allows pixels with color components just outside of the specified
RGB values to also be treated as transparent pixels

Useful for photographs or compressed rasters where a range of color
values must be made transparent
2024-07-29 13:20:21 +10:00
Nyall Dawson
6d829ff7b4 Drop some more no value documentation 2024-07-25 04:02:55 +10:00
Nyall Dawson
6f652d251b Drop no-value copy constructor dox 2024-07-25 04:02:55 +10:00
Nyall Dawson
28943f9c1b Remove a bunch of useless default constructor doxygen 2024-07-23 02:08:28 +10:00
Nyall Dawson
145de5fb5e
Move QgsDataProvider::ReadFlag to Qgis::DataProviderReadFlag
and promote to enum class
2024-07-18 10:01:59 +10:00
Alessandro Pasotti
81357cba0b QgsRasterBlock::printValue add localized argument 2024-06-18 10:32:29 +02:00
Nyall Dawson
848af75957 Add QGIS 4.0 TODO 2024-06-06 13:57:48 +10:00
Nyall Dawson
9e0e257504 Deprecated unused method 2024-06-06 13:57:48 +10:00
Nyall Dawson
3da2f533d5 Make raster data provider capabilities an enum class 2024-06-06 13:57:48 +10:00
Nyall Dawson
a7a19a7fc0 Don't use raw int for QgsRasterInterface capabilities 2024-06-06 13:57:48 +10:00
Julien Cabieces
848fb16785 Add \deprecated tag 2024-05-31 08:46:33 +10:00
Julien Cabieces
71e0b7ffcd manual fix rasterattibutetable 2024-05-31 08:46:33 +10:00
Julien Cabieces
0ccaf2d299 sipify 2024-05-31 08:46:33 +10:00
Nyall Dawson
80b61d3d52 Add constBits methods to QgsRasterBlock
These can avoid an unwanted QImage detach when we are just
reading block data and don't need to modify it
2024-05-22 14:28:12 +10:00