Oracle Spatial

Oracle Spatial forms a separately-licensed option component of the Oracle Database. Oracle Spatial aids users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping/facilities-management and geographic information systems (GIS), to wireless location services and location-enabled e-business.

Components
Oracle Spatial provides a SQL schema (named by default "MDSYS", where "MD" stands for "Multi Dimensional") and functions that facilitate the storage, retrieval, update, and query of collections of spatial features in an Oracle database. Oracle Spatial consists of:


 * A schema that prescribes the storage, syntax, and semantics of supported geometric data types.
 * A spatial indexing system.
 * Operators, functions, and procedures for performing area-of-interest queries, spatial join queries, and other spatial analysis operations.
 * Functions and procedures for utility and tuning operations.
 * A topology data model for working with data about nodes, edges, and faces in a topology.
 * A network data model for representing capabilities or objects (modeled as nodes and links) in a network.
 * A GeoRaster feature to store, index, query, analyze, and deliver GeoRaster data (raster image and gridded data and its associated metadata).

The spatial component of a spatial feature consists of the geometric representation of its shape in some coordinate space — referred to as its "geometry".

Availability
Spatial is installed in most editions of the Oracle RDBMS, but is not licensed in all cases. It is a feature of Database Enterprise Edition, and must be licensed separately. It is not included in the Standard Edition and Standard Edition One. However, the latter two editions allow the use of a subset of Spatial (called Oracle Locator) at no extra cost. The functions allowed in Locator are specified in an appendix of the Oracle Spatial manual.

History
The Oracle RDBMS first incorporated spatial-data capability with a modification to Oracle 4 made by scientists working with the Canadian Hydrographic Service (CHS). A joint development team of CHS and Oracle personnel subsequently redesigned the Oracle kernel, resulting in the "Spatial Data Option" or "SDO" for Oracle 7. (The SDO_ prefix continues in use within Oracle Spatial implementations.) The spatial indexing system for SDO involved an adaptation of Riemannian hypercube data-structures, invoking a helical spiral through 3-dimensional space, which allows n-size of features. This also permitted a highly efficient compression of the resulting data, suitable for the petabyte-size data repositories that CHS and other major corporate users required, and also improving search and retrieval times. The "helical hyperspatial code", or HHCode, as developed by CHS and implemented by Oracle Spatial, comprises a form of space filling curve.

Since Oracle 8, Oracle Corporation marketing has dubbed the spatial extension simply "Oracle Spatial". The primary spatial indexing system no longer uses the HHCode, but a standard r-tree index.

Additional Reading

 * Euro Beinat, Albert Godfrind & Ravikanth V. Kothuri. Pro Oracle Spatial. Apress (2004) ISBN 1-59059-383-9
 * Euro Beinat, Albert Godfrind & Ravikanth V. Kothuri. Pro Oracle Spatial for Oracle Database 11g. Apress (2007) ISBN 1-59059-899-7