23.1.2. Base de données

23.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).

23.1.2.1.1. Paramètres

Étiquette

Nom

Type

Description

Couche à importer

INPUT

[vector: any]

Couche vectorielle à ajouter à la base de données

Database (connection name)

DATABASE

[string]

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.

Schema (nom schema)

Optionnel

SCHEMA

[string]

Par defaut: “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

[string]

Par défaut: “”

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

Champ de clé primaire

Optionnel

PRIMARY_KEY

[tablefield: any]

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

[string]

Defaut: “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.

Codage

Optionnel

ENCODING

[string]

Default: “UTF-8”

Définit l’encodage de la couche de sortie

Écraser

OVERWRITE

[boolean]

Par défaut : Vrai

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

Créer un index spatial

CREATEINDEX

[boolean]

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

[boolean]

Par défaut : Vrai

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

Contrainte de longueur sur les champs caractère

DROP_STRING_LENGTH

[boolean]

Par défaut : Faux

Si les contraintes de longueur sur les champs de caractères doivent être supprimées ou non

Créez des géométries en une seule partie au lieu de plusieurs parties

FORCE_SINGLEPART

[boolean]

Par défaut : Faux

Les caractéristiques de la couche de sortie doivent-elles être en une seule partie plutôt qu’en plusieurs parties. Par défaut, les informations de géométries existantes sont conservées.

23.1.2.1.2. Sorties

L’algorithme n’a pas de sortie.

23.1.2.1.3. Code Python

Algorithm ID: qgis:importintopostgis

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

L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir :ref: processing_console pour plus de détails sur l’exécution d’algorithmes via la console Python.

23.1.2.2. Exporter vers SpatiaLite

Exporte une couche vectorielle vers une base de données SpatiaLite. Avant cela, une connexion entre QGIS et la base de données SpatiaLite doit être créée (voir par exemple Couches SpatiaLite).

23.1.2.2.1. Paramètres

Étiquette

Nom

Type

Description

Couche à importer

INPUT

[vector: any]

Couche vectorielle à ajouter à la base de données

Base de données de fichiers

DATABASE

[vector: any]

Le fichier de base de données SQLite / SpatiaLite auquel se connecter

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

Optionnel

TABLENAME

[string]

Par défaut: “”

Définit le 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

[tablefield: any]

Utiliser un champ dans la couche vectorielle d’entrée comme clé primaire

Colonne de géométrie

GEOMETRY_COLUMN

[string]

Defaut: “geom”

Définit le nom de la colonne de géométrie dans la nouvelle table SpatiaLite. Les informations de géométrie des entités sont stockées dans cette colonne.

Codage

Optionnel

ENCODING

[string]

Default: “UTF-8”

Définit l’encodage de la couche de sortie

Écraser

OVERWRITE

[boolean]

Par défaut : Vrai

Si la table spécifiée existe, la définition de cette option sur True garantira qu’elle est supprimée et une nouvelle table sera créée avant l’ajout des fonctionnalités de la couche. Si cette option est False et que la table existe, l’algorithme lèvera une exception (« la table existe déjà »).

Créer un index spatial

CREATEINDEX

[boolean]

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

[boolean]

Par défaut : Vrai

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

Contrainte de longueur sur les champs caractère

DROP_STRING_LENGTH

[boolean]

Par défaut : Faux

Si les contraintes de longueur sur les champs de caractères doivent être supprimées ou non

Créez des géométries en une seule partie au lieu de plusieurs parties

FORCE_SINGLEPART

[boolean]

Par défaut : Faux

Les caractéristiques de la couche de sortie doivent-elles être en une seule partie plutôt qu’en plusieurs parties. Par défaut, les informations de géométries existantes sont conservées.

23.1.2.2.2. Sorties

L’algorithme n’a pas de sortie.

23.1.2.2.3. Code Python

Algorithm ID: qgis:importintospatialite

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

L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir :ref: processing_console pour plus de détails sur l’exécution d’algorithmes via la console Python.

23.1.2.3. Couches de package

Ajoute des couches à un GeoPackage.

