可从 ArcGIS 连接至 Netezza 数据仓库设备来执行对数据子集的复杂空间分析。
要在 ArcGIS 中使用 Netezza,请在数据库管理系统中安装受支持的 Netezza Spatial Package 版本,然后在要连接到数据库的 ArcGIS 客户端计算机上安装并配置 Netezza ODBC 驱动程序。有关受支持的 Netezza 数据仓库版本、空间包和 ODBC 驱动程序的列表,请参阅 ArcGIS IBM Netezza Data Warehouse Appliance 的要求。
使用数据子集
在大多数情况下,您会在数据仓库设备中存储大量数据。要从 ArcGIS 执行分析或发布数据,请使用数据子集。操作方式取决于您使用数据的目的。
- 如果要向 ArcMap 中添加数据以在地图中进行查看和分析,则添加查询图层并定义仅返回数据子集的查询图层表达式。
- 如果要向 ArcMap 中添加数据以发布地图服务,则定义仅包含数据子集的数据库视图。数据库视图存储在数据库中。可使用创建数据库视图地理处理工具或 SQL 客户端来定义视图。
- 如果要向 ArcMap 中添加数据以发布要素服务,则取消选中该选项以在将数据添加到地图前“默认将新添加的图层设为可见”。然后,打开查询构建器对话框并使用 SQL 定义数据的子集。限制 ArcMap 中将显示的数据量后,将图层设为可见并准备地图以供发布。
ArcGIS 中使用 Netezza 数据的附加原则
ArcGIS 针对使用 Netezza 有两项特定的限制:
- 如果使用传统 Netezza 空间类型,则表中所有空间列必须命名为 shape 或使用别名 shape。
传统空间类型使用 VARCHAR 数据类型;因此,shape 列名称或别名是 ArcGIS 确定该列存储空间数据而非文本的途径。
- ArcGIS 需要唯一的标识字段以渲染地图中的要素。ArcMap 在您将空间表添加到地图时会提示您指定此唯一 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
对于 Netezza Spatial Esri Package
|
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 = 使用的字节数量 |