作家指令

下面列出了由Ingres Spatial编写器处理的指令。显示的后缀以当前前缀< WriterKeyword >_在映射文件中。默认情况下,< WriterKeyword >对于安格尔的空间作家来说COM.ACTIAN.INGRES.INGRES

数据集/数据库,主机,端口,用户名,密码

这些指令的操作方式与它们对Ingres Spatial读取器的操作方式相同。

DEF

每个Ingres表必须先定义,然后才能写入。Ingres定义语句的一般形式是:

INGRES_DEF <表名> \ Ingres_type < Ingres_type > \ [Ingres_mode(插入|更新|删除| inherit_from_writer)) \ [Ingres_spatial_column <列>]\ [Ingres_drop_table(是的|不)]\ [Ingres_truncate_table(是的|不)]\ [Ingres_create_with_oids(是的|不]\ [Ingres_create_with_gist_index(是的|不)]\ [Ingres_vacuum_analyze(是的|不)]\[<字段名>< fieldType >] [, < indexType >] *

表定义允许对将要创建的表进行控制。如果表已经存在,则ingres_参数会被忽略,也不需要被给予。如果列出了字段和类型,则它们必须与数据库中的字段和类型匹配。

如果表不存在,则首先使用字段名和类型创建表。在任何情况下,如果< fieldType >,它可以是目标数据库支持的任何字段类型。

必需的/可选

要求

配置参数

定义行上的配置参数如下表所示:

参数

内容

的表

要写入的表的名称。如果具有指定名称的表存在,则如果postgis_overwrite_tableDEF行参数设置为YES或是否全局写入指令类型postgis_out_overwrite设置为YES。否则,表将被追加。表名的有效值包括任何不包含sql攻击字符且长度小于32个字符的字符串。

ingres_type

所创建的表将受其约束的几何实体的类型。该类型的有效值如下所示:

ingres_point

ingres_multipoint

ingres_linestring

ingres_multilinestring

ingres_polygon

ingres_multipolygon

ingres_geometrycollection

ingres_none

ingres_geometry(允许任何东西)

如果将集合写入限制为单个几何形状的表,则该集合将自动分解以进行写入。相反,如果将单个几何图形写入约束为某一集合类型的表中,则它将自动包装在一个集合中。

ingres_mode

根据发送到数据库的SQL语句的类型,特性类型的默认操作模式。有效的值插入更新删除INHERIT_FROM_WRITER.请注意,插入模式只允许插入操作,如更新删除可以在特性级别被覆盖。INHERIT_FROM_WRITER简单地指示从写入器级别获取这个值,而不是在特性类型级别覆盖它。

默认值:INHERIT_FROM_WRITER

ingres_spatial_column

它指定在创建新的Ingres表时将保存空间数据的要创建的列的名称。

默认值:形状

ingres_drop_table 这指定如果表以这个名称存在,那么在向它写入任何特性之前,应该删除它并重新创建它。
ingres_truncate_表 这指定如果表以这个名称存在,那么在向它写入任何特性之前,它应该被截断。
ingres_create_with_oids

创建包含系统OID列作为唯一标识符的表。如果设置为no,则不创建OID列。

默认值:是的

ingres_create_rtree_index

在表的几何列上创建一个RTREE索引(只要有一个)。为了提高空间查询性能,需要对几何列进行索引。

默认值:是的

ingres_table_page_size

使用此选项可选择使用FME创建的表的页面大小。

默认值:8192

ingres_inline_size

如果Ingres 10.2或更新版本,您可以使用此选项来设置要内联多少LOB或Geometry,而不是将其存储在扩展表中。

默认值:2048

有效范围:0 - 32000

ingres_data_compression

配置使用FME创建的新表以使用数据压缩。

默认值:是的

字段名

要写入的字段的名称。字段名的有效值包括任何不包含sql攻击字符且长度小于256个字符的字符串。

fieldType

表中列的类型。字段类型的有效值如下所示:

保龄球

char(宽度)

nchar(宽度)

varchar(宽度)

nvarchar(宽度)

用longvarchar

longnvarchar

int2

int4

int8

字节(宽度)

varbyte(宽度)

longbyte

身份

float4

float8

号(宽度、小数)

日期

时间

timetz

时间戳

timestamptz

indexType

要在给定字段上创建的索引类型。索引类型的有效值如下所示:

BTREE(默认属性索引)

RTREE

哈希

ISAM

START_TRANSACTION

该语句告诉Ingres Spatial writer模块何时开始实际向数据库中写入特性。

在跳过特征的特征数量之前,Ingres Spatial writer不会编写任何特征,然后它开始编写以下特征。通常,指定的值是零—只有在数据加载操作在失败中途恢复时才指定非零值。

必需的/可选

可选

映射文件的语法

INGRES_OUT_START_TRANSACTION 0

工作台参数

起动特性

TRANSACTION_INTERVAL

该指令决定了FME在将事务提交到数据库之前将在每个事务中放置的特性的数量。

如果没有指定INGRES_TRANSACTION_INTERVAL语句,那么将使用1000值作为事务间隔。

必需的/可选

可选

映射文件的语法

INGRES_OUT_TRANSACTION_INTERVAL 2000

工作台参数:每个事务特性

BATCH_INSERTS

该语句告诉Ingres Spatial写入器模块使用批处理插入将数据插入到数据库中,批处理插入会在将数据发送到服务器之前批量处理。在提交时发送批处理。每一次都发出一个提交INGRES_TRANSACTION_INTERVAL特性。

必需的/可选

可选

映射文件的语法

INGRES_BATCH_INSERTS是的

工作台参数

批量插入

WRITER_MODE

该指令告知Ingres Spatial写入器默认情况下将执行哪些SQL操作。

该操作可以设置为插入更新,或删除.此操作的默认写入器级别值可以在特性类型或表级别被覆盖。

对应的特征类型DEF参数名被调用INGRES_MODE.它具有与写入器级别模式相同的有效选项和值INHERIT_FROM_WRITER(这会导致写入器级别模式被特性类型继承,作为该表中包含的特性的默认模式)。

该操作也可以使用fme_db_operation属性。

注意:请注意,当写入器模式设置为时插入,这可以防止模式从单个特征被解释,并且插入所有特征,除非另外标记为更新或删除特征。这些都是跳过。

必需的/可选

可选

映射文件的语法

INGRES_WRITER_MODE插入

如果没有指定此指令,则为插入是给定的。

工作台参数

作家模式

注意:有关此指令的更多信息,请参见数据库作家模式

GENERIC_GEOMETRY

这个指令在生成时生效,而不是在转换时生效。

默认值NO表示我们希望在目标表上创建几何约束的空间列。例如,一个POINT空间表将只被限制为点。

现在我们可以选择创建通用或非几何约束的空间列。这意味着您可以在一个表中插入多个几何类型。特别地,空间列被创建为具有泛型类型几何并且在允许的几何类型上没有限制。

必需的/可选

可选

如果INGRES_GENERIC_GEOMETRY语句未指定,则给定值NO。

映射文件的语法

INGRES_GENERIC_GEOMETRY是的

SPATIAL_COLUMN_NAME

shape的默认值表明,我们希望在目标表上创建一个名称为“shape”的空间列。这个值还可以专门为各个特性类型设置。

注意:这个指令只在生成时生效(而不是在转换期间)。