49 Commits

Author SHA1 Message Date
Nyall Dawson
503a95a1a1 Move enums to Qgis namespace for consistency 2024-02-02 04:59:04 +10:00
Nyall Dawson
a36b203f30 Promote some processing enums to enum class, cleanups 2024-01-30 19:10:43 +10:00
Nyall Dawson
26798b84f4 Promote QgsFeatureRequest enums to enum class, move to Qgis 2024-01-30 19:10:43 +10:00
Nyall Dawson
56e8206f21 Hold GIL when calling cheap processing methods 2023-12-07 16:21:31 +10:00
Nyall Dawson
f16bbfea79 Check validity of coverages before running coverage tools, unless
geometry validation is disabled
2023-11-02 22:03:20 +10:00
Nyall Dawson
9f57fb2ef0 Rename "tiled mesh" to "tiled scene"
Better reflects that these types can contain lines and point
data, not just meshes
2023-08-05 21:31:49 +10:00
Loïc Bartoletti
e5ea4d2291 resolveDefaultEncoding: return UTF-8 as default in case of undefined locale or error 2023-07-05 06:06:10 +10:00
Loïc Bartoletti
09ac50fd36 move logic to QgsProcessingUtils and create a convenient method resolveDefaultEncoding() 2023-07-05 06:06:10 +10:00
Nyall Dawson
1e1535d63d Handle tiled mesh layers in more code paths 2023-06-28 17:47:17 +10:00
Alexander Bruy
a1013f87c6 [processing] add vector tile destination parameter 2023-05-18 07:09:16 +10:00
Alexander Bruy
daa8d5ca15 [processing] allow selecting vector tile layers in map layer and
multiple layers parameters
2023-05-18 07:09:16 +10:00
Alexander Bruy
0325cf0c30 [processing] add layer options flag enum
This enum can be used in the QgsProcessingUtils::mapLayerFromString()
and parameterAsPointCloudLayer() calls to control layer loading, e.g.
skipping index generation or not applying default style, etc.
2023-03-29 06:06:09 +10:00
Nyall Dawson
30598b9ad9 Pass QgsProcessingContext on to all processing functions which
generate temporary file names
2023-03-21 03:50:08 +10:00
Nyall Dawson
3c1e4fe723 [processing] Allow filter expressions to be set for vector sources
This change adds a new "feature filter" option alongside the
existing feature limit and invalid geometry handling options
available for all vector inputs to processing layers.

It allows users to enter an expression to subset the layer dynamically
when running the tool, avoiding the need for separate steps to
set layer filters or create layer subsets.

Sponsored by City of Canning
2023-03-08 16:58:34 +10:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Nyall Dawson
7b29e796ff [processing] Add json syntax option for encoding data defined parameter
values

Refs #50482
2023-01-16 19:07:48 +10:00
Nyall Dawson
6ed55658af [processing] Fix crash after running model from history dialog
Ensure we don't store any map layer pointer values for long-term
use, and instead transform them to appropriate string values instead

Fixes #40258
2022-05-23 18:29:39 +10:00
Alexander Bruy
88d7a62321 [processing] add point cloud output and point cloud destination parameter
to Processing. These are useful for 3rd party tools as outputs can be
automatically loaded on algorithm completion.

