27.1.2. Database

27.1.2.1. Esportare in PostgreSQL

Esporta un layer vettoriale in un database PostgreSQL, creando una nuova relazione. Se esiste una relazione con lo stesso nome, può essere rimossa prima che venga creata la nuova relazione. Prima di ciò è necessario creare una connessione tra QGIS e il database PostgreSQL (vedere ad esempio Creazione della connessione).

Parameters

Label

Name

Type

Description

Layer da importare

INPUT

[vector: any]

Layer vettoriale da aggiungere al database

Database (nome connessione)

DATABASE

[string]

Nome della connessione al database (non il nome del database). Le connessioni esistenti saranno visualizzate nella casella combinata.

Schema (nome schema)

Opzionale

SCHEMA

[string]

Predefinito: “public”

Nome dello schema in cui memorizzare i dati. Può essere nuovo o già esistente.

Tabella in cui importare (lasciare vuoto per usare il nome del layer)

Opzionale

TABLENAME

[string]

Predefinito: “”

Definisce un nome di tabella per il file vettoriale importato. Se non viene aggiunto nulla, verrà utilizzato il nome del layer.

Campo chiave primaria

Opzionale

PRIMARY_KEY

[tablefield: any]

Imposta il campo chiave primaria da un campo esistente nel layer vettoriale. Una colonna con valori univoci può essere usata come chiave primaria per il database.

Colonna geometria

GEOMETRY_COLUMN

[string]

Predefinito: “geom”

Definisce il nome della colonna geometria nella nuova tabella PostGIS. Le informazioni sulla geometria degli elementi sono memorizzate in questa colonna.

Codifica

Opzionale

ENCODING

[string]

Predefinito: “UTF-8”

Definisce la codifica del layer in uscita

Sovrascrittura

OVERWRITE

[boolean]

Predefinito: True

Se la tabella specificata esiste, impostando questa opzione a True ci si assicurerà che venga cancellata e che venga creata una nuova tabella prima che vengano aggiunti gli elementi. Se questa opzione è False e la tabella esiste, l’algoritmo segnalerà un’eccezione («relazione già esistente»).

Creare un indice spaziale

CREATEINDEX

[boolean]

Predefinito: True

Specifica se creare o meno un indice spaziale.

Convertire i nomi dei campi in minuscolo

LOWERCASE_NAMES

[boolean]

Predefinito: True

Converte i nomi dei campi del layer vettoriale in ingresso in minuscolo

Rimuovere il vincolo di lunghezza su campi carattere

DROP_STRING_LENGTH

[boolean]

Predefinito: False

I vincoli di lunghezza sui campi carattere dovrebbero essere eliminati o no

Creare geometrie a una parte invece che a parti multiple

FORCE_SINGLEPART

[boolean]

Predefinito: False

Gli elementi del layer in uscita devono essere a parte singola invece che a parti multiple. Per impostazione predefinita le informazioni sulle geometrie esistenti sono conservate.

In uscita

L’algoritmo non ha risultati in uscita.

Codice Python

ID Algoritmo: qgis:importintopostgis

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.

27.1.2.2. Esporta in SpatiaLite

Esporta un layer vettoriale in un database SpatiaLite. Prima di questo deve essere creata una connessione tra QGIS e il database SpatiaLite (vedi ad esempio Layer SpatiaLite).

Parameters

Label

Name

Type

Description

Layer da importare

INPUT

[vector: any]

Layer vettoriale da aggiungere al database

File del database

DATABASE

[vector: any]

Il file del database SQLite/SpatiaLite a cui connettersi

Tabella in cui importare (lasciare vuoto per usare il nome del layer)

Opzionale

TABLENAME

[string]

Predefinito: “”

Definisci il nome della tabella per il file vettoriale importato. Se non viene specificato nulla, verrà utilizzato il nome del layer.

Campo chiave primaria

Opzionale

PRIMARY_KEY

[tablefield: any]

Usa un campo nel layer del vettore in ingresso come chiave primaria

Colonna geometria

GEOMETRY_COLUMN

[string]

Predefinito: “geom”

Definisce il nome della colonna geometria nella nuova tabella SpatiaLite. Le informazioni sulla geometria per gli elementi sono memorizzate in questa colonna.

Codifica

Opzionale

