23.1.2. Database

23.1.2.1. Naar PostgreSQL exporteren

Exporteert een vectorlaag naar een database van PostgreSQL en maakt een nieuwe relatie. Als er al een relatie met dezelfde naam bestaat, kan die worden verwijderd voordat de nieuwe relatie wordt gemaakt. Hiervóór dient een verbinding te worden gemaakt tussen QGIS en de database van PostgreSQL (zie bijv. Een opgeslagen verbinding maken).

23.1.2.1.1. Parameters

Label

Naam

Type

Beschrijving

**Laag om te importeren*

INPUT

[vector: elke]

Aan de database toe te voegen vectorlaag

Database (naam verbinding)

DATABASE

[tekenreeks]

Naam van de verbinding van de database (niet de naam van de database). Bestaande verbindingen zullen worden weergegeven in het combinatievak.

Schema (naam schema)

Optioneel

SCHEMA

[tekenreeks]

Standaard: ‘public’

Naam van het schema waarin de gegevens moeten worden opgeslagen. Het mag een nieuw zijn of een reeds bestaand.

Tabel om naar te importeren (laat leeg om laagnaam te gebruiken)

Optioneel

TABLENAME

[tekenreeks]

Standaard: ‘’

Definieert een tabelnaam voor het geïmporteerde vectorbestand. Als niets wordt toegevoegd zal de laagnaam worden gebruikt.

Veld Primaire sleutel

Optioneel

PRIMARY_KEY

[tabelveld: elk]

Stelt het veld voor de Primaire sleutel in vanuit een bestaand veld in de vectorlaag. Een kolom met unieke waarden kan als primaire sleutel voor de database worden gebruikt.

Geometriekolom

GEOMETRY_COLUMN

[tekenreeks]

Standaard: ‘geom’

Definieert de naam van de geometriekolom in de nieuwe tabel van PostGIS. Informatie over de geometrie voor de objecten is in deze kolom opgeslagen.

Codering

Optioneel

ENCODING

[tekenreeks]

Standaard: ‘UTF-8’

Definieert de codering voor de uitvoerlaag

Overschrijven

OVERWRITE

[Booleaanse waarde]

Standaard: True

Als de gespecificeerde tabel bestaat, zal het instellen van deze optie op True er voor zorgen dat die wordt verwijderd en een nieuwe tabel zal worden gemaakt voordat de objecten worden toegevoegd. Als deze optie False is en de tabel bestaat, zal het algoritme een uitzondering opwerpen (“relation already exists”).

Ruimtelijke index maken

CREATEINDEX

[Booleaanse waarde]

Standaard: True

Specificeert of een ruimtelijke index moet worden gemaakt of niet

Veldnamen naar kleine letters converteren

LOWERCASE_NAMES

[Booleaanse waarde]

Standaard: True

Converteert de veldnamen van de invoer vectorlaag naar kleine letters

Beperkingen voor lengte op velden voor tekens verwijderen

DROP_STRING_LENGTH

[Booleaanse waarde]

Standaard: False

Of de beperkingen van lengten voor velden met tekens moeten worden verwijderd of niet

Enkeldelige geometrieën maken in plaats van meerdelige

FORCE_SINGLEPART

[Booleaanse waarde]

Standaard: False

Of de objecten van de geladen laag een enkel deel zouden moeten zijn in plaats van meerdere delen. Standaard wordt de bestaande informatie voor geometrieën behouden.

23.1.2.1.2. Uitvoer

Het algoritme heeft geen uitvoer.

23.1.2.1.3. Pythoncode

ID algoritme: qgis:importintopostgis

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

Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmen gebruiken vanaf de console voor details over hoe algoritmen van Processing uit te voeren vanuit de console voor Python.

23.1.2.2. Naar SpatiaLite exporteren

Exporteert een vectorlaag naar een database van SpatiaLite. Hiervóór dient een verbinding te worden gemaakt tussen QGIS en de database van SpatiaLite (zie bijv. SpatiaLite-lagen).

23.1.2.2.1. Parameters

Label

Naam

Type

Beschrijving

**Laag om te importeren*

INPUT

[vector: elke]

Aan de database toe te voegen vectorlaag

Bestandsdatabase

DATABASE

[vector: elke]

De database van SQLite/SpatiaLite waarmee moet worden verbonden

Tabel om naar te importeren (laat leeg om laagnaam te gebruiken)

Optioneel

TABLENAME

[tekenreeks]

Standaard: ‘’

Definieert een tabelnaam voor het geïmporteerde vectorbestand. Als niets wordt gespecificeerd zal de laagnaam worden gebruikt.

