27.1.2. Base de données

27.1.2.1. Exporter vers PostgreSQL

Exporte une couche vectorielle vers une base de données PostgreSQL, créant une nouvelle relation. Si une relation du même nom existe, elle peut être supprimée avant la création de la nouvelle relation. Avant cela, une connexion entre QGIS et la base de données PostgreSQL doit être créée (voir par exemple Créer une connexion à enregistrer).

Paramètres

Étiquette

Nom

Type

Description

Couche à importer

INPUT

[vecteur : tout type]

Couche vectorielle à ajouter à la base de données

Base de données (nom de la connexion)

DATABASE

[Chaîne de caractères]

Nom de la connexion à la base de données (pas le nom de la base de données). Les connexions existantes seront affichées dans la zone de liste déroulante.

Schéma (nom du schéma)

Optionnel

SCHEMA

[Chaîne de caractères]

Par défaut : “public”

Nom du schéma pour stocker les données. Il peut être nouveau ou déjà exister.

Table vers laquelle importer (laisser vide pour utiliser le nom de la couche)

Optionnel

TABLENAME

[Chaîne de caractères]

Par défaut : “”

Définit un nom de table pour le fichier vectoriel importé. Si rien n’est spécifié, le nom de la couche sera utilisé.

Champ de clé primaire

Optionnel

PRIMARY_KEY

[champ : tout type]

Définit le champ de clé primaire à partir d’un champ existant dans la couche vectorielle. Une colonne avec des valeurs uniques peut être utilisée comme clé primaire pour la base de données.

Colonne de géométrie

GEOMETRY_COLUMN

[Chaîne de caractères]

Par défaut : “geom”

Définit le nom de la colonne géométrique dans la nouvelle table PostGIS. L’information géométrique des entités est enregistrée dans cette colonne.

Encodage

Optionnel

ENCODING

[Chaîne de caractères]

Par défaut : “UTF-8”

Définit l’encodage de la couche de sortie

Écraser

OVERWRITE

[booléen]

Par défaut : Vrai

Si la table spécifiée existe, la définition de cette option sur True (cochée) entraînera sa suppression et une nouvelle table sera créée avant l’ajout des entités. Si cette option est False (décochée) et que la table existe, l’algorithme lèvera une exception (« la relation existe déjà »).

Créer un index spatial

CREATEINDEX

[booléen]

Par défaut : Vrai

Spécifie s’il faut créer un index spatial ou non

Convertir les noms de champs en minuscules

LOWERCASE_NAMES

[booléen]

Par défaut : Vrai

Convertit les noms de champ de la couche vectorielle d’entrée en minuscules

Drop length constraint on character fields

DROP_STRING_LENGTH

[booléen]

Par défaut : Faux

Should length constraints on character fields be dropped or not

Create single-part geometries instead of multi-part

FORCE_SINGLEPART

[booléen]

Par défaut : Faux

Should the features of the output layer be single-part instead of multi-part. By default the existing geometries information are preserved.

Outputs

The algorithm has no output.

Code Python

ID de l’algorithme : qgis:importintopostgis

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.

27.1.2.2. Export to SpatiaLite

Exports a vector layer to a SpatiaLite database. Prior to this a connection between QGIS and the SpatiaLite database has to be created (see eg Couches SpatiaLite).

Paramètres

Étiquette

Nom

Type

Description

Couche à importer

INPUT

[vecteur : tout type]

Couche vectorielle à ajouter à la base de données

File database

DATABASE

[vecteur : tout type]

The SQLite/SpatiaLite database file to connect to

Table vers laquelle importer (laisser vide pour utiliser le nom de la couche)

Optionnel

TABLENAME

[Chaîne de caractères]

Par défaut : “”

Defines the table name for the imported vector file. If nothing is specified, the layer name will be used.

Champ de clé primaire

Optionnel

PRIMARY_KEY

[champ : tout type]

Use a field in the input vector layer as the primary key

Colonne de géométrie

GEOMETRY_COLUMN

[Chaîne de caractères]

Par défaut : “geom”

Defines the name of the geometry column in the new SpatiaLite table. Geometry information for the features is stored in this column.

Encodage

Optionnel