ENCODING

[string]

Predefinito: “UTF-8”

Definisce la codifica del layer in uscita

Sovrascrittura

OVERWRITE

[boolean]

Predefinito: True

Se la tabella specificata esiste, impostando questa opzione a True ci si assicura che venga cancellata e che venga creata una nuova tabella prima che vengano aggiunti gli elementi del layer. Se questa opzione è False e la tabella esiste, l’algoritmo segnalerà un’eccezione («la tabella esiste già»).

Creare un indice spaziale

CREATEINDEX

[boolean]

Predefinito: True

Specifica se creare o meno un indice spaziale.

Convertire i nomi dei campi in minuscolo

LOWERCASE_NAMES

[boolean]

Predefinito: True

Converte i nomi campo del layer vettoriale in ingresso in minuscolo

Rimuovere il vincolo di lunghezza su campi carattere

DROP_STRING_LENGTH

[boolean]

Predefinito: False

I vincoli di lunghezza sui campi carattere dovrebbero essere eliminati o no

Creare geometrie a una parte invece che a parti multiple

FORCE_SINGLEPART

[boolean]

Predefinito: False

Gli elementi del layer in uscita devono essere a parte singola invece che a parti multiple. Per impostazione predefinita le informazioni sulle geometrie esistenti sono conservate.

In uscita

L’algoritmo non ha risultati in uscita.

Codice Python

ID Algoritmo: qgis:importintospatialite

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.

27.1.2.3. Impacchettare layer

Aggiungere layer a un GeoPackage.

Se il GeoPackage esiste e Sovrascrivi il GeoPackage esistente è spuntato, sarà sovrascritto (rimosso e ricreato). Se il GeoPackage esiste e Sovrascrivi GeoPacchetto esistente non è selezionato, il layer verrà aggiunto.

Parameters

Label

Name

Type

Description

Layer in ingresso

LAYERS

[vector: any] [list]

I layer (vettoriali) da importare nel GeoPackage. I layer raster non sono supportati. Se viene aggiunto un layer raster, verrà lanciata una QgsProcessingException.

Sovrascrivere GeoPackage esistenti

OVERWRITE

[boolean]

Predefinito: False

Se il GeoPackage specificato esiste, impostando questa opzione a True farà in modo che venga cancellato e che ne venga creato uno nuovo prima che vengano aggiunti i layer. Se impostata a False, i layer saranno aggiunti.

Salvare stile layer in un GeoPackage

SAVE_STYLES

[boolean]

Predefinito: True

Salva gli stili del layer

Salva solo gli elementi selezionati

SELECTED_FEATURES_ONLY

[boolean]

Predefinito: False

Se un layer ha una selezione, impostando questa opzione su True verranno salvate solo gli elementi selezionati. Per i layer senza una selezione, verranno salvati tutti gli elementi.

Esportazione dei layer associati in base alle relazioni definite nel progetto

NEW in 3.28

EXPORT_RELATED_LAYERS

[boolean]

Predefinito: False

Se un layer di input ha relations impostato nel progetto, impostando questa opzione a True si esporteranno anche i suoi layer associati. Se il layer ha elementi selezionati, verranno esportati solo gli elementi associati, a meno che il layer associato non sia anch’esso un layer di input.

GeoPackage di destinazione

OUTPUT

[file]

Predefinito: [Save to temporary file]

Specifica dove memorizzare il file del GeoPackage. Uno di

  • Salva come File Temporaneo

  • Salva su File…

In uscita

Label

Name

Type

Description

Layer all’interno del nuovo package

OUTPUT_LAYERS

[string] [list]

L’elenco dei layer aggiunti al GeoPackage.

Codice Python

ID Algoritmo: native:package

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.

27.1.2.4. Esegui PostgreSQL e carica SQL

Permette di eseguire una query di database SQL su un database PostgreSQL collegato a QGIS e carica il risultato. L’algoritmo non creerà un nuovo layer: è progettato per eseguire query sul layer stesso.

Esempio

  1. Imposta tutti i valori di un campo esistente ad un valore fisso. La stringa della query SQL sarà:

    UPDATE your_table SET field_to_update=20;
    

    Nell’esempio precedente, i valori del campo field_to_update della tabella your_table saranno tutti impostati a 20.

  2. Crea una nuova colonna area e calcola l’area di ogni elemento con la funzione ST_AREA PostGIS.

    -- 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);
    

