重要

Translation is a community effort you can join. This page is currently translated at 37.99%.

28.1.3. 数据库

28.1.3.1. Export to PostgreSQL

Exports a vector layer to a PostgreSQL database, creating a new relation. If a relation with the same name exists, it can be removed before the new relation is created. Prior to this a connection between QGIS and the PostgreSQL database has to be created (see eg 创建存储的连接).

参数

标注

名称

类型

描述

Layer to import

INPUT

[vector: any]

Vector layer to add to the database

Database (connection name)

DATABASE

[string]

Name of the database connection (not the database name). Existing connections will be shown in the combobox.

Schema (schema name)

可选

SCHEMA

[string]

Default: 'public'

Name of the schema to store the data. It can be a new one or already exist.

Table to import to (leave blank to use layer name)

可选

TABLENAME

[string]

Default: ''

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

Primary key field

可选

PRIMARY_KEY

[tablefield: any]

Sets the primary key field from an existing field in the vector layer. A column with unique values can be used as Primary key for the database.

Geometry column

GEOMETRY_COLUMN

[string]

Default: 'geom'

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

Encoding

可选

ENCODING

[string]

Default: 'UTF-8'

Defines the encoding of the output layer

Overwrite

OVERWRITE

[boolean]

Default: True

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 are added. If this option is False and the table exists, the algorithm will throw an exception ("relation already exists").

Create spatial index

CREATEINDEX

[boolean]

Default: True

Specifies whether to create a spatial index or not

Convert field names to lowercase

LOWERCASE_NAMES

[boolean]

Default: True

Converts the field names of the input vector layer to lowercase

Drop length constraint on character fields

DROP_STRING_LENGTH

[boolean]

Default: False

Should length constraints on character fields be dropped or not

Create single-part geometries instead of multi-part

FORCE_SINGLEPART

[boolean]

Default: False

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

输出

The algorithm has no output.

Python代码

Algorithm ID: qgis:importintopostgis

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

28.1.3.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 SpatiaLite图层).

参数

标注

名称

类型

描述

Layer to import

INPUT

[vector: any]

Vector layer to add to the database

File database

DATABASE

[vector: any]

The SQLite/SpatiaLite database file to connect to

Table to import to (leave blank to use layer name)

可选

TABLENAME

[string]

Default: ''

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

Primary key field

可选

PRIMARY_KEY

[tablefield: any]

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

Geometry column

GEOMETRY_COLUMN

[string]

Default: 'geom'

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

Encoding

可选

ENCODING

[string]

Default: 'UTF-8'

Defines the encoding of the output layer

Overwrite

OVERWRITE

[boolean]

Default: True

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

Create spatial index

CREATEINDEX

[boolean]

Default: True

Specifies whether to create a spatial index or not

Convert field names to lowercase

LOWERCASE_NAMES

[boolean]

Default: True

Convert the field names of the input vector layer to lowercase

Drop length constraint on character fields

DROP_STRING_LENGTH

[boolean]

Default: False

Should length constraints on character fields be dropped or not

Create single-part geometries instead of multi-part

FORCE_SINGLEPART

[boolean]

Default: False

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

输出

The algorithm has no output.

Python代码

Algorithm ID: qgis:importintospatialite

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

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

参数

标注

名称

类型

描述

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

[boolean]

Default: False

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

[boolean]

Default: True

Save the layer styles

Save only selected features

SELECTED_FEATURES_ONLY

[boolean]

Default: False

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.

Export related layers following relations defined in the project

EXPORT_RELATED_LAYERS

[boolean]

Default: False

If an input layer has relations set in the project, setting this option to True will result in exporting also its related layer(s). If the layer has features selected, then only their related features will be exported unless the related layer was also an input layer.

Destination GeoPackage

OUTPUT

[file]

默认: [保存到临时文件]

Specify where to store the GeoPackage file. One of

  • 保存到临时文件

  • 保存到文件…

输出

标注

名称

类型

描述

Layers within new package

OUTPUT_LAYERS

[string] [list]

The list of layers added to the GeoPackage.

Python代码

Algorithm ID: native:package

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

28.1.3.4. PostgreSQL execute and load SQL

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

Example

  1. Set all the values of an existing field to a fixed value. The SQL query string will be:

    UPDATE your_table SET field_to_update=20;
    

    In the example above, the values of the field field_to_update of the table your_table will be all set to 20.

  2. Create a new area column and calculate the area of each feature with the ST_AREA PostGIS function.

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

参数

标注

名称

类型

描述

Database (connection name)

DATABASE

[string]

The database connection (not the database name). Existing connections will be shown in the combobox.

SQL query

SQL

[string]

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

Unique ID field name

ID_FIELD

[string]

Default: id

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

Geometry field name

可选

GEOMETRY_FIELD

[string]

Default: 'geom'

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

输出

标注

名称

类型

描述

SQL layer

OUTPUT

[vector: any]

The resulting vector layer to be loaded into QGIS.

Python代码

Algorithm ID: qgis:postgisexecuteandloadsql

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

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

Example

  1. Set all the values of an existing field to a fixed value. The SQL query string will be:

    UPDATE your_table SET field_to_update=20;
    

    In the example above, the values of the field field_to_update of the table your_table will be all set to 20.

  2. Create a new area column and calculate the area of each feature with the ST_AREA PostGIS function.

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

参数

标注

名称

类型

描述

Database (connection name)

DATABASE

[string]

The database connection (not the database name). Existing connections will be shown in the combobox.

SQL query

SQL

[string]

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

输出

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

Python代码

Algorithm ID: native:postgisexecutesql

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

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

参见

PostgreSQL execute SQL, Execute SQL

For some SQL query examples see PostGIS SQL Query Examples.

参数

标注

名称

类型

描述

File Database

DATABASE

[vector]

The SQLite/SpatiaLite database file to connect to

SQL query

SQL

[string]

Default: ''

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

输出

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

Python代码

Algorithm ID: native:spatialiteexecutesql

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

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

参见

PostgreSQL execute SQL, Execute SQL

For some SQL query examples see PostGIS SQL Query Examples.

参数

标注

名称

类型

描述

Database

DATABASE

[enumeration]

Default: not set

Select a SQLite/SpatiaLite database connected to the current session

SQL query

SQL

[string]

Default: ''

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

输出

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

Python代码

Algorithm ID: native:spatialiteexecutesqlregistered

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。