读者指令

PostGIS栅格阅读器处理的指令如下所示。显示的后缀是由当前< ReaderKeyword > _映射文件中。默认情况下,< ReaderKeyword >对于Partgis Reader是postgis_in.

数据集/数据库

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

必需的/可选

必需的

映射文件的语法

POSTGIS_RASTER_DATASET testdb

工作台参数

PostGIS栅格数据集

宿主

此指令指定运行PostGIS / PostgreSQL ORBMS作为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

工作台参数

用户名

密码

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

其他认证类型(password、MD5)需要设置此参数。

必需的/可选

可选

映射文件的语法

POSTGIS_RASTER_IN_PASSWORD秘密

工作台参数

密码

def

该定义的语法为:

POSTGIS_RASTER_DEF  \ [postgis_raster_where_clause < whereclaause >] \ [ ] +

或者

postgis_raster_def  \ [postgis_raster_sql_statement ]

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

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

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

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

下表总结了定义行配置参数:

参数

内容

where_clause

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

sql_statement

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

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

如果不whereClause > <指定了,将读取表中的所有行作为单个功能。如果一个whereClause > <如果指定,则只读取子句选择的那些行。请注意,whereClause > <不包括“在哪里”这个词。

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,则读取任何表。IDS指令的语法是:

postgis_raster_id  \  \ 

特征类型必须与DEF行使用的功能类型匹配。

下面的例子在翻译过程中只选择了ROADS表作为输入:

POSTGIS_RASTER_IDs道路

必需的/可选

可选

minx,miny,maxx,maxy

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

如果不提供此功能,则将返回所有功能。如果任何一最小值值大于对应的马克斯值,值将交换。如果提供了小于整个四个值的集合,则将忽略提供的值,并且将返回所有功能。

这些指令的语法如下:

POSTGIS_RASTER_IN_MINX  POSTGIS_RASTER_IN_MINY  POSTGIS_RASTER_IN_MAXX  postgis_raster_in_max 

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

Postgis_raster_in_minx 25.6 postgis_raster_in_miny 59.0 postgis_raster_in_maxx 79.2 postgis_raster_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]

工作台参数

夹信封

SEARCH_METHOD

该指令用于指定所提供的边界框和表格的几何列中的几何图形之间的空间关系。

有两种类型的操作:

  • 最大边界矩形(MBR)操作仅使用几何图形的边界框来确定对给定空间关系的依附。
  • 完整的空间运算将使用实际的几何图形本身。

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

必需的/可选

可选

映射文件的语法

postgis_raster_in_search_method 

工作台参数

搜索方法

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(或missing),则返回数据库中所有表和特性类的名称。当设置为no(或missing),以及ifRETRIEVE_ALL_SCHEMAS类似地设置为no(或missing),则返回id指令请求的模式。

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

必需的/可选

可选

YES | NO(默认)

映射文件的语法

不适用。

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

工作台参数

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

expost_attrs.

此指令允许将格式属性的选择进行明确添加到读取器功能类型。

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

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

必需的/可选

可选

映射文件的语法

不适用。

虽然FME Objects应用程序可以调用这个指令,但所需的格式没有文档。

这个指令只适用于我们的GUI应用程序(例如,工作台)。

工作台参数

要公开的其他属性