Netezza 和 ArcGIS

如果您正在使用 Netezza 数据仓库设备,则可从 ArcGIS 连接至数据库以对数据子集执行复杂的空间分析。

要在 ArcGIS 中使用 Netezza,必须在数据库管理系统中安装受支持版本的 Netezza Spatial Package,并在 ArcGIS 客户端计算机上安装和配置 Netezza ODBC 驱动程序,以便从客户端计算机建立数据库连接。有关受支持的 Netezza 数据仓库、空间包和 ODBC 驱动程序的列表,请参阅 ArcGIS IBM Netezza Data Warehouse Appliance 的要求

处理数据

在大多数情况下,您将在数据仓库设备中存储大量数据。要从 ArcGIS 执行分析,您将使用一个仅包含有兴趣对其进行分析的数据的子集。您可以在查询图层定义中定义此子集,也可以创建一个只返回数据子集的数据库视图。

如果要使用查询图层定义,请在 ArcMap 中创建定义文件。单击文件 > 添加数据 > 添加查询图层,可打开新建查询图层 对话框,连接至数据库,然后键入 SQL 语句以定义数据子集。

警告警告:

如何尚未定义数据子集,请不要将数据直接从 ArcMap 的目录 窗口中的数据库连接拖到地图中。正常存储在数据仓库设备中的超大型数据集需要耗费很长时间才能显示在地图上。

如果要使用数据库视图,您可以使用创建数据库视图地理处理工具或 SQL 定义要分析的数据子集。

ArcGIS 中使用的 Netezza 数据指南

ArcGIS 针对使用 Netezza 有两项特定的限制:

  • 如果使用传统 Netezza 空间类型,则表中所有空间列必须命名为 shape 或使用别名 shape

    传统空间类型使用 VARCHAR 数据类型;因此,shape 列名称或别名是 ArcGIS 确定该列存储空间数据而非文本的途径。

  • ArcGIS 需要唯一的标识字段以渲染地图中的要素。将空间表添加至地图时,系统将提示您指定此唯一 ID 字段。

    ArcGIS 工具不会将新值插入到数据库中的唯一 ID 字段中;而是依赖于数据库向字段插入值。由于 Netezza 不具备用于向 ID 字段填充值的数据类型或内置机制,Netezza 无法使用在数据库表中创建新行的 ArcGIS 工具。

其他限制与 Netezza 本身相关。作为 Netezza 用户,我们知道 Netezza 空间存储的是简单数据。因此,您无法将非简单数据从其他数据库粘贴至 Netezza 中。

作为 Netezza 用户,您还了解行的总大小被限制为 65,535 字节。为帮助计算行的大小,下表列出了您通过 ArcGIS 在 Netezza 中创建表或要素类时所创建的 Netezza 数据类型与其占用的磁盘空间数:

ArcGIS 字段类型

所创建的 Netezza 数据类型

磁盘空间使用

DATE

timestamp

8 字节

DOUBLE

numeric(p,s)

默认情况下,p(精度)= 38 且 s(比例)= 8。

精度小于等于 9 = 4 字节

精度为 10-18 = 8 字节

精度为 19-38 = 16 字节

FLOAT

如果指定的精度小于等于 6,将创建 numeric(p,s)。如果指定的精度为 7-15,将创建双精度。

数字 = 4 字节

双精度 = 8 字节

GEOMETRY

如果使用传统 Netezza Spatial Package,将会创建一个变量长度字符(最多为 64,000) 的列。

如果使用 Netezza Spatial Esri Package,将会创建 ST_Geometry 列。

对于传统 Netezza Spatial Package:

  • 作为字符创建的点几何有所不同 (80)。
  • 所有其他几何的基本大小均为 64,000 字节。但是,如果创建如此大小的字段会导致行的总大小超过 65,535 字节,则将使用更小的精度创建 varchar 字段。

    例如,如果行中所有其他字段的总大小为 2,000 字节,则将作为字符创建的几何字段会有所不同 (63,535)。

对于 Netezza Spatial Esri Package:

  • 点几何作为 ST_Geometry 创建 (140)。
  • 所有其他几何的基本大小均为 64,000 字节。但是,如果创建如此大小的字段会导致行的总大小超过 65,535 字节,则将使用更小的精度创建 ST_Geometry 字段。

    例如,如果行中所有其他字段的总大小为 2,000 字节,则几何字段将作为 ST_Geometry 创建 (63,535)。

注注:

当数据插入到要素类时,如有任一单个几何的大小超过了字段大小,则将会插入空几何。

例如,如果将面要素类从另一数据源复制并粘贴到您的 Netezza 数据库,则将使用几何字段来创建表(最大为 64,000 字节)。接着,将记录插入表中。如果要插入的几何超过了 64,000 字节,则将插入记录和所有其他属性,但会在几何字段中插入空值。

GUID

固定长度字符 (38)

40 字节

LONG INTEGER

如果比例大于 0,将创建 numeric(p,s)。如果比例为 0,将创建整数。

整数 = 4 字节

numeric 的精度小于等于 9 = 4 字节

数值精度为 10-18 = 8 字节

数值精度为 19–38 = 16 字节

OBJECTID

整型

4 字节

SHORT INTEGER

smallint

2 字节

TEXT

变量长度,Unicode(p)

其中 P 表示针对 TEXT 字段指定的字段长度。默认值为 50。

p x 4 = 使用的字节数量

相关主题

5/12/2014