25.1.2. Database

25.1.2.1. Esporta in PostgreSQL

Esportare un layer vettoriale in un database PostgreSQL, creando una nuova relazione. Se esiste una relazione con lo stesso nome, può essere rimossa prima della creazione della nuova relazione. Prima di questo deve essere creata una connessione tra QGIS e il database PostgreSQL (vedi ad esempio Creazione della connessione).

Parametri

Etichetta

Nome

Tipo

Descrizione

Layer da importare

IN INGRESSO

[vector: any]

Layer vettoriale da aggiungere al database

Database (nome della connessione)

DATABASE

[string]

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

Schema (nome schema)

Opzionale

SCHEMA

[string]

Predefinito: “public”

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

Tabella da 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 della 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 assicura che venga cancellata e che venga creata una nuova tabella prima di aggiungere gli elementi. Se questa opzione è False e la tabella esiste, l’algoritmo lancerà un’eccezione («la relazione esiste già»).

Creazione di un indice spaziale

CREATEINDEX

[boolean]

Predefinito: True

Specifica se creare o meno un indice spaziale

Convertire i nomi campo 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

Se 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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.

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

Parametri

Etichetta

Nome

Tipo

Descrizione

Layer da importare

IN INGRESSO

[vector: any]

Layer vettoriale da aggiungere al database

File del database

DATABASE

[vector: any]

Il file del database SQLite/SpatiaLite a cui connettersi

Tabella da 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 lancerà un’eccezione («la tabella esiste già»).

Creazione di un indice spaziale

CREATEINDEX

[boolean]

Predefinito: True

Specifica se creare o meno un indice spaziale

Convertire i nomi campo 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

Se 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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.

25.1.2.3. Impacchetta 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.

Parametri

Etichetta

Nome

Tipo

Descrizione

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.

GeoPackage di destinazione

OUTPUT

[file]

Predefinito: [Save to temporary file]

Specifica dove memorizzare il file del GeoPackage. Uno di

  • Salva su File Temporaneo

  • Salva su File…

In uscita:

Etichetta

Nome

Tipo

Descrizione

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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.

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

Parametri

Etichetta

Nome

Tipo

Descrizione

Database (nome della 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:

Etichetta

Nome

Tipo

Descrizione

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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.

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

Parametri

Etichetta

Nome

Tipo

Descrizione

Database (nome della 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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.

25.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.

Parametri

Etichetta

Nome

Tipo

Descrizione

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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.

25.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.

Parametri

Etichetta

Nome

Tipo

Descrizione

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 algoritmo viene visualizzato quando si passa il mouse sull’algoritmo nella finestra degli strumenti di Processing. 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 Processing dalla console Python.