ENCODING

[Chaîne de caractères]

Par défaut : “UTF-8”

Définit l’encodage de la couche de sortie

Écraser

OVERWRITE

[booléen]

Par défaut : Vrai

If the specified table exists, setting this option to True will make sure that it is deleted and a new table will be created before the features of the layer is added. If this option is False and the table exists, the algorithm will throw an exception (« table already exists »).

Créer un index spatial

CREATEINDEX

[booléen]

Par défaut : Vrai

Spécifie s’il faut créer un index spatial ou non

Convertir les noms de champs en minuscules

LOWERCASE_NAMES

[booléen]

Par défaut : Vrai

Convert the field names of the input vector layer to lowercase

Drop length constraint on character fields

DROP_STRING_LENGTH

[booléen]

Par défaut : Faux

Should length constraints on character fields be dropped or not

Create single-part geometries instead of multi-part

FORCE_SINGLEPART

[booléen]

Par défaut : Faux

Should the features of the output layer be single-part instead of multi-part. By default the existing geometries information are preserved.

Outputs

The algorithm has no output.

Code Python

Algorithm ID: qgis:importintospatialite

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.

27.1.2.3. Package layers

Adds layers to a GeoPackage.

If the GeoPackage exists and Overwrite existing GeoPackage is checked, it will be overwritten (removed and recreated). If the GeoPackage exists and Overwrite existing GeoPackage is not checked, the layer will be appended.

Paramètres

Étiquette

Nom

Type

Description

Input layers

LAYERS

[vector: any] [list]

The (vector) layers to import into the GeoPackage. Raster layers are not supported. If a raster layer is added, a QgsProcessingException will be thrown.

Overwrite existing GeoPackage

OVERWRITE

[booléen]

Par défaut : Faux

If the specified GeoPackage exists, setting this option to True will make sure that it is deleted and a new one will be created before the layers are added. If set to False, layers will be appended.

Save layer styles into GeoPackage

SAVE_STYLES

[booléen]

Par défaut : Vrai

Save the layer styles

Save only selected features

SELECTED_FEATURES_ONLY

[booléen]

Par défaut : Faux

If a layer has a selection, setting this option to True will result in only selected features being saved. For layers without a selection all features will be saved.

Exporter les couches liées par les relations définies dans le projet

NEW in 3.28

EXPORT_RELATED_LAYERS

[booléen]

Par défaut : Faux

Lorsqu’une couche en entrée a des relations définies dans le projet, mettre cette option à VRAI (cochée) entraînera l’export des couches liées. Si la couche a des entités sélectionnées, seules leurs entités liées seront exportées, à moins que la couche liée ne fasse elle aussi déjà partie de la liste des couches à exporter.

Destination GeoPackage

OUTPUT

[file]

Par défaut : [Enregistrer dans un fichier temporaire]

Specify where to store the GeoPackage file. One of

  • Save to a Temporary File

  • Save to File…

Outputs

Étiquette

Nom

Type

Description

Layers within new package

OUTPUT_LAYERS

[string] [list]

The list of layers added to the GeoPackage.

Code Python

Algorithm ID: native:package

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.

27.1.2.4. PostgreSQL execute and load SQL

Permet d’effectuer une requête de base de données SQL sur une base de données PostgreSQL connectée à QGIS et de charger le résultat. L’algorithme ne va pas créer une nouvelle couche : il est conçu pour exécuter des requêtes sur la couche elle-même.

Exemple

  1. Définissez toutes les valeurs d’un champ existant sur une valeur fixe. La chaîne de requête SQL sera:

    UPDATE your_table SET field_to_update=20;
    

    Dans l’exemple ci-dessus, les valeurs du champ field_to_update de la table your_table seront toutes définies sur 20.

  2. Créez une nouvelle colonne surface et calculez la surface de chaque entité avec la fonction PostGIS ST_AREA.

    -- Create the new column "area" on the table your_table"
    ALTER TABLE your_table ADD COLUMN area double precision;
    -- Update the "area" column and calculate the area of each feature:
    UPDATE your_table SET area=ST_AREA(geom);
    

Paramètres

Étiquette

Nom

Type

Description

