读者指令

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

数据集/数据库

这个指令指定了Ingres数据库的名称。数据库必须存在于RDBMS中。

必需的/可选

要求

映射文件的语法

INGRES_DATASET testdb

工作台参数

安格尔源数据集

宿主

该指令指定运行Ingres RDBMS的机器为IP地址或主机名。数据库必须具有适当的权限,并设置为通过Ingres数据访问服务器接受TCP/IP连接。

必需的/可选

要求

映射文件的语法

INGRES_HOST myserver

工作台参数

宿主

港口

当远程连接时,该指令指定连接到RDBMS服务的Ingres数据访问服务器端口。

默认端口为II7。

必需的/可选

要求

映射文件的语法

INGRES_PORT II7

工作台参数

港口

USER_NAME

将访问数据库的用户名。命名用户必须具有适当的Ingres权限。

默认用户名为安格尔

必需的/可选

要求

映射文件的语法

INGRES_USER_NAME安格尔

工作台参数

用户名

密码

访问数据库的用户密码。

必需的/可选

要求

映射文件的语法

INGRES_PASSWORD秘密

工作台参数

密码

DEF

定义的语法是:

INGRES_DEF <表名> \

\ [ingres_where_clause whereClause > <)

(< fieldName > < fieldType >] +

INGRES_DEF < queryName > \

[ingres_sql_statement < sqlQuery >)

<的表>必须与数据库中的Ingres表匹配。这将用作从表中读取的所有特性的特性类型。这个规则的例外是当使用sql_statement指令在这种情况下DEFName可以是任何有效的字母标识符;它不必是现有的表名—相反,它是自定义SQL查询的标识符。从SQL查询返回的所有特性的特性类型都给定查询名称。

<fieldType>必须给出每个字段的值,但不根据字段的数据库定义进行验证。实际上,它被忽略了。

例外的是几何属性中未放置的字段类型DEF.这是单独存储在geometry_columns表,它将几何信息映射到数据库和表名。

该定义允许为每个表指定单独的搜索参数。如果给定了任何一个配置参数,它们将覆盖该表中由上面列出的reader指令指定的全局值。如果没有指定这些参数中的任何一个,则将使用全局值。

定义线配置参数总结如下表:

参数

内容

where_clause

它指定应用于层特性属性的SQL WHERE子句,以限制返回的特性集。如果没有指定,则返回所有元组。如果存在sql_statement,该指令将被忽略。

sql_statement

这将指定一个SQL SELECT查询作为结果的源。如果指定了这个值,那么Ingres读取器将执行查询,并使用结果行作为特性,而不是从表中读取。所有返回的特性都将具有的特性类型,以及查询所选择的所有列的属性。

如果提供sql_statement,则忽略指定空间约束的所有参数。

如果从Ingres表中选择一个几何列,避免使用几何列格式修饰符,如AsBinary()、AsText()、AsWKT()或ASWKB(),因为这掩盖了我们有一个几何列而不仅仅是一些文本或字节属性列的事实。

如果没有whereClause > <时,将读取表中的所有行并作为单个特性返回。如果一个whereClause > <,则只读取由子句选择的行。请注意,whereClause > <不包括“where”这个词。

Ingres阅读器允许使用sql_statement参数指定任意SQL选择在DEF行上查询。如果指定了这一点,FME将执行查询,并使用查询返回的每一行数据来定义一个特性。函数返回的每一列的属性都包含在DEF行中命名的特性类型中选择.在这种情况下,所有关于WHERE子句或空间查询的DEF行参数都被忽略,因为可以直接将该信息嵌入到< sqlQuery >

下面的示例从表中选择行道路,将得到的数据放入特征类型为的FME特征中MYROADS.想象一下,道路定义道路的几何图形,并具有一个名为ID,其中的文本字段名为的名字一个几何列命名为几何学

INGRES_DEF MYROADS \ sql_statement ' SELECT id, name, geom FROM ROADS '

必需的/可选

要求

id

这个可选规范用于限制将要读取的可用的和已定义的数据库表文件。

如果没有指定id,则FME使用DEFs来确定要读取哪些表。id指令的语法是:

INGRES_IDs  \  \ 

特性类型必须与DEF行中使用的特性类型匹配。

下面的示例在翻译期间只选择ROADS表作为输入:

INGRES_IDs道路

必需的/可选

可选

Minx miny maxx maxy

这些指令一起使用时指定特征检索的空间范围。只返回与这些指令值定义的边界框交互的特性。

如果没有提供,将返回所有特性。如果任何一最小值值大于相应的值马克斯值时,值将交换。如果所提供的值小于4个值的全部集合,则所提供的值将被忽略,并返回所有特性。

指令的语法是:

INGRES_IN_MINX  INGRES_IN_MINY  INGRES_IN_MAXX  ingres_in_max 

下面的例子选择了一小块区域进行提取:

Ingres_in_minx 25.6 ingres_in_miny 59.0 ingres_in_maxx 79.2 ingres_in_maxx 124.5

必需的/可选

可选

SEARCH_ENVELOPE

使用最小和最大的x和y参数,定义一个边界框,用于过滤输入特征。只有与边界框交互的特性才会返回。

如果搜索信封的所有四个坐标都指定为0,则搜索信封将被禁用。

映射文件的语法

_SEARCH_ENVELOPE

注意:如果搜索信封的所有四个坐标都指定为零,则搜索信封将被禁用。

必需的/可选

可选

工作台参数

最小X,最小Y,最大X,最大Y

SEARCH_ENVELOPE_COORDINATE_SYSTEM

这个指令指定搜索信封的坐标系统,如果它与数据的坐标系统不同。

COORDINATE_SYSTEM指令,它指定与要读取的数据相关联的坐标系统SEARCH_ENVELOPE_COORDINATE_SYSTEM设置指令。

如果设置了这个指令,搜索信封的最小和最大点将从SEARCH_ENVELOPE_COORDINATE_SYSTEM读者COORDINATE_SYSTEM在申请信封之前。

必需的/可选

可选

映射文件的语法

< ReaderKeyword > _SEARCH_ENVELOPE_COORDINATE_SYSTEM <坐标系统>

工作台参数

搜索包络坐标系

CLIP_TO_ENVELOPE

该指令指定FME是否应该将特性夹到SEARCH_ENVELOPE指令。

YES | NO(默认)

映射文件的语法

_CLIP_TO_ENVELOPE [yes | no] _CLIP_TO_ENVELOPE [yes | no]

工作台参数

夹信封

EXPOSED_ATTRS

该指令允许将格式属性的选择显式地添加到阅读器特性类型中。

这类似于在阅读器特性类型生成后,在其上公开格式属性;然而,它甚至更加强大,因为它使除Workbench之外的模式驱动的应用程序能够访问和利用这些属性,就像它们显式地作为用户属性出现在模式上一样。

选择属性列表的结果是一个以逗号分隔的属性名称和类型列表,这些属性名称和类型将被添加到模式特性中。目前,对于阅读器的给定实例,所有阅读器特性类型都将接收相同的附加模式属性集。

必需的/可选

可选

映射文件的语法

不适用。

虽然FME对象应用程序可以调用该指令,但没有记录所需的格式。

此指令仅用于我们的GUI应用程序(例如Workbench)。

工作台参数

要公开的其他属性