19962 Commits

Author SHA1 Message Date
Nyall Dawson
3f7fc069ae Annotation layers should return true to isEditable, supportsEditing 2021-08-18 12:32:41 +10:00
Sandro Mani
f67c071ed1 Remove unused include 2021-08-17 15:30:38 +02:00
Francesco Bursi
179cb1d951
[feature] virtual raster data provider (#44195)
* try to commit some changes in the branch

* addedd 3 file, cmake, vrp .h and .cpp

* updating VRP, no good results

* try to solve some issue to the virtual raster provider

* metadata class added, it should be developed

* registred in qgsproviderregistry the new VRP

* on line to test debug in the  new VRP

* chenge of 1_06

* minor change 2 06

* updating VRP, it can add some useless color to map canvas

* add baseclass test fro new provider

* Delete testqgsvirtualrasterprovider.cpp

* move VRP to src/providers

* Delete src/core/providers/virtualrasterprovider directory

* little change to cmake

* added as dynamic provider

* move the VRP to src/providers and let it work

* move the VRP to src/providers and let it work

* including qgis analysis

* updating block function with some calc tools

* delete block function, updating readblock function

* modified block method, used setValue --> to update with bits

* modified block method

* modified block method, adding takedata to the resultmatrix

* modified test for the new provider

* Add some checks in the block method, for raster entries

* tries for the calculator tool

* work on the hardcoded part and test

* work on the hardcoded test

* minor change in order to make the calc functionaltiy work

* minor change to the loop in which the computation occurs

* try to understand how qgsrastermatrixworks

* work on debugging new class

* work on debugging new class

* updating test and block method

* updating test and and block, now it works running in test mode

* updating test and and block, now it works running in test mode with bits

* updating test and and block, now it works running in test mode with bits

* update test

* update test and provider class

* add decodeuri and encodeui in metadata, at the moment they do nothing

* modify qgsrasterdataprovider by adding decoding and encoding uri methods

* workin on encode and decode funct

* work on encode/decode after Martin advices

* work on encode/decode after Martin advices, and update unit test

* work on encode/decode and update Cmakelist of provider test

* work on encode/decode and update Cmakelist and provider test

* work on encode/decode and update test + constructor

* work on encode/decode and constructor

* decode is now non trivial, he same as constructor

* working on encoding

* working on encoding/decoding

* change a little the code/decode mehods in order to return and get a struct as output/input

* change of decode method

* change the encode method, I should polish the code and optimize the encode for raster layers

* add flag ptr bool to decode mehod

* add flag ptr and modified the constructor of vrprovider

* work on the constructor and deconstructor, the flag does not work properly

* work on the constructor anf decoder

* work on the constructor and decoder

* work on the constructor and add some lines to popoluta mRasterEntries

* delete hardcoded data

* work on constructor and copy constructor 2

* add the parsing of the formula in the constructor, I should make a private var with calcnode

* add the parsing of the formula in the constructor, I should make a private var with calcnode2

* add some checks in the constructor2

* modify the copy constructor, add some code to adjust the qgsrasterdataprovider.sip

* modify checks in the constructor and in the decode method, in order to avoid nested if stat

* delete the logic in the decode method and add in the constructor

* delete the logic in the decode method and add in the constructor, add some redundant check in the constructor

* delete the logic in the decode method and add in the constructor, add some redundant check in the constructor 2

* test is now more general

* test is now more general2

* delete of a comment

* banned keywords check

* little error

* add copyright

* add copyright2

* add assignment operator= delete

* add documentation in qgsrasterprovider

* documentation

* modify qgsstringutils

* little modifications

* add the checkbox to the ui

* come back to old ui for raster calc

* adjust some qt::endl in the test of vrprovider

* start to work on the ui dialog

* layot of the code

* add some logic to the dialog of the raster calc

* add some test to qgisapp, need to modify the encoder and maybe put it in the qgrastercalcdialog

* modify some logic in rastercalcdialog and in the app, I should modify and move the encode method

* modify the comment

* add method to calcnode, modify the constructor of the provider and the open of the dialog

* add documentation

* some modifications according to the first review

* sadd some changes according to Martin's review

* change qgsrastercalcnode methods that returns raster names, small change to ui

* change the ui

* change the ui - using QString instead of QStringLiteral

* change the ui - using QString instead of QStringLiteral

* change name of subdirectory containing the virtual raster provider

* change name of subdirectory containing the virtual raster provider2

* change name of subdirectory containing the virtual raster provider3

* minor changes to makefiles

* minor change to dialog, to hide and show the output format and path

* provider key changed to the shorter virtualraster

* add some code to QgsRasterLayer::encodedSource and decodedSource

* delete some comments

* updating VRP, no good results

* made some change after the the second review

* delete the comments

* change some part of the code (delete of comments and cleaning the code)

* correct some layout errors

* change the mail contatct in my prvider

* change details on the method in qgsrastercalcnode

* change some method of the test class of my provider

* delete some leakage in the virtual raster provider

* modify some parts according to the review + change two lines of code for encoding/decoding methods

* modify a line of qgisapp.cpp

* small change according to the comments on th PR

* add a test method for second generation virtual raster and modify checks in qgisapp

* correction of the test method

Co-authored-by: franc <Franc-Brs>
2021-08-17 10:00:16 +02:00
Nyall Dawson
06b3b1650a Fix clazy, cppcheck warnings in expression builder widgets 2021-08-17 10:41:30 +10:00
Denis Rouzaud
a0507ee324
Merge pull request #44533 from troopa81/feat_dms_connexion_widget
[ExternalStorage] Add widget to configure/edit and visualize external storage
2021-08-16 12:05:26 +02:00
Julien Cabieces
53e16e85c0 add external storage display name 2021-08-16 09:18:14 +02:00
Julien Cabieces
bbf2429d6b Fix sip incomplete type QgsExternalStorageFileWidget 2021-08-16 09:18:14 +02:00
Julien Cabieces
36813e737d Fix doc 2021-08-16 09:18:14 +02:00
Julien Cabieces
7a7964c767 Fix typo & return string by value not ref 2021-08-16 09:18:14 +02:00
Julien Cabieces
74512ffde9 Separate QgsFileWidget from QgsExternalStorageFileWidget 2021-08-16 09:18:14 +02:00
Julien Cabieces
16c916b723 fix typos and doc 2021-08-16 09:18:14 +02:00
Julien Cabieces
56127039f5 [ExternalStorage] Add widget to configure/edit and visualize external storage 2021-08-16 09:18:12 +02:00
Julien Cabieces
a63551a4a7 [WFS] fix unknown expat encoding issues 2021-08-16 09:12:17 +02:00
Nyall Dawson
e6fa3ffd69 Add filepath to QgsMimeDataUtils::Uri 2021-08-12 12:54:21 +10:00
uclaros
55c02f6b5b skip sip 2021-08-12 11:42:23 +10:00
uclaros
5f7a067fdf Simplify whitespaces in saved expression labels 2021-08-12 11:42:23 +10:00
Nyall Dawson
a5261ff141 Better error reporting for aggregate calculation failures 2021-08-12 03:26:46 +10:00
Nyall Dawson
4d5014deae Add QgsExpression utility function to match an expression or field name string to a layer's field index 2021-08-12 03:26:46 +10:00
Nedjima Belgacem
826c6a7c36
Disble layer rendering to 3D terrain texture for 3D rendered layers (#44367)
* add optional layer rendering to 3D terrain

* remove terrainLayers from Qgs3DMapSettings

* fix tests

* switch to layer terrain rendering when no 3d renderer is set

* fix mesh tests to handle terrain being disabled
2021-08-11 11:38:59 +02:00
Nyall Dawson
66bd635454 repr for QgsDefaultValue 2021-08-11 16:41:49 +10:00
Nyall Dawson
155c76c91d Add some __repr__ methods for QgsLayerTreeNode classes 2021-08-11 13:35:59 +10:00
Nyall Dawson
1608547066 Add utility function QgsFileUtils.renameDataset
Renames a dataset file, including all its associated sidecar
files (and optionally the .qmd/.qml sidecars)
2021-08-11 08:21:04 +10:00
Nyall Dawson
ee0c050bbf Add QgsFileUtils.sidecarFilesForPath function, which returns all
sidecar files which exist for a given file path
2021-08-10 12:52:34 +10:00
Nyall Dawson
ff2f22f3a6 Raise IndexErrors instead of crashing when an invalid index is
passed to QgsAttributeTableConfig methods from Python
2021-08-10 11:47:23 +10:00
Nyall Dawson
1daccf6055 Fix doxygen command 2021-08-09 13:00:33 +10:00
Nyall Dawson
bf6af35382 Copy error message from aggregate calculator to expression when
aggregate function fails, so that we give more helpful error messages
for debugging aggregate based expressions
2021-08-09 13:00:33 +10:00
Nyall Dawson
17fa48250a Expand docs 2021-08-09 05:55:05 +10:00
Nyall Dawson
52dff0f2ef Add api to QgsProviderMetadata to return any possible sidecar
files which may exist for the provider given a layer path
2021-08-09 05:55:05 +10:00
Alexander Bruy
00dad40975
Merge pull request #44583 from alexbruy/processing-pointcloud
Point cloud parameter for Processing
2021-08-06 11:02:04 +03:00
Nyall Dawson
cf40573d2c [feature][processing] Add new "Select within distance" and
"Extract within distance" algorithms

These algorithms allow users to select or extract features from one
layer which are within a certain distance of features from another
reference layer.

The distance checking is heavily optimised, using spatial indices
to restrict the number of features retrieved, and also automatically
handing the check off to the database server for postgis layers.

The distance parameter can also be data-defined.

Sponsored by QTIBIA Engineering
2021-08-06 17:37:09 +10:00
Nyall Dawson
02b04fcd10 Spelling 2021-08-06 14:17:28 +10:00
Nyall Dawson
354d334e94 Add utility function QgsProjectUtils.updateLayerPath to bulk replace
a file path with a new path for all matching layers in a project
2021-08-06 14:17:28 +10:00
Nyall Dawson
a31a67401b Add utility QgsMapLayerUtils.updateLayerSourcePath for easy replacement
of file paths in the source of a file-based layer
2021-08-06 14:17:28 +10:00
Juergen E. Fischer
2f3e32a5ba fix msvc build 2021-08-05 23:24:11 +02:00
alitka
2b04a0801c updated connections-default.xml
line 18 - added the German spatial data catalogue (GDI-DE Geodatenkatalog.de) of the Spatial Data Infrastructure Germany (GDI-DE) to the list of the default connections
2021-08-06 07:15:58 +10:00
Alexander Bruy
aef9ef7ee0 add point cloud parameter to algfactory 2021-08-05 21:07:31 +03:00
Alexander Bruy
63952c1a37 [processing] add support for point clouds to map layer and multiple
layer parameters
2021-08-05 18:41:33 +03:00
Alexander Bruy
f801cb6816 [processing] new pont cloud parameter for processing 2021-08-05 16:03:50 +03:00
Nyall Dawson
2cab3bba72 Working distance within filter for vector layer cache 2021-08-05 14:24:07 +10:00
Nyall Dawson
f69ff2706a Implement distance within search for vector layer iterator 2021-08-05 14:24:07 +10:00
Nyall Dawson
686a6e5968 [api] Add option to QgsFeatureRequest to request features
within a certain distance of a reference geometry

E.g. this request will retrieve all features within 50 map units of the
provided linestring:

    QgsFeatureRequest().setDistanceWithin(QgsGeometry.fromWkt('LineString(0 0, 10 0, 12 1)'), 50)

A new enum Qgis::SpatialFilterType has been added to reflect whether
a request uses no spatial filter, a BoundingBox filter (via
setFilterRect), or the new DistanceWithin filter.

Distance within filters are treated like bounding box filters, in
that they are independant of any attribute/id filters (such as
feature ids or expressions).
2021-08-05 14:24:07 +10:00
Nyall Dawson
d01aa2826e Spelling fixes 2021-08-05 13:01:54 +10:00
Nyall Dawson
4f56a42275 Fix processing algs 2021-08-04 09:54:32 +10:00
Nyall Dawson
75c787a4e6 Fix API break 2021-08-04 09:54:32 +10:00
Nyall Dawson
01e3e1dddc [api] Move QgsGeometry enums to Qgis, promote to enum classes 2021-08-04 09:54:32 +10:00
Sandro Mani
c2b48173c8
Merge pull request #44471 from qgis/links
Support CTRL+Click for opening links in attribute table
2021-08-03 01:35:21 +02:00
Nyall Dawson
41d98c82d7 Add a formal settings category for GPS settings 2021-08-03 09:22:31 +10:00
Sandro Mani
2a2899a87c Support CTRL+Click for opening links in attribute table 2021-08-02 23:44:58 +02:00
Nyall Dawson
47f7612004 Add flag to babel command generation methods to control whether
paths should be quoted
2021-08-02 13:36:46 +10:00
Nyall Dawson
377f1d42ec Make QgsBabelFormatRegistry responsible for generating a file
filter string for all import formats
2021-08-02 13:36:46 +10:00