Veld Primaire sleutel

Optioneel

PRIMARY_KEY

[tabelveld: elk]

Gebruik een veld in de invoer vectorlaag als de primaire sleutel

Geometriekolom

GEOMETRY_COLUMN

[tekenreeks]

Standaard: ‘geom’

Definieert de naam van de geometriekolom in de nieuwe tabel van SpatiaLite. Informatie over de geometrie voor de objecten is in deze kolom opgeslagen.

Codering

Optioneel

ENCODING

[tekenreeks]

Standaard: ‘UTF-8’

Definieert de codering voor de uitvoerlaag

Overschrijven

OVERWRITE

[Booleaanse waarde]

Standaard: True

Als de gespecificeerde tabel bestaat, zal het instellen van deze optie op True er voor zorgen dat die wordt verwijderd en een nieuwe tabel zal worden gemaakt voordat de objecten worden toegevoegd. Als deze optie False is en de tabel bestaat, zal het algoritme een uitzondering opwerpen (“table already exists”).

Ruimtelijke index maken

CREATEINDEX

[Booleaanse waarde]

Standaard: True

Specificeert of een ruimtelijke index moet worden gemaakt of niet

Veldnamen naar kleine letters converteren

LOWERCASE_NAMES

[Booleaanse waarde]

Standaard: True

Converteer de veldnamen van de invoer vectorlaag naar kleine letters

Beperkingen voor lengte op velden voor tekens verwijderen

DROP_STRING_LENGTH

[Booleaanse waarde]

Standaard: False

Of de beperkingen van lengten voor velden met tekens moeten worden verwijderd of niet

Enkeldelige geometrieën maken in plaats van meerdelige

FORCE_SINGLEPART

[Booleaanse waarde]

Standaard: False

Of de objecten van de geladen laag een enkel deel zouden moeten zijn in plaats van meerdere delen. Standaard wordt de bestaande informatie voor geometrieën behouden.

23.1.2.2.2. Uitvoer

Het algoritme heeft geen uitvoer.

23.1.2.2.3. Pythoncode

ID algoritme: qgis:importintospatialite

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

Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmen gebruiken vanaf de console voor details over hoe algoritmen van Processing uit te voeren vanuit de console voor Python.

23.1.2.3. Pakketlagen

Lagen toevoegen aan een GeoPackage.

Als het GeoPackage bestaat en Bestaand GeoPackage overschrijven is geselecteerd, zal het worden overschreven (verwijderd en opnieuw gemaakt). Als het GeoPackage bestaat en Bestaand GeoPackage overschrijven is niet geselecteerd, zal de laag worden toegevoegd.

23.1.2.3.1. Parameters

Label

Naam

Type

Beschrijving

Invoerlagen

LAYERS

[vector: elke][lijst]

De (vector)lagen die moeten worden geïmporteerd in het GeoPackage. Rasterlagen worden niet ondersteund. Als een rasterlaag wordt toegevoegd, zal een QgsProcessingException worden opgeworpen.

Bestaande GeoPackage overschrijven

OVERWRITE

[Booleaanse waarde]

Standaard: False

Als het gespecificeerde GeoPackage bestaat, zal het instellen van deze optie op True er voor zorgen dat die wordt verwijderd en dat een nieuw zal worden gemaakt voordat de lagen worden toegevoegd. Indien ingesteld op False, zullen de lagen worden toegevoegd.

Laagstijlen opslaan in GeoPackage

SAVE_STYLES

[Booleaanse waarde]

Standaard: True

Sla de laagstijlen op

Doel GeoPackage

OUTPUT

[bestand]

Indien niet gespecificeerd zal de database van GeoPackage worden opgeslagen in de tijdelijke map.

23.1.2.3.2. Uitvoer

Label

Naam

Type

Beschrijving

Lagen in nieuwe pakket

OUTPUT_LAYERS

[tekenreeks] [lijst]

Lijst met toegevoegde lagen aan het GeoPackage.

23.1.2.3.3. Pythoncode

ID algoritme: qgis:package

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

Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmen gebruiken vanaf de console voor details over hoe algoritmen van Processing uit te voeren vanuit de console voor Python.

23.1.2.4. PostgreSQL uitvoeren en SQL laden

Maakt het mogelijk dat een query voor een database van SQL wordt uitgevoerd op een database van PostgreSQL die is verbonden met QGIS en laadt het resultaat. Het algoritme zal geen nieuwe laag maken: het is ontworpen om query’s op de laag zelf uit te voeren.

