You can connect to your Netezza data warehouse appliance from ArcGIS to perform complex spatial analysis on subsets of your data.
To use ArcGIS with Netezza, install a supported version of the Netezza Spatial Package in the database management system, and install and configure the Netezza ODBC driver on the ArcGIS client machines that will connect to the database. See the IBM Netezza Data Warehouse Appliance requirements for ArcGIS for a list of supported Netezza data warehouse versions, spatial packages, and ODBC drivers.
Use data subsets
In most cases, you store large amounts of data in the Netezza data warehouse appliance. To perform analyses from ArcGIS or publish data, use a subset of data. How you do this depends on what you want to do with the data.
- If you are adding data to ArcMap for viewing and analysis within the map, add a query layer and define the query layer expression to return only a subset of the data.
- If you are adding data to ArcMap to publish a map service, define a database view that contains only a subset of the data. Database views are stored in the database. You can use the Create Database View geoprocessing tool or an SQL client to define views.
- If you are adding data to ArcMap to publish a feature service, uncheck the option to Make newly added layers visible by default before adding your data to the map. Next, open the Query Builder dialog box and define a subset of data using SQL. Once you have restricted the amount of data that will display in ArcMap, make the layer visible and prepare your map for publishing.
Additional guidelines for Netezza data used in ArcGIS
There are two ArcGIS-specific limitations for using Netezza:
- If you use the legacy Netezza spatial type, the spatial columns in your tables must be named shape or aliased to shape.
The legacy spatial type uses the VARCHAR data type; therefore, the shape column name or alias is how ArcGIS identifies that the column stores spatial data rather than text.
- ArcGIS requires a unique identification field to render features in a map. ArcMap prompts you to specify this unique ID field when you add a spatial table to the map.
ArcGIS tools do not insert new values into the unique ID fields in a database; rather, they rely on the database to insert values to the field. Since Netezza does not have a data type or built-in mechanism to populate values in an ID field, ArcGIS tools that create new rows in a database table cannot be used with Netezza.
The other limitations are related to Netezza itself. As a Netezza user, you know that Netezza Spatial stores simple data. Therefore, you cannot paste nonsimple data from another database into Netezza.
As a Netezza user, you also know that rows are limited to a total size of 65,535 bytes. To help you calculate row sizes, the following table shows the Netezza data types that ArcGIS creates in Netezza and the amount of disk space the data types use:
ArcGIS field type | Netezza data type created | Disk usage |
---|---|---|
DATE | timestamp | 8 bytes |
DOUBLE | numeric(p,s) By default, p (precision) = 38 and s (scale) = 8. | Precision of 9 or less = 4 bytes Precision of 10–18 = 8 bytes Precision of 19–38 = 16 bytes |
FLOAT | If precision of 6 or less is specified, numeric(p,s) is created. If precision 7–15 is specified, double is created. | numeric = 4 bytes double = 8 bytes |
GEOMETRY | If you use the legacy Netezza Spatial Package, a variable length character (up to 64,000) column is created. If you use the Netezza Spatial Esri Package, an ST_Geometry column is created. | For the legacy Netezza Spatial Package
For the Netezza Spatial Esri Package
|
GUID | Fixed-length character(38) | 40 bytes |
LONG INTEGER | If scale is greater than 0, numeric(p,s) is created. If scale is 0, an integer is created. | integer = 4 bytes numeric with precision of 9 or less = 4 bytes numeric with precision of 10–18 = 8 bytes numeric with precision of 19–38 = 16 bytes |
OBJECTID | integer | 4 bytes |
SHORT INTEGER | smallint | 2 bytes |
TEXT | Variable length, Unicode(p) P is the field length you specify for the TEXT field. The default value is 50. | p x 4 = number of bytes used |