December 18, 2012

Spatial Support

Note: The next update for this blog will be Jan. 8.

IBM Spatial Support for DB2 for z/OS provides a set of spatial data types that can be used to model real-world entities -- anything from the locations of customers, the boundaries of parks and the path of cable lines. Spatial data can be manipulated by using spatial functions that are invoked from within an SQL statement. Indexes can also be created on spatial data, and then used by DB2 to optimize spatial query performance.

The Spatial Support for DB2 for z/OS package became available in DB2 9 with the addition of the DB2 Accessories Suite for z/OS.

Having never worked with or supported applications that use spatial data, I’m very interested in learning more about the business application of spatial data and how is this supported in DB2. I started with the "Spatial Support for DB2 for z/OS User’s Guide and Reference." In addition to needing to understand the technology, I had to learn the terminology and concepts. I found that the first few chapters are particularly valuable in this regard.

Another good resource is the "DB2 10: What’s New?" guide. This notes that the SQL syntax for DB2 for z/OS and DB2 for LUW are in sync (for those doing cross-platform development).    In addition, Spatial Support includes an ODBC program that can be used to enable/disable the spatial feature. This program can invoke each of the stored procedures through a set of command line arguments.

Because standard DB2 for z/OS data definition language (DDL) doesn't support the capabilities to create tables with columns of spatial data type or indexes to optimize spatial queries, the Spatial Support add-on must be installed. In a follow-up post, I'll explain how to create tables and indexes containing spatial data.

If you've used DB2 spatial support, I'd love to hear from you. Please take a moment and leave a comment about your experiences. Also note that there's only scant information about this topic. So if you know something about spatial support, why not share your knowledge? That's how DB2 experts are created, after all.