Parameters

Label

Name

Type

Description

Database (nome connessione)

DATABASE

[string]

La connessione al database (non il nome del database). Le connessioni esistenti saranno mostrate nel menu a tendina.

Interrogazione SQL

SQL

[string]

Definisci la query SQL, per esempio `` UPDATE my_table SET field=10”``.

Nome del campo con ID univoco

ID_FIELD

[string]

Predefinito: id

Imposta il campo chiave primaria (una colonna nella tabella risultato)

Nome campo geometria

Opzionale

GEOMETRY_FIELD

[string]

Predefinito: “geom”

Nome della colonna geometria (una colonna nella tabella risultato)

In uscita

Label

Name

Type

Description

SQL layer

OUTPUT

[vector: any]

Il layer vettoriale risultante da caricare in QGIS.

Codice Python

ID Algoritmo: qgis:postgisexecuteandloadsql

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.

27.1.2.5. Esegui SQL PostgreSQL

Permette di eseguire una query di database SQL su un database PostgreSQL collegato a QGIS. L’algoritmo non creerà un nuovo layer: è progettato per eseguire query sul layer stesso.

Esempio

  1. Imposta tutti i valori di un campo esistente ad un valore fisso. La stringa della query SQL sarà:

    UPDATE your_table SET field_to_update=20;
    

    Nell’esempio precedente, i valori del campo field_to_update della tabella your_table saranno tutti impostati a 20.

  2. Crea una nuova colonna area e calcola l’area di ogni elemento con la funzione ST_AREA PostGIS.

    -- 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);
    

Parameters

Label

Name

Type

Description

Database (nome connessione)

DATABASE

[string]

La connessione al database (non il nome del database). Le connessioni esistenti saranno mostrate nel menu a tendina.

Interrogazione SQL

SQL

[string]

Definisci la query SQL, per esempio `` UPDATE my_table SET field=10”``.

In uscita

Non viene creato alcun risultato. La query SQL viene eseguita sul posto.

Codice Python

ID Algoritmo: native:postgisexecutesql

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.

27.1.2.6. Esegui SQL Spatialite

Permette di eseguire una query SQL su un database SpatiaLite. L’algoritmo non creerà un nuovo layer: è progettato per eseguire query sul layer stesso.

Vedi anche

Esegui SQL PostgreSQL, Esegui SQL

Per alcuni esempi di query SQL vedi PostGIS SQL Query Examples.

Parameters

Label

Name

Type

Description

File Database

DATABASE

[vector]

Il file del database SQLite/SpatiaLite a cui connettersi

Interrogazione SQL

SQL

[string]

Predefinito: “”

Definisci la query SQL, per esempio `` UPDATE my_table SET field=10”``.

In uscita

Non viene creato alcun risultato. La query SQL viene eseguita sul posto.

Codice Python

ID Algoritmo: native:spatialiteexecutesql

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.

27.1.2.7. SpatiaLite esegue SQL (DB registrato)

Permette di eseguire una query di database SQL su un database SpatiaLite collegato a QGIS. L’algoritmo non creerà un nuovo layer: è progettato per eseguire query sul layer stesso.

Vedi anche

Esegui SQL PostgreSQL, Esegui SQL

Per alcuni esempi di query SQL vedi PostGIS SQL Query Examples.

Parameters

Label

Name

Type

Description

Database

DATABASE

[enumeration]

Predefinito: non impostato

Seleziona un database SQLite/SpatiaLite connesso alla sessione corrente.

Interrogazione SQL

SQL

[string]

Predefinito: “”

Definisci la query SQL, per esempio `` UPDATE my_table SET field=10”``.

In uscita

Non viene creato alcun risultato. La query SQL viene eseguita sul posto.

Codice Python

ID Algoritmo: native:spatialiteexecutesqlregistered

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

L” id dell’algoritmo viene visualizzato quando passi il mouse sull’algoritmo nella finestra degli strumenti di elaborazione. Il dizionario dei parametri fornisce i Nomi e i valori dei parametri. Vedi Usare gli algoritmi di Processing dalla console dei comandi per dettagli su come eseguire algoritmi di elaborazione dalla console Python.