It is an API change not visible for users.
2021-11-26 15:37:27 +10:00
Nyall Dawson
c2c0f2574d [processing] Add parameter type for annotation layers 2021-09-11 07:59:51 +10: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
Alexander Bruy
7cb631e03c add support for plugin layers in QgsProcessingParameterMapLayer and
QgsProcessingParameterMultipleLayers (fix #44183)
2021-07-30 09:00:57 +10:00
Even Rouault
92fc43505d Update featureCount() methods to return long long for Win64 compatibility 2021-06-15 12:40:04 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Nyall Dawson
4ee9feb56b Sipify 2020-10-09 11:20:09 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
320fecce00 [processing] Add method to encode and decode a combined provider key and uri
to a single string

We need this to allow processing inputs to load non gdal/ogr/mdal sources, such
as being able to directly read postgis layers without loading them into a project first
2020-03-26 11:55:45 +10:00
Nyall Dawson
28467f2ad0 Sipify 2020-03-24 10:53:50 +10:00
Nyall Dawson
b0474d7fd3 [processing] Hookup backend API allowing features sources to be
limited to a specific maximum number of features, and allowing
per-source overriding of the default "invalid geometry" handling behavior
2020-03-24 10:53:50 +10:00
Nyall Dawson
3e9aaaa6ea Move variant to CRS resolution out to QgsProcessingUtils for wider
usability
2019-12-21 05:07:39 +10:00
Nyall Dawson
fe32fdfe40 Add API to QgsFeatureSource to determine whether a spatial index
exists on the source (or not, or unknown presence)
2019-11-17 04:54:41 +10:00
Denis Rouzaud
758d7cff4a run sipify to update deprecation annotations 2019-10-15 13:17:38 +02:00
Nyall Dawson
651c507180 [processing] Extend api for retrieving a layer in a compatible format
A few releases ago a bug fix was implemented which forced conversions
of multi-layer sources. This was a valid bug fix, but the consequence
was that any algorithm using this api with a source file containing
multiple layers (e.g. gpkg) performed a complete copy of the target
layer to a new file, severely impacting performance.

This commit adds new API to retrieve a compatible layer path in the
case when an algorithm CAN correctly handle specific target layer names.
In this case, the forced copy of the source layer is avoided when
using multi-layer inputs like geopackage.
2019-09-26 09:27:46 +10:00
Nyall Dawson
cfcf580b61 [processing][needs-docs] Resurrect setting for default raster/vector
output format

This setting is still used and required in some circumstances, e.g.
it is used as the default selection in outputs file pickers when
the previously used format is not valid.
2019-09-24 16:50:22 +10:00
Mathieu Pellerin
a888986567
[needs-docs][processing] Avoid field collision via optional prefix in overlay algorithms (#10092)
Makes for a more predictable collision avoidance, which
can be neccessary for some models.
2019-05-24 19:00:28 +07:00
Alessandro Pasotti
394a189682 Fix class documentation 2019-04-17 10:06:41 +10:00
Nyall Dawson
b6bc1ee2d4 Tweak QgsProcessingUtils::combineLayerExtents for future proofing, remove deprecated usage 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
f8dfdc4aa0 Deprecate method without transformContext 2019-04-17 10:06:41 +10:00
Denis Rouzaud
631c7016db
scope enum for QgsProcessing::LayerHint (#9639) 2019-03-27 17:23:36 -05:00
Nyall Dawson
b6d66becab Sipify 2019-02-27 09:41:11 +10:00
Nyall Dawson
37774f9aa9 [processing] Add util to convert QVariant value to Python literal 2019-02-01 17:54:28 +11:00
Peter Petrik
e71660215c [processing] add QgsProcessingParameterMeshLayer parameter 2018-12-17 11:50:53 +01:00
Nyall Dawson
4930061b21 [processing] Fix incorrect OGR warnings when loading raster layer results
Fixes #19597
2018-08-16 06:37:18 +10:00
Matthias Kuhn
1b15e68f64
Add minimal smartness for QgsProcessingFeatureSource::hasFeatures 2018-06-22 14:41:42 +02:00
Nyall Dawson
f6416a1990 [processing] Fix missing vector inputs when run in batch mode
Fix incorrect definition of compatibleVectorLayers, which was
using layer WKB type values instead of processing source types.
2018-06-01 15:55:11 +10:00
Nyall Dawson
2cb8a33884 Fix broken see also links 2018-05-25 11:16:18 +10:00
Nyall Dawson
c9e5a36558 [processing] Avoid generic exceptions
Makes the full Python exception available when running algorithm,
which provides much more useful error messages
2018-05-16 04:35:17 +10:00
Denis Rouzaud
7df2593caf move auto generated sip file in dedicated folder 2018-05-14 10:23:37 -04:00