Voorbeeld

  1. Stel alle waarden van een bestaand veld in op een vaste waarde. De tekenreeks voor de query van SQL is dan:

    UPDATE your_table SET field_to_update=20;
    

    In het voorbeeld hierboven zullen de waarden van het veld field_to_update van de tabel your_table allemaal worden ingesteld op 20.

  2. Maak een nieuwe kolom area en bereken het gebied van elk object met de functie van 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. Parameters

Label

Naam

Type

Beschrijving

Database (naam verbinding)

DATABASE

[tekenreeks]

De verbinding van de database (niet de naam van de database). Bestaande verbindingen zullen worden weergegeven in het combinatievak.

SQL-query

SQL

[tekenreeks]

Definieert de query voor SQL, bijvoorbeeld 'UPDATE my_table SET field=10'.

Naam unieke ID-veld

ID_FIELD

[tekenreeks]

Standaard: id

Stelt het veld voor de Primaire sleutel in (een kolom in de tabel met resultaten)

Naam geometrieveld

Optioneel

GEOMETRY_FIELD

[tekenreeks]

Standaard: ‘geom’

Naam van de geometriekolom (een kolom in de tabel met resultaten)

23.1.2.4.2. Uitvoer

Label

Naam

Type

Beschrijving

SQL-laag

OUTPUT

[vector: elke]

De resulterende vectorlaag die moet worden geladen QGIS.

23.1.2.4.3. Pythoncode

ID algoritme: qgis:postgisexecuteandloadsql

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

Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmen gebruiken vanaf de console voor details over hoe algoritmen van Processing uit te voeren vanuit de console voor Python.

23.1.2.5. PostgreSQL SQL uitvoeren

Maakt het mogelijk dat een query voor een database van SQL wordt uitgevoerd op een database van PostgreSQL die is verbonden met QGIS. Het algoritme zal geen nieuwe laag maken: het is ontworpen om query’s op de laag zelf uit te voeren.

Voorbeeld

  1. Stel alle waarden van een bestaand veld in op een vaste waarde. De tekenreeks voor de query van SQL is dan:

    UPDATE your_table SET field_to_update=20;
    

    In het voorbeeld hierboven zullen de waarden van het veld field_to_update van de tabel your_table allemaal worden ingesteld op 20.

  2. Maak een nieuwe kolom area en bereken het gebied van elk object met de functie van 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. Parameters

Label

Naam

Type

Beschrijving

Database (naam verbinding)

DATABASE

[tekenreeks]

De verbinding van de database (niet de naam van de database). Bestaande verbindingen zullen worden weergegeven in het combinatievak.

SQL-query

SQL

[tekenreeks]

Definieert de query voor SQL, bijvoorbeeld 'UPDATE my_table SET field=10'.

23.1.2.5.2. Uitvoer

Uitvoer wordt niet gemaakt. De query voor SQL wordt ter plaatse op de laag uitgevoerd.

23.1.2.5.3. Pythoncode

ID algoritme: qgis:postgisexecutesql

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

Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmen gebruiken vanaf de console voor details over hoe algoritmen van Processing uit te voeren vanuit de console voor Python.

23.1.2.6. SpatiaLite SQL uitvoeren

Maakt het mogelijk dat een query voor een database van SQL wordt uitgevoerd op een database van SpatiaLite die is verbonden met QGIS. Het algoritme zal geen nieuwe laag maken: het is ontworpen om query’s op de laag zelf uit te voeren.

Zie ook

PostgreSQL SQL uitvoeren, SQL uitvoeren

Voor enkele voorbeelden van query’s voor SQL, zie PostGIS SQL Query Examples.

23.1.2.6.1. Parameters

Label

Naam

Type

Beschrijving

Bestandsdatabase

DATABASE

[vector]

Standaard: niet ingesteld

De database van SQLite/SpatiaLite waarmee moet worden verbonden

SQL-query

SQL

[tekenreeks]

Standaard: ‘’

Definieert de query voor SQL, bijvoorbeeld 'UPDATE my_table SET field=10'.

23.1.2.6.2. Uitvoer

Uitvoer wordt niet gemaakt. De query voor SQL wordt ter plaatse op de laag uitgevoerd.

23.1.2.6.3. Pythoncode

ID algoritme: qgis:spatialiteexecutesql

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

Het ID voor het algoritme wordt weergegeven als u over het algoritme gaat met de muisaanwijzer in de Toolbox van Processing. Het woordenboek voor de parameters verschaft de NAME’s en waarden van de parameters. Bekijk Processing algoritmen gebruiken vanaf de console voor details over hoe algoritmen van Processing uit te voeren vanuit de console voor Python.