Base de données (nom de la connexion)

DATABASE

[Chaîne de caractères]

La connexion à la base de données (pas le nom de la base de données). Les connexions existantes seront affichées dans la zone de liste déroulante.

Requête SQL

SQL

[Chaîne de caractères]

Defines the SQL query, for example 'UPDATE my_table SET field=10'.

Unique ID field name

ID_FIELD

[Chaîne de caractères]

Par défaut : id

Sets the primary key field (a column in the result table)

Geometry field name

Optionnel

GEOMETRY_FIELD

[Chaîne de caractères]

Par défaut : “geom”

Name of the geometry column (a column in the result table)

Outputs

Étiquette

Nom

Type

Description

SQL layer

OUTPUT

[vecteur : tout type]

The resulting vector layer to be loaded into QGIS.

Code Python

Algorithm ID: qgis:postgisexecuteandloadsql

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.

27.1.2.5. PostgreSQL execute SQL

Allows a SQL database query to be performed on a PostgreSQL database connected to QGIS. The algorithm won’t create a new layer: it is designed to run queries on the layer itself.

Exemple

  1. Définissez toutes les valeurs d’un champ existant sur une valeur fixe. La chaîne de requête SQL sera:

    UPDATE your_table SET field_to_update=20;
    

    Dans l’exemple ci-dessus, les valeurs du champ field_to_update de la table your_table seront toutes définies sur 20.

  2. Créez une nouvelle colonne surface et calculez la surface de chaque entité avec la fonction PostGIS ST_AREA.

    -- Create the new column "area" on the table your_table"
    ALTER TABLE your_table ADD COLUMN area double precision;
    -- Update the "area" column and calculate the area of each feature:
    UPDATE your_table SET area=ST_AREA(geom);
    

Paramètres

Étiquette

Nom

Type

Description

Base de données (nom de la connexion)

DATABASE

[Chaîne de caractères]

La connexion à la base de données (pas le nom de la base de données). Les connexions existantes seront affichées dans la zone de liste déroulante.

Requête SQL

SQL

[Chaîne de caractères]

Defines the SQL query, for example 'UPDATE my_table SET field=10'.

Outputs

No output is created. The SQL query is executed in place.

Code Python

ID de l’algorithme : native:postgisexecutesql

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.

27.1.2.6. SpatiaLite execute SQL

Allows a SQL database query to be performed on a SpatiaLite database. The algorithm won’t create a new layer: it is designed to run queries on the layer itself.

Voir aussi

PostgreSQL execute SQL, Exécuter SQL

For some SQL query examples see PostGIS SQL Query Examples.

Paramètres

Étiquette

Nom

Type

Description

File Database

DATABASE

[vecteur]

The SQLite/SpatiaLite database file to connect to

Requête SQL

SQL

[Chaîne de caractères]

Par défaut : “”

Defines the SQL query, for example 'UPDATE my_table SET field=10'.

Outputs

No output is created. The SQL query is executed in place.

Code Python

ID de l’algorithme : native:spatialiteexecutesql

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.

27.1.2.7. SpatiaLite execute SQL (registered DB)

Allows a SQL database query to be performed on a SpatiaLite database connected to QGIS. The algorithm won’t create a new layer: it is designed to run queries on the layer itself.

Voir aussi

PostgreSQL execute SQL, Exécuter SQL

For some SQL query examples see PostGIS SQL Query Examples.

Paramètres

Étiquette

Nom

Type

Description

Base de données

DATABASE

[énumeration]

Par défaut : Non défini

Select a SQLite/SpatiaLite database connected to the current session

Requête SQL

SQL

[Chaîne de caractères]

Par défaut : “”

Defines the SQL query, for example 'UPDATE my_table SET field=10'.

Outputs

No output is created. The SQL query is executed in place.

Code Python

Algorithm ID: native:spatialiteexecutesqlregistered

import processing
processing.run("algorithm_id", {parameter_dictionary})

The algorithm id is displayed when you hover over the algorithm in the Processing Toolbox. The parameter dictionary provides the parameter NAMEs and values. See Utiliser les algorithmes du module de traitements depuis la console Python for details on how to run processing algorithms from the Python console.