Si le GeoPackage existe et que Remplacer le GeoPackage existant est coché, il sera écrasé (supprimé et recréé). Si le GeoPackage existe et que Remplacer le GeoPackage existant n’est pas coché, la couche sera ajoutée.

23.1.2.3.1. Paramètres

Étiquette

Nom

Type

Description

Couches d’entrée

LAYERS

[vector: any] [list]

Les couches (vectorielles) à importer dans le GeoPackage. Les couches raster ne sont pas prises en charge. Si une couche raster est ajoutée, une QgsProcessingException sera levée.

Remplacer le GeoPackage existant

OVERWRITE

[boolean]

Par défaut : Faux

Si le GeoPackage spécifié existe, la définition de cette option sur True garantira qu’il est supprimé et qu’un nouveau sera créé avant l’ajout des couches S’il est réglé sur False, des couches seront ajoutés.

Enregistrez les styles de couche dans GeoPackage

SAVE_STYLES

[boolean]

Par défaut : Vrai

Enregistrez les styles de couche

Destination GeoPackage

OUTPUT

[file]

S’il n’est pas spécifié, le GeoPackage sera enregistré dans le dossier temporaire.

23.1.2.3.2. Sorties

Étiquette

Nom

Type

Description

Couches dans le nouveau package

OUTPUT_LAYERS

[string] [list]

La liste des couches ajoutées au GeoPackage.

23.1.2.3.3. Code Python

Algorithm ID: qgis:package

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

L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir :ref: processing_console pour plus de détails sur l’exécution d’algorithmes via la console Python.

23.1.2.4. PostgreSQL exécute et charge 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);
    

23.1.2.4.1. Paramètres

Étiquette

Nom

Type

Description

Database (connection name)

DATABASE

[string]

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

[string]

Définit la requête SQL, par exemple 'UPDATE my_table SET field = 10'.

Nom de champ ID unique

ID_FIELD

[string]

Default: id

Définit le champ de clé primaire (une colonne dans le tableau des résultats)

Nom du champ de géométrie

Optionnel

GEOMETRY_FIELD

[string]

Defaut: “geom”

Nom de la colonne de géométrie (une colonne dans la table des résultats)

23.1.2.4.2. Sorties

Étiquette

Nom

Type

Description

Couche SQL

OUTPUT

[vector: any]

La couche vectorielle résultante à charger dans QGIS.

23.1.2.4.3. Code Python

Algorithm ID: qgis:postgisexecuteandloadsql

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

L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir :ref: processing_console pour plus de détails sur l’exécution d’algorithmes via la console Python.

23.1.2.5. PostgreSQL exécute SQL

Permet d’effectuer une requête de base de données SQL sur une base de données PostgreSQL connectée à QGIS. 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);
    

23.1.2.5.1. Paramètres

Étiquette

Nom

Type

Description

Database (connection name)

DATABASE

[string]

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

[string]

Définit la requête SQL, par exemple 'UPDATE my_table SET field = 10'.

23.1.2.5.2. Sorties

Aucune sortie n’est créée. La requête SQL est exécutée sur place.

23.1.2.5.3. Code Python

Algorithm ID: qgis:postgisexecutesql

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

L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir :ref: processing_console pour plus de détails sur l’exécution d’algorithmes via la console Python.

23.1.2.6. SpatiaLite exécute SQL

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

Voir aussi

PostgreSQL exécute SQL, Exécuter SQL

Pour quelques exemples de requêtes SQL, voir PostGIS SQL Query Examples 1.

23.1.2.6.1. Paramètres

Étiquette

Nom

Type

Description

Base de données de fichiers

DATABASE

[vector]

Default: not set

Le fichier de base de données SQLite / SpatiaLite auquel se connecter

Requête SQL

SQL

[string]

Par défaut: “”

Définit la requête SQL, par exemple 'UPDATE my_table SET field = 10'.

23.1.2.6.2. Sorties

Aucune sortie n’est créée. La requête SQL est exécutée sur place.

23.1.2.6.3. Code Python

Algorithm ID: qgis:spatialiteexecutesql

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

L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir :ref: processing_console pour plus de détails sur l’exécution d’algorithmes via la console Python.