124 Commits

Author SHA1 Message Date
Nyall Dawson
108934648f Add method to get list of supported related table types for a connection 2022-12-01 12:03:12 +10:00
Nyall Dawson
026f3cdf7b Add api to retrieve illegal field names via connections api 2022-12-01 06:56:24 +10:00
Nyall Dawson
7a3a57a562 Add API to retrieve relationship capabilities for a provider connection 2022-12-01 06:56:03 +10:00
Nyall Dawson
30899be07d Add update and delete relationship api 2022-11-30 11:27:37 +10:00
Nyall Dawson
ff3048d19a [api] Add method for creating relationship to QgsAbstractDatabaseProviderConnection
and implement for OGR provider when built on GDAL >= 3.6
2022-11-30 11:27:37 +10:00
Nyall Dawson
44361ba352 Add flag to opt into including system tables in QgsAbstractDatabaseProviderConnection tables listings 2022-11-29 10:20:46 +01:00
Alessandro Pasotti
cfe180fdfe Doxy 2022-11-07 18:35:23 +01:00
Alessandro Pasotti
9c2923aa1d Optionally load all stored styles from DB with correct names.
Fixes #37434

Funded by: Ministère des Forêts, de la Faune et des Parcs - Québec
2022-11-07 10:16:04 +01:00
Alessandro Pasotti
b7a608268c When the default style is read from the DB use its real name
Partial fix for 37434
2022-11-04 16:51:34 +01:00
Stefanos Natsis
ba97282dd0
Allow hiding empty layers in sublayers dialog (#49870)
* Sublayers dialog improvements

* added tests

* fix flake

* check against DisplayRole instead of EditRole
2022-10-21 10:53:49 +00:00
rldhont
0fc64b101a feat: Open layers in a read only mode with Qgis::ProjectReadFlag::ForceLayerReadOnly
In most cases of use of QGIS Server, it is not necessary to access the layers in write mode.
The read-only mode is sufficient.

We would like to introduce a new flag Qgis::ProjectReadFlag::ForceLayerReadOnly to
open layers in a read-only mode.
2022-09-12 09:17:02 +10: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
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
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
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
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
7236b50930 Add QgsAbstractDatabaseProviderConnection interface for retrieving relationships for a database 2022-08-02 15:44:40 +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
65f700e700 Use enum classes for ArcGIS REST service types for clarity 2022-07-21 06:46:31 +10:00
Nyall Dawson
aa9c6f60c6 Add method to convert field to JSON definition 2022-07-18 21:21:12 +10:00
Nyall Dawson
fe7407b29c Add more fine-grained control of what to include when converting
features to JSON
2022-07-18 21:21:12 +10:00
Nyall Dawson
6da633d998 Allow skipping of geometry in json 2022-07-18 21:21:12 +10:00
Nyall Dawson
7da574fe36 Add QgsAbstractDatabaseProviderConnection interface for renaming fields
And implement for OGR connections. Also expose the ability to rename
existing fields for supported database connections via browser.
2022-07-18 17:26:13 +10:00
Nyall Dawson
6fd8f424a2 Handle time zones 2022-07-16 16:46:44 +10:00
Nyall Dawson
300e2b2d89 Add method to convert QgsFeatures to ArcGIS REST representation 2022-07-16 16:46:44 +10:00
Nyall Dawson
9548e767c4 Add method to convert crs to ArcGIS REST JSON 2022-07-16 16:46:44 +10:00
Nyall Dawson
484bea7c34 Add API methods to convert QgsGeometry to an ArcGIS REST representation 2022-07-16 16:46:44 +10:00
Nyall Dawson
2321ba41ce Add interface for QgsProviderMetadata::createDatabase
Can be used on a supported provider to create a new empty database
at a specified URI.
2022-07-14 11:54:21 +10:00
Nyall Dawson
8dc9635dbc Only offer to create supported domain types 2022-07-13 06:44:58 +10:00
Nyall Dawson
221e63cdfa Add icon to QgsProviderMetada 2022-06-16 13:55:09 +10:00
Nyall Dawson
21479e0814 Add QgsProviderRegistry.providersForLayerType method to list all providers supporting a layer type 2022-06-15 15:04:05 +10:00
Nyall Dawson
fc9b6053cf Add QgsProviderMetadata::supportedLayerTypes() so that we can
query the layer types supported by a data provider
2022-06-15 15:04:05 +10:00
NEDJIMAbelgacem
f9a7094a9c Fix CI 2022-05-24 10:04:33 +02:00
NEDJIMAbelgacem
9d008c3de5 Address reviews and discussion 2022-05-24 10:04:33 +02:00
Julien Cabieces
fb50f69e2b other const methods 2022-04-29 08:21:47 +10:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00
Nyall Dawson
caee2cabbd Add Qgis::MapLayerProperty flag for layers which should be considered
as "basemap" layers

This flag identifies if the layer is considered a 'basemap' layer, where
certain properties of the layer should be ignored when calculating
project-level properties. For instance, the extent of basemap layers
should be ignored when calculating the overall extent of a project,
as these layers are typically global and extend outside of a project's
area of interest.
2022-02-24 16:20:51 +10:00
Nyall Dawson
c264eb50f5 Clarify removal 2022-02-20 06:48:03 +10:00
Nyall Dawson
063e059359 Add API to QgsAbstractDatabaseProviderConnection to create new field
domains on a database and set field domain associated with a field

And implement for OGR database provider connection class
2022-02-20 06:48:03 +10:00
Nyall Dawson
8036ea89ed Add API to retrieve field domain names and definitions to QgsAbstractDatabaseProviderConnection
and implement for GPKG connections
2022-02-20 06:48:03 +10:00
Nyall Dawson
6bd1a7eb7d Document new behaviour 2022-01-24 17:26:05 +10:00
Nyall Dawson
1be383a301 [api] Add QgsProviderMetadata method to test whether a style with
a specified ID already exists
2022-01-24 17:26:05 +10:00
Nyall Dawson
cddc522275 Deprecate older methods 2021-12-02 11:16:53 +10:00
Nyall Dawson
33a7bc7c18 Expose newer methods to Python 2021-12-02 11:16:53 +10:00
bdm-oslandia
61519ec834 remove dead code, fix comment, fixes from review
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2021-12-02 11:16:53 +10:00
bdm-oslandia
345dd4dd87 fix: replace referer http header by dedicated class QgsHttpHeader 2021-12-02 11:16:53 +10:00