Articles
   

 

 

What's So Special  About Spatial Data?
A look into the Oracle Spatial, Locator, and MapViewer Applications
By Damon D. Judd

Spatial or location-based data are increasingly viewed as integral elements of many core business applications including some advanced business intelligence and decision support applications such as supply chain logistics and enterprise asset management. These types of mission-critical business applications are different from, or in some cases an extension of more traditional applications in planning, natural resource management, agriculture, and others that have long been associated with these types of location-based data and a range of geospatial technologies. As location-based information becomes more of an integral component of mainstream business applications, the need to effectively manage these "special" data with core enterprise information becomes more pressing. This in turn has driven changes in the way business technologies such as database management software are engineered to meet those needs.

Historically, vendors of GIS solutions and providers of image processing and photogrammetric mapping software needed to deliver the tools required for analysis and visualization, as well as the basic data management capabilities for storing, indexing, and retrieving spatial data. The burden of providing this basic data management infrastructure was required because commercial database vendors had not yet extended their products to support basic spatial data types such as points, lines, polygons, and the more complex raster data that enable image-based applications.

Over the past decade this requirement has been alleviated as the data management infrastructure for geographic data and the basic operations to support it (i.e., indexing, retrieval, ability to analyze topologic relationships) have been introduced into commercial database products. As a result today nearly all GIS software vendors and a growing number of remote sensing applications rely on a commercial database solution to provide the basic support infrastructure for the effective use of those analytical toolsets.

Oracle Spatial

Spatial data can be complex, and many of the important location relationships between business data need to be presented in map form to be understood and appreciated. One vendor of commercial DBMS software has been working toward the goal of managing spatial data along with other business data in a common environment. Oracle Corporation hopes to change the geospatial landscape by offering a suite of spatial database management capabilities with every Oracle database that is delivered. For example, Oracle Spatial and Oracle Locator provide native data management in the Oracle9i (and soon, in the new 10g) database for location information such as road networks, wireless service boundaries, and geocoded customer addresses.

Even though all the major GIS software solutions (e.g., those offered by Autodesk, ESRI, GE Smallworld, Intergraph, and Mapinfo) currently "play well" with Oracle database technology, some of the new offerings might be perceived as competitive. On the other hand, Oracle databases are used in a myriad of industries and may very well open up new markets for geospatial information technology.

Oracle Spatial serves as a foundation for deploying enterprise-wide spatial information systems, and Web-based and wireless location-based applications. Since location data are fully integrated with the database, Oracle Spatial allows end users to easily incorporate location information directly in their applications and services.

Internally to Oracle Spatial, location data are modeled in layers, located in a common database, or a single table, sharing a common coordinate system. The basic data types include points, lines, and polygons (as with many standard GIS packages), and also support arc strings, circles, and compound polygons. Geographic data are manipulated using the same semantics applied to the standard Oracle data types (e.g., CHAR, DATE, INTEGER) that are familiar to all users of SQL.

Seeing the Forest Through the Trees

An important component of data retrieval that is unique to spatial data is the concept of spatial indexing. Oracle Spatial includes R-tree indexing (see Figure 1), in addition to quadtree indexing capability. R-tree indexes can be used in place of quadtree indexes, or in conjunction with them. Quadtree indexes, which subdivide (or "tessellate") the geometry into tiles to preserve the spatial organization of the data, used to be the only method of indexing geographic data in Oracle Spatial. Unfortunately, quadtree indexes were labor intensive to set up and required monitoring of changes to the data to keep the database properly tuned.

R-tree indexes have been introduced to alleviate those problems by providing a faster, more efficient indexing scheme for spatial data that requires less time to set up initially, and which also requires less administration as the data get updated. For a layer of geometries, an R-tree index consists of a hierarchical index on the minimum bounding rectangles (MBRs) of the geometries in the layer. As new data get added, or existing data layers are removed from the database, the R-tree index essentially updates itself.

Geocoding-Where Is My House?

