9196 Commits

Author SHA1 Message Date
uclaros
4c39f178ad added filter by geometry / filter by layer support 2022-09-02 14:28:07 -07:00
Martin Dobias
e6da9ac607 Bring back some Python methods to make the test in Python work again 2022-09-02 07:52:22 -07:00
Martin Dobias
ec36709bfe Address reviews from Stefanos and Nyall 2022-09-02 07:52:22 -07:00
Martin Dobias
fc41309ee2 Add tests for QgsElevationMap and for EDL of 2D point cloud rendering 2022-09-02 07:52:22 -07:00
Martin Dobias
5947177e77 Disable copying of QgsElevationMap 2022-09-02 07:52:22 -07:00
Martin Dobias
a9739a2246 Better encoding of elevation values 2022-09-02 07:52:22 -07:00
Martin Dobias
18ba28b39e Fix sip 2022-09-02 07:52:22 -07:00
Martin Dobias
18b3bdd139 Refactor elevation map related code to a new class QgsElevationMap 2022-09-02 07:52:22 -07:00
Martin Dobias
8f933496b6 Eye dome lighting code fixes
- make it independent on the current view's Z range
- simplify scaling code
- reverse Z handling (higher Z value == closer to "camera")
- remove unused API functions and member variables
2022-09-02 07:52:22 -07:00
NEDJIMAbelgacem
83cf5fab0b fix layout tests 2022-09-02 07:52:22 -07:00
NEDJIMAbelgacem
789a83cd37 address reviews and fix docs 2022-09-02 07:52:22 -07:00
NEDJIMAbelgacem
5b6ba3e80a Revert to RGBA elevation 2022-09-02 07:52:22 -07:00
NEDJIMAbelgacem
3eedcf0d8f address reviews 2022-09-02 07:52:22 -07:00
NEDJIMAbelgacem
5ccb83b5c6 switch to using grayscale image and fix the default draw order rendering 2022-09-02 07:52:22 -07:00
NEDJIMAbelgacem
f4830334cf initial implementation 2022-09-02 07:52:22 -07:00
Alessandro Pasotti
0c577f07ba
Merge pull request #50015 from elpaso/layer-metadata-provider
Layer metadata provider API (part 1)
2022-09-01 13:58:22 +02:00
Alessandro Pasotti
eb76172122 Raise proper exceptions from search 2022-09-01 11:32:13 +02:00
Alessandro Pasotti
fa55567ecf Rename QgsLayerMetadataSearchResults 2022-09-01 08:21:15 +02:00
Loïc Bartoletti
80e7ba354a
Add Concave hull API and expression function
Exposes the GEOS concave hull operation to QgsGeometry API and a via a new concave_hull expression function.

Requires GEOS 3.11+
2022-09-01 02:58:35 +00:00
vcloarec
1ce710a0c3 Sipify 2022-08-31 22:40:45 -04:00
Nyall Dawson
2aa753cb72 Typo 2022-09-01 08:55:08 +10:00
Alessandro Pasotti
b87ae9053f Refactoring after PR review 2022-08-31 18:57:04 +02:00
Alessandro Pasotti
62c8b55ab4 Moved QgsLayerMetadataProviderResult to QgsLayerMetadata inheritance 2022-08-31 18:53:12 +02:00
Alessandro Pasotti
35403d507f Layer metadata provider API
Implementation of QEP #250 DB metadata storage.

- General API for registering layer metadata providers
- Metadata provider GPKG
- Metadata provider POSTGRES
- Metadata provider POSTGRES RASTER

Tests and custom python metadata provider implementation.

No GUI.

