空间架构

Netezza Spatial读写器和写入器依赖于两个元数据表的存在来解读哪些表(和列)是空间的,以及哪些坐标系统与它们相关联。这些元数据表被命名geometry_columns.SPATIAL_REF_SYS

写入空间数据时,如果用户连接的当前模式不包含两个所需的元数据表,则元数据表将被克隆并截断一次,从以下位置之一:

对于单个架构配置:

  • INZA数据库。

对于多个模式配置:

  • 当前数据库中的INZA模式,如果不存在,则
  • 当前数据库中的ADMIN模式,如果不存在,则
  • INZA数据库。

如果找不到元数据表,则转换失败。如果安装了不包含这些元数据表的inza包,请参阅支持版本和配置介绍如何手动创建这些元数据表。

f_table_name.geometry_columns.表记录当前模式中的空间表的名称。如果在当前模式中不存在录制的空间表名称,则在Netezza空间编写器的表列表选择器中不会显示。如果在FME之外创建空间表,请确保将正确更新的机制存在geometry_columns.SPATIAL_REF_SYS表。请注意表名和列名的含量敏感性。

将空间数据写入数据库时​​,该数据库具有注册的ESRI空间分析包,或者倒回具有ESRI空间分析包的inza数据库,请注意以下警告。

编写非同质集合会导致数据库错误。在指定坐标系的边界之外写几何图格会导致数据库错误。类似地,当写入坐标崩溃到由指定坐标系定义的离散网格上的几何形状时,并且在折叠导致重复的连续坐标或自交叉点,期望数据库错误。

数据库错误可能导致功能拒绝或转换故障,具体取决于在不良数据上的中止平均值的设置。强烈建议在错误的数据中陷入困境,因为数据库错误导致当前事务的回滚,包括已成功写入的任何良好数据。

FME支持写入每个表的单个几何列。

geometry_columns的列描述

架构geometry_columns.

类型

修饰符

f_table_catalog.

Nvarchar(256)

不为空

F_TABLE_SCHEMA

Nvarchar(256)

不为空

f_table_name.

Nvarchar(256)

不为空

f_geometry_column.

Nvarchar(256)

不为空

GEOMETRY_TYPE

整数

coord_dimension.

整数

SRID

整数

解散_column.

Nvarchar(256)

描述

f_table_catalog.

数据库的名称。FME目前尚未使用此列。

F_TABLE_SCHEMA

数据库模式的名称。FME目前尚未使用此列。

f_table_name.

包含几何数据的空间表的名称。

f_geometry_column.

存储下的表中的几何列的名称
f_table_name.

GEOMETRY_TYPE

几何列中包含的空间数据的WKB数据类型。

coord_dimension.

几何柱的维度(XY = 2,XYZ = 3,XYM = 3,XYZM = 4,其中M为测量)。

SRID

空间参考ID,并对应于相同的命名列SPATIAL_REF_SYS桌子。它为空间表指定了坐标系或缺陷

解散_column.

FME目前尚未使用此列。

SPATIAL_REF_SYS

SPATIAL_REF_SYS符合OpenGIS标准地理信息实现规范。简单特征访问。第2部分- §7.1.2。

空间存储和坐标系统

在写入空间数据时,几何数据首先被转换为WKB,然后通过ST_GEOMFROMWKB()转换为ST_GEOMETRY。如果使用Esri空间分析包向数据库写入数据,几何体将进一步进行转换,以便其坐标(如果它们在指定的坐标系统的范围内)被捕捉到坐标系统下的离散网格上。

在编写空间表时,应该提供单个坐标系统。有三种情况:

  • 没有提供坐标系统:如果未指定坐标系,则LL-WGS84(SRID = 4326)的默认坐标系统将附加到正在写入的空间特征。
  • 提供坐标系,并在目标数据库中已知:空间功能将用对应于已知坐标系的SRID写入。
  • 提供坐标系,并在目标数据库中未知:如果写入ESRI数据库,则空间功能将首先被恢复为LL-WGS84(SRID = 4326),然后在重新注入成功时写入;如果写入非ESRI数据库,则未知坐标系将被添加到非ESRI数据库,然后分配给该坐标系的SRID将附加到正在写入的空间特征。

几何尺寸

最大几何尺寸较小:

  • 64000字节,或
  • 65,535字节减去非几何列的大小。

要拆分大于最大几何尺寸的区域或线条功能,请使用a砍刀变压器。线部件可以使用a粘在一起LineCombiner.变压器,并且可以使用aeal零件使用a达索尔变压器。IBM文档指出,一条线或一个区域可以拥有的最大坐标数大约是3990(假设是2D,没有度量)。

为了将几何部分粘合在一起,需要在目标表中创建一个特性ID列。特性ID需要在它们被分割之前分配给它们。一个达索尔LineCombiner.变压器可用于通过设置将部件粘在一起集团到特性ID列。

如果写入的几何图形的尺寸大于表架构指定的几何大小,则将尝试增加几何列大小。如果传入的几何形状的尺寸太大而无法容纳,则期望功能抑制或翻译失败。如果您知道最大的几何大小先天的,使用几何列宽以下参数格式参数选项卡。如果在运行时发生几何列大小调整,则会出现减速。