Spatial database

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 223.177.157.154 (talk) at 10:37, 4 September 2011. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A spatial database is a database that is optimized to store and query data that is related to objects in space, including points, lines and polygons. While typical databases can understand various numeric and character types of data, additional functionality needs to be added for databases to process spatial data types. These are typically called geometry or feature. The Open Geospatial Consortium created the Simple Features specification and sets standards for adding spatial functionality to database systems.[1]

Features of spatial databases

Database systems use indexes to quickly look up values and the way that most databases index data is not optimal for spatial queries. Instead, spatial databases use a spatial index to speed up database operations.

In addition to typical SQL queries such as SELECT statements, spatial databases can perform a wide variety of spatial operations. The following query types and many more are supported by the Open Geospatial Consortium:

  • Spatial Measurements: Finds the distance between points, polygon area, etc.
  • Spatial Functions: Modify existing features to create new ones, for example by providing a buffer around them, intersecting features, etc.
  • Spatial Predicates: Allows true/false queries such as 'is there a residence located within a mile of the area we are planning to build the landfill?' (see DE-9IM)
  • Constructor Functions: Creates new features with an SQL query specifying the vertices (points of nodes) which can make up lines. If the first and last vertex of a line are identical the feature can also be of the type polygon (a closed line).
  • Observer Functions: Queries which return specific information about a feature such as the location of the center of a circle

Not all spatial databases support these query types.

Spatial Index

Spatial indexes are used by spatial databases (databases which store information related to objects in space) to optimize spatial queries. Indexes used by non-spatial databases cannot effectively handle features such as how far two points differ and whether points fall within a spatial area of interest. Common spatial index methods include:

Geography

A geodatabase is a database designed to store, query, and manipulate geographic information and spatial data of low dimensionality. It is a specialized type of spatial database often with optimizations for 2 and 3 dimensions, raster data and Euclidean distance.

Spatial database systems

  • All OpenGIS Specifications compliant products[2]
  • Open source spatial databases and APIs, some of which are OpenGIS compliant[3]
  • Boeing's Spatial Query Server (Official Site) spatially enables Sybase ASE.
  • Smallworld VMDS, the native GE Smallworld GIS database
  • SpatiaLite extends Sqlite with spatial datatypes, functions, and utilities.
  • IBM DB2 Spatial Extender can be used to enable any edition of DB2, including the free DB2 Express-C, with support for spatial types
  • Oracle Spatial
  • Microsoft SQL Server has support for spatial types since version 2008
  • PostgreSQL DBMS (database management system) uses the spatial extension PostGIS to implement the standardized datatype geometry and corresponding functions.
  • MySQL DBMS implements the datatype geometry plus some spatial functions that haven't been implemented according to the OpenGIS specifications. Functions that test spatial relationships are limited to working with minimum bounding rectangles rather than the actual geometries. MySQL versions earlier than 5.0.16 only supported spatial data in MyISAM tables. As of MySQL 5.0.16, InnoDB, NDB, BDB, and ARCHIVE also support spatial features.
  • Neo4j - Graph database that can build 1D and 2D indexes as Btree, Quadtree and Hilbert curve directly in the graph
  • AllegroGraph - a Graph database provides a novel mechanism for efficient storage and retrieval of two-dimensional geospatial coordinates for Resource Description Framework data. It includes an extension syntax for SPARQL queries

See also

References

Further reading

  • Spatial Databases: A Tour, Shashi Shekhar and Sanjay Chawla, Prentice Hall, 2003 (ISBN 0-13-017480-7)
  • ESRI Press. ESRI Press titles include Modeling Our World: The ESRI Guide to Geodatabase Design, and Designing Geodatabases: Case Studies in GIS Data Modeling , 2005 Ben Franklin Award winner, PMA, The Independent Book Publishers Association.
  • Spatial Databases - With Application to GIS Philippe Rigaux, Michel Scholl and Agnes Voisard. Morgan-Kauffman Publishers. 2002 (ISBN 1-55860-588-6)

External links