Funded by: ARPA Piemonte
2022-08-31 18:53:12 +02:00
Stefanos Natsis
fb97c10d00
Export pointcloud layers (#49280)
* PointCloudLayerExporter class

* set points limit

* saveas dialog

* qickndirty task

* wip

* add pdal files

* transform context

* add getters

* try to use some subclasses

* use nested classes

* don't default layername

* limit supported formats

* error reporting

* limit formats in gui too

* format filters and source/target crs

* use default infinite extent

* set pdal crs

* add pdrf but keep 3 for now

* properly handle LAZ attributes

* catch coordinate transform exceptions

* use default destructor, fix leak, docs

* trim includes, fix typos

* use qgsspinboxes, add points limit to the gui

* fix limit exporting logic

* avoid auto

* fix builds

* don't reuse lastVectorFormat setting

* Rework layer name handling

* Rage against the elevation

* invert attribute activation logic

* use wkt for laz srs

* use original offset/scale if not reprojecting

* move created memory layer to main thread when done

* allways add memory layer to map

* oops

* properly handle existing vector files

* don't add layer if cancelled

* create the memory layer on the main thread

* remove colon

* remove duplicate code and avoid crashing on mesh and vectortiles

* fix leak

* handle case blunder

* address review
2022-08-31 15:46:16 +02:00
Nyall Dawson
73692a6a41 Create QgsProviderSqlQueryBuilder
QgsProviderSqlQueryBuilder provides an interface for creation of SQL queries, which
can be overridden for backend provider specific SQL syntax.

Initially add a virtual method for creation of row limited select *
queries.
2022-08-28 15:37:15 +10:00
Alessandro Pasotti
f704cd09fa
Fetch geometries when conditional formatting rule requires it
Fixes #43252
2022-08-23 12:28:20 +10:00
Nyall Dawson
b79ca2951f Cleaner docs 2022-08-23 10:07:54 +10:00
Damiano Lombardi
67bdadfead
Fix rollback not leaving a consistent state for buffered transaction 2022-08-23 10:04:17 +10:00
Nyall Dawson
8171b76ddd Introduce QgsVariantUtils::isNull( QVariant )
This method restores the Qt 5 logic for testing for null variants,
where for core Qt types the isNull check is forwarded to the actual
data type.

E.g. on Qt 5:  QVariant( QDateTime()).isNull() is true, but
on Qt 6 it's false

This breaks a LOT of assumptions made throughout QGIS. The new
helper method avoids this breakage by ensuring we follow the Qt 5
logic also on Qt 6 builds, and also gives us the option to extend
this logic for user types (e.g QVariant( QgsGeometry() ).isNull() could
return true). (That's not included here)
2022-08-20 15:35:09 +10:00
Nyall Dawson
bc7b580a12 Deprecate the old test image anomaly system 2022-08-17 22:21:20 +10:00
Nyall Dawson
f9415af325 Add API to QgsProjectViewSettings to allow setting default map rotation
Provides a stable means for scripts to set the map rotation
2022-08-16 12:22:05 +10:00
Nyall Dawson
6b0ee5edb5 Add method to retrieve action by string instead of uuid
Required for qt 6 builds
2022-08-15 16:22:48 +10:00
Nyall Dawson
51e3c0833b Sip update 2022-08-12 20:36:07 +10:00
Nyall Dawson
33788b6cb4 Remove more old qt fallbacks 2022-08-12 20:36:07 +10:00
Nyall Dawson
94ea21764b Fix storing reference to feature which goes out of scope leads
to crashes in rule based renderer
2022-08-10 17:00:48 +10:00
Nyall Dawson
085aa726fd Add mechanism to flag that a render check is expected to fail 2022-08-10 08:46:34 +10:00
Zayne Tomlins
c7aa662662 Cleaned up docs 2022-08-10 08:04:42 +10:00
Nyall Dawson
b03f2cd024 [sip] Fix conversion of null QgsLayoutItem* pointer variant values
on newer qt/sip versions

This was incorrectly returning a malformed/semi-null QVariant
...something?!?

We probably need to add more cases here, but this one was directly
causing a test failure and so was easy to identify
2022-08-09 12:59:01 +10:00
Nyall Dawson
089be6f8ab Don't dump rendered images as base64 in logs anymore
We now have an alternative way to get rendered images (via the
artifacts), so we can massively reduce the size of logs by
avoiding this output
2022-08-08 09:28:56 +10:00
Nyall Dawson
c08cbfae4a Store test report as an artifact after running test workflow 2022-08-08 06:01:37 +10:00
Nyall Dawson
dea6f793b6 Put diff and rendered image for failing tests in a separate
qgis_test_report folder, and generate the failing test report
in that folder too
2022-08-08 06:01:37 +10:00
Nyall Dawson
ea41c3ded7 Sipify 2022-08-06 08:01:58 +10:00
bdm-oslandia
cbbf0b757e revert QgsLogger changes 2022-08-02 06:41:52 -07:00
bdm-oslandia
bc34c8fbd2 3DAxis: fix debug messages by adding trace macro and isTraceEnabled()/isDebugEnabled() functions 2022-08-02 06:41:52 -07:00
Nyall Dawson
fe7964bb1a Show sublayers in a tree, respecting schema/dataset groupings where known 2022-08-02 17:20:37 +10:00
Nyall Dawson
e9e6756c12 Add method to convert QgsProviderSublayerDetails to mime uris 2022-08-02 17:20:37 +10:00
Nyall Dawson
6522ef92a3 Rework QgsWeakRelation::resolvedRelation to instead return a list
of resolved relationships, so that it can handle resolving
a many-to-many weak relationship to two QgsRelations (which is
required to represent a many-to-many relationship using QgsRelation)
2022-08-02 15:44:40 +10:00
Nyall Dawson
7275fb2033 Also show a relationships item when expanding out tables for
tables which form the parent side of a relationship
2022-08-02 15:44:40 +10:00
Nyall Dawson
eeda423e5e Rework QgsWeakRelation so that it can losslessly represent many-to-many relations 2022-08-02 15:44:40 +10:00