PostGIS(光栅)读/写

许可选项对于这种格式,从FME专业版开始。

概述

PostGIS是在PostgreSQL对象关系数据库管理系统(ORDBMS)上的一个几何层,提供几何和空间参考系统(SRS)处理。PostGIS栅格读取/写入模块使FME能够读取PostGIS栅格数据以及存储在PostgreSQL中的底层属性数据。

Postgis光栅读卡器/编写器专门用于处理数据的光栅部分。当仅从PostgreSQL读取属性表时,应使用PostgreSQL读取器/编写器,并且在读取或写入几何或地理数据时,应使用PRODGIS读取器/写入器。PostGIS栅格阅读器/ Writer直接与PostgreSQL LibpQ接口通信,以获得最大吞吐量。

本章假设您熟悉PostGIS和PostgreSQL、支持的属性和几何类型及其索引机制。

更多信息,请查看PostgreSQL主页

http://www.postgresql.org/

和PostGIS的家

http://postgis.refractions.net/

读者概述

FME认为PostGIS数据集是包含关系表及其相应几何图形的集合的数据库。在读取表之前,必须在工作区中定义表。完全支持任意WHERE子句和连接,以及整个任意SQL SELECT语句;然而,用户随后对声明或子句的正确性承担责任,包括在必要时引用。

基本的读取过程包括打开到数据库的连接、查询元数据和查询数据。使用文本游标读取数据。每个输入表有一个游标。

基本的读取过程包括打开到数据库的连接、查询元数据和查询数据。使用文本游标读取数据,默认情况下将按10000批分批获取行到客户端机器。每个输入表有一个游标。

如果读取空光栅,则将其视为非几何特征并保留其属性。

表和列名被截断为64个字符。如果通过截断产生重复的名称,则行为是不确定的。请确保表名符合PostgreSQL命名规范。

表名和列名中都允许使用空格和特殊字符。还实现了区分大小写。

UNICODE支持已经添加到与客户端的系统编码一起工作。尽管没有明确指定编码的方法,但是假定客户端已经在其操作系统的编码中输入了数据并创建了表和列。客户端和服务器之间的本地PostgreSQL转换支持多种系统编码,特别是当服务器编码设置为UNICODE时。

表单中支持限定表命名< schemaname >。<表>.读取和解释模式搜索路径,以确定用户写入时的默认模式以及读取时可从中读取的可用模式。如果没有有效的模式搜索路径,则默认的公共模式将用于较新的数据库。

当表包含唯一ID列时,读取器将仅在引用更好的性能时从数据库获取栅格。唯一的ID列被定义为包含唯一或主键约束的整数列,其不包含空值。例如,当存在唯一ID列时,将读取器连接到Workbench中的记录器变压器,不会导致栅格数据从数据库请求。如果没有可用唯一的ID列,或者在执行任意SQL查询时,读者将在翻译继续之前将所有栅格下载到本地存储。

作家概述

PostGIS栅格写入器模块将几何图形和属性存储到PostgreSQL数据库中。注意,属性大小写是保留的,除非选中了小写属性名选项。PostGIS光栅作者提供以下功能:

  • 交易支持:PostGIS栅格写入器提供了事务支持,从而简化了数据加载过程。偶尔,数据加载操作会由于数据困难而提前终止。事务支持提供了一种机制,可以在不丢失或复制数据的情况下重新加载已修正的数据。
  • 创建索引:Postgis栅格编写器可以作为加载过程的一部分设置和填充索引。缺省情况下,在表的主几何列中创建一个要索引,而不是在任何其他列上创建。可以单独索引附加列。此时不支持复合列索引。
  • 批量加载:默认情况下,PostGIS光栅写入器使用批量加载技术来确保快速加载数据。