The process of geocoding, or address matching, assigns an X, Y location in the spatial database according to a street address or other geographic reference such as a ZIP code or telephone area code. Oracle Spatial can integrate with any third party geocoding tools and services to match these records with an X, Y (longitude/latitude) point that is then stored in the database. Users can choose the best geocoding service to fit their needs (for example, one that provides international address support). This capability supports the analysis of spatial relationships, such as the proximity of store locations to customers within a given distance, or projected sales revenues by demographic territories.

Oracle Locator

The Oracle Locator product is designed specifically for business applications that use location-based services, including functionality typically required to support Internet-based and wireless service based applications. Some of the capabilities provided by this database option include:

  • Query nearest neighbor and other spatial relationships between geometries

  • Perform location queries on relational information not stored in Oracle Spatial geometry type

  • Support long transactions

  • Store and index vector geometries in the database

Using Oracle Locator, e-business applications such as call centers, and marketing and sales applications can incorporate mapping and spatial analysis capabilities. It also provides a foundation for a new class of location-based services such as concierge services (for example, to provide information on the location of service outlets, hotels, restaurants, etc.); emergency services; and other consumer-oriented services that are both Web-based and wireless.

Oracle Locator provides a subset of the functions included in Oracle Spatial, and provides data management for location information, including an Oracle native spatial data type (SDO_GEOMETRY) for points, lines, and polygons; some spatial operators; spatial indexing; and simple location analysis.

Oracle Application Server MapViewer

The latest offering for spatial data management from Oracle is the Application Server MapViewer extension (http:// otn.oracle.com/products/mapviewer/index.html). MapViewer is a Java-based (J2EE) service for rendering maps using spatial data managed by Oracle Spatial and/or Oracle Locator. MapViewer provides services and tools that hide the complexity of spatial data queries and cartographic rendering, while providing customizable options for more advanced users.

MapViewer users can control a map's appearance through mapping metadata that defines base maps, map themes, map symbols, styling rules, and other methods for displaying data managed in the Oracle database (see Figure 2) without altering the actual spatial data.

MapViewer is a simple rendering engine that builds a GIF or PNG format image for a user specified map defined in the Oracle dictionary. A user first defines a map by picking spatial layers (i.e., SDO_GEOMETRY column names) they would like to associate with a map. A user defines these maps by populating information into Oracle dictionary tables (see Figure 3).

Also included in MapViewer is a set of methods for querying non-spatial attributes based on locations (see Figure 4).

Oracle Database 10g

The latest release of Oracle DBMS technology is named 10g-the "g" stands for grid computing. Other new features relating to geospatial data that will be offered in the Oracle database 10g release include:

  • Network Data Model. To support applications such as routing and identifying optimal travel paths.

  • Topology. For analyzing spatial relationships in the data.

  • Geocoding.

  • GeoRaster support. This is a new data type for geo-referenced raster imagery such as remotely sensed data from satellites or airplanes. An XML schema is used to define metadata and for raster data management functions such as pyramiding, tiling, and interleaving.

  • Spatial Analysis functions. New capabilities including classification, spatial correlation, and other operators that support spatially-enabled data mining will be offered in the 10g release.

One new application that has already been developed to take advantage of the new capabilities in Oracle 10g is the iSMART application from eSpatial (Dublin, Ireland). This application was specifically designed to embed spatial data and capabilities in business applications using standard enterprise technologies. It also supports some of the new Open GIS Consortium (OGC) standards including Web Mapping Services (WMS), and the Geography Markup Language (GML), thereby enabling access to existing GIS applications over the Internet or an Intranet.

Yes, we've come a long way, baby. Now that spatial data are so prevalent in businesses, government agencies, and other enterprise-wide organizations, the time has arrived to apply tools that can seamlessly integrate special data in a spatial way.

About the Author

Damon D. Judd is President of Ala Carto Consulting, a private consulting practice in Louisville, Colorado offering GIS and spatial data management services to utilities, energy, local government, and environmental organizations.

Acknowledgments

I would like to thank Xavier Lopez (Director of Oracle Spatial, Location, and Network Technologies), and Jim Farley (Principal Product Manager, Oracle Spatial and Location Products) for their input and assistance with this article.