读者指令

PostGIS光栅读取器处理的指令如下所示。显示的后缀以当前前缀< ReaderKeyword > _在映射文件中。默认情况下,< ReaderKeyword >为PostGIS读者POSTGIS_IN

数据集/数据库

该指令指定启用postgis的PostgreSQL数据库的名称。数据库必须存在于ORDBMS中。

必需的/可选

要求

映射文件的语法

POSTGIS_RASTER_DATASET testdb

工作台参数

源PostGIS栅格数据集

宿主

该指令指定运行PostGIS/PostgreSQL ORDBMS的机器为IP地址或主机名。如果从远程计算机连接,数据库必须具有适当的权限,并设置为接受TCP/IP连接。

必需的/可选

要求

映射文件的语法

POSTGIS_RASTER_IN_HOST myserver

工作台参数

宿主

港口

当远程连接时,这个指令指定连接到ORDBMS服务的TCP/IP端口。

默认端口为5432。

必需的/可选

要求

映射文件的语法

POSTGIS_RASTER_IN_PORT 5432

工作台参数

港口

USER_NAME

将访问数据库的用户名。命名用户必须具有相应的PostgreSQL权限。

默认用户名为postgres

必需的/可选

要求

映射文件的语法

POSTGIS_RASTER_IN_USER_NAME postgres

工作台参数

用户名

密码

访问数据库的用户密码。当使用受信任连接时,此指令是可选的。

其他认证类型(如密码认证、MD5认证)需要配置该参数。

必需的/可选

可选

映射文件的语法

POSTGIS_RASTER_IN_PASSWORD秘密

工作台参数

密码

DEF

定义的语法是:

POSTGIS_RASTER_DEF  \ [postgis_raster_where_clause ] \ [ ] +

POSTGIS_RASTER_DEF  \ [postgis_raster_sql_statement ]

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

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

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

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

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

参数

内容

where_clause

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

sql_statement

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

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

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

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

下面的示例从表ROADS中选择行,将结果数据放入特征类型为MYROADS的FME特性中。假设ROADS定义了道路的栅格数据,并具有一个名为ID的数字字段、一个名为NAME的文本字段和一个名为RAST的栅格列。

POSTGIS_RASTER_DEF MYROADS \ sql_statement ' SELECT id, name, rast FROM ROADS '

必需的/可选

要求

id

这个可选规范用于限制将要读取的可用的和已定义的数据库表文件。如果没有指定id,则不读取表。id指令的语法是:

POSTGIS_RASTER_IDs  \  \ 

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

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

POSTGIS_RASTER_IDs道路

必需的/可选

可选

Minx miny maxx maxy

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

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

指令的语法是:

POSTGIS_RASTER_IN_MINX  POSTGIS_RASTER_IN_MINY  POSTGIS_RASTER_IN_MAXX  postgis_raster_in_max  . POSTGIS_RASTER_IN_MINX 

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

postgis_raster_in_miny 59.0 postgis_raster_in_maxx 79.2 postgis_raster_in_max 124.5 . postgis_raster_in_miny

必需的/可选

可选

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]

工作台参数

夹信封

SEARCH_METHOD

这个指令用于指定给定的边界框和表格中几何列中的几何图形之间的空间关系。

有两种类型的操作:

  • 最大边界矩形(MBR)操作仅使用几何图形的边界框来确定对给定空间关系的遵守。
  • 全空间操作将使用实际的几何本身。

只有在PostGIS服务器上启用GEOS时,才能进行全空间关系比较。如果不是,将使用默认的MBR操作进行所有信封比较MBR_OVERLAPS

必需的/可选

可选

映射文件的语法

POSTGIS_RASTER_IN_SEARCH_METHOD < spatial_relationship >

工作台参数

搜索方法

FEATURES_PER_FETCH

在读取大数据集时,为了避免将所有特性一次性加载到内存中,使用游标从数据库中检索行。这个可选指令指定在给定查询中一次从游标读取的行数或行数。

默认值是1行,在大多数情况下应该足够了。这个值可以提高以潜在地提高性能。

必需的/可选

可选

映射文件的语法

下面的例子每次提取都会选择一小组特征:

POSTGIS_RASTER_IN_FEATURES_PER_FETCH 10

工作台参数

一次获取的记录数

RETRIEVE_ALL_SCHEMAS

此参数仅在生成映射文件、生成工作区或在FME Objects应用程序中检索模式时适用。

当设置为是的,则返回数据库中所有表和特性类的模式。

当设置为没有(或失踪),如果RETRIEVE_ALL_TABLE_NAMES类似地设置为没有(或丢失)时,只返回id参数请求的模式。

必需的/可选

可选

YES | NO(默认)

没有:读取器将返回id中指定的特性类型的模式。如果id中没有指定特性,那么FME将返回所有表的模式特性。

如果未指定该值,则假定为No。

是的:指示读取器返回数据库中所有表的模式。

映射文件的语法

不适用。

FME对象应用程序将包括RETRIEVE_ALL_SCHEMAS在参数数组中后跟“YES”IFMEUniversalReader:: open ()

工作台参数

不适用

RETRIEVE_ALL_TABLE_NAMES

此参数仅适用于生成映射文件、生成工作区或在FME Objects应用程序中检索模式时。

当设置为yes时,以及如果RETRIEVE_ALL_SCHEMAS设置为no(或缺失)时,将返回数据库中所有表和特性类的名称。当设置为no(或missing)时,以及ifRETRIEVE_ALL_SCHEMAS类似地设置为no(或missing),则返回IDs指令请求的模式。

注意:如果RETRIEVE_ALL_SCHEMAS也设置为Yes, thenRETRIEVE_ALL_SCHEMAS优先。

必需的/可选

可选

YES | NO(默认)

映射文件的语法

不适用。

FME对象应用程序将包括RETRIEVE_ALL_TABLE_NAMES在参数数组中后跟“YES”IFMEUniversalReader:: open ()

工作台参数

不适用(当您浏览表列表时使用)

EXPOSED_ATTRS

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

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

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

必需的/可选

可选

映射文件的语法

不适用。

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

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

工作台参数

要公开的其他属性