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
Samweli
df3b3d122e
Added new logic for handling hiding of expression variables, this will help to have a clear way of not showing variables that are not needed anymore but they can break past QGIS projects if they are removed.
2022-08-31 10:42:01 +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
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
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
Nyall Dawson
ff6df1e89a
Add some methods to get translated strings for relationship enums
2022-08-02 15:44:40 +10:00
Nyall Dawson
c4cebde0f9
Add additional properties to QgsWeakRelation to match those available
...
through GDAL api
2022-08-02 15:44:40 +10:00
Nyall Dawson
6d65e4e450
Show existing relationships in browser when expanding datasources
2022-08-02 15:44:40 +10:00
Nyall Dawson
b46ef1fab0
Implement relationship retrieval for ogr provider connection
2022-08-02 15:44:40 +10:00
Nyall Dawson
7236b50930
Add QgsAbstractDatabaseProviderConnection interface for retrieving relationships for a database
2022-08-02 15:44:40 +10:00
Nyall Dawson
4981f1846f
Expose QgsWeakRelation to PyQGIS
2022-08-02 15:44:40 +10:00
Nyall Dawson
89c613a112
Move relationship enums to Qgis, promote to enum class
2022-08-02 15:44:40 +10:00
Nyall Dawson
26eaa24934
Restore QgsFeature equality operators in Python
...
These were (accidentally?) ommited in 9050cc14d, and then
incorrectly marked as sip_skip when sipify was first introduced
as a result
2022-08-01 16:56:48 +10:00
Nyall Dawson
810f021469
Handle schema names in table sources in QgsSqlStatementParser
2022-08-01 16:17:20 +10:00
Nyall Dawson
6dfa7e260c
Make provider connection multi type handling more granualar, and use
...
new API in GDAL 3.6 to determine whether or not the multi
linestring/polygon types should be exposed for new table creation
2022-08-01 13:18:58 +10:00
Nyall Dawson
4b8603748d
Fix build
2022-08-01 13:17:43 +10:00
Nyall Dawson
e7152239a1
Add method to retrieve root items from browser model
2022-08-01 13:17:43 +10:00
Nyall Dawson
460ac8b556
Ensure sort key is always correctly set for QgsDirectoryItem
2022-08-01 13:17:43 +10:00
Nyall Dawson
023c0e1cdf
Add method to split a path up to list of separate components
...
Suprisingly qt itself doesn't have a method for this!
2022-08-01 13:17:43 +10:00
Nyall Dawson
b5170c1af9
Fix doxygen test'
2022-08-01 12:37:35 +10:00
Nyall Dawson
618978d8b2
Add QgsFeature::isUnsetValue for testing whether an attribute is an unset value
2022-08-01 12:37:35 +10:00