A spatial database is a database that is optimized for storing and querying data that represents objects defined in a geometric space. Most spatial databases allow representing simple geometric objects such as points, lines and polygons. Some spatial databases handle more complex structures such as 3D objects, topological coverages, linear networks, and TINs. While typical databases have developed to manage various numeric and character types of data, such databases require additional functionality to process spatial data types efficiently, and developers have often added geometry or feature data types. The Open Geospatial Consortium developed the Simple Features specification (first released in 1997)[1] and sets standards for adding spatial functionality to database systems.[2] The SQL/MM Spatial ISO/EIC standard is a part the SQL/MM multimedia standard and extends the Simple Features standard with data types that support circular interpolations.[3]


A geodatabase (also geographical database and geospatial database) is a database of geographic data, such as countries, administrative divisions, cities, and related information. Such databases can be useful for websites that wish to identify the locations of their visitors for customization purposes.

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 operations and many more are specified by the Open Geospatial Consortium standard:

  • Spatial Measurements: Computes line length, polygon area, the distance between geometries, 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 about spatial relationships between geometries. Examples include "do two polygons overlap" or 'is there a residence located within a mile of the area we are planning to build the landfill?' (see DE-9IM)
  • Geometry Constructors: Creates new geometries, usually by specifying the vertices (points or nodes) which define the shape.
  • Observer Functions: Queries which return specific information about a feature such as the location of the center of a circle

Some databases support only simplified or modified sets of these operations, especially in cases of NoSQL systems like MongoDB and CouchDB.

Spatial index

Spatial indices are used by spatial databases (databases which store information related to objects in space) to optimize spatial queries. Conventional index types do not efficiently handle spatial queries such as how far two points differ, or whether points fall within a spatial area of interest. Common spatial index methods include:

Spatial database systems


Table of free systems especially for spatial data processing

DBS License Distributed Spatial objects Spatial functions PostgreSQL interface UMN MapServer interface Documentation Modifiable HDFS
GeoMesa Apache License 2.0 yes yes (Simple Features) yes (JTS) no (manufacturable with GeoTools) no parts of the functions, a few examples with Simple Feature Access in Java Virtual Machine and Apache Spark are all kinds of tasks solvable yes
ESRI GIS Tools for Hadoop Apache License 2.0 yes yes (own specific API) yes (union, difference, intersect, clip, cut, buffer, equals, within, contains, crosses, and touches) no no just briefly forking yes
Rasdaman server GPL, client LGPL, enterprise proprietary yes just raster raster manipulation with rasql yes with Web Coverage Service or Web Processing Service detailed wiki own defined function in enterprise edition no
PostgreSQL with PostGIS GNU General Public License no yes (Simple Features and raster) yes (Simple Feature Access and raster functions) yes yes detailed SQL, in connection with R no
Neo4J-spatial GNU affero general public license no yes (Simple Features) yes (contain, cover, covered by, cross, disjoint, intersect, intersect window, overlap, touch, within and within distance) no no just briefly fork of JTS no
Postgres-XL with PostGIS Mozilla public license and GNU general public license yes yes (Simple Features and raster) yes (Simple Feature Access and raster functions) yes yes PostGIS: yes, Postgres-XL: briefly SQL, in connection with R or Tcl or Python no
AsterixDB Apache License 2.0 yes yes (custom) center, radius, distance, area, intersect and cell no no good in Google Code own datatypes, functions and indexes possible
HadoopGIS GNU General Public License yes yes (custom, no raster) yes (contain, cover, covered by, cross, disjoint, intersect, overlap, within and nearest neighbor) no no just briefly forking yes
H2GIS LGPL 3 (since v1.3), GPL 3 before no yes (custom, no raster) Simple Feature Access and custom functions for H2Network yes no yes (homepage) SQL no
Ingres GPL or proprietary yes (if extension is installed) yes (custom, no raster) Geometry Engine, Open Source no with MapScript just briefly with C and OME no
RethinkDB AGPL yes yes
  • distance
  • getIntersecting
  • getNearest
  • includes
  • intersects
no no official docs forking no

See also


  1. ^ McKee, Lance (2016). "OGC History (detailed)". OGC. Retrieved 2016-07-12. [...] 1997 [...] OGC released the OpenGIS Simple Features Specification, which specifies the interface that enables diverse systems to communicate in terms of 'simple features' which are based on 2D geometry. The supported geometry types include points, lines, linestrings, curves, and polygons. Each geometric object is associated with a Spatial Reference System, which describes the coordinate space in which the geometric object is defined. 
  2. ^ OGC Homepage
  3. ^ (eds.), Wolfgang Kresse, David M. Danko (2010). Springer handbook of geographic information (1. ed.). Berlin: Springer. pp. 82–83. ISBN 9783540726807. 
  4. ^ All Registered Products at opengeospatial.org
  5. ^ Open Source GIS website
  6. ^ Wei Li (2008). "2.1 Spatio-temporal Databases". An Efficient Query System for High-dimensional Spatio-temporal Data. ProQuest. p. 12. ISBN 9780549797593. Retrieved 2016-07-07. Commercial spatial database management systems include IBM DB2's Spatial Extender [42], Oracle's Spatial and Oracle Locator [66], and Microsoft's SQL Server 2008 [58], etc. 
  7. ^ "HP Vertica Place". 2 December 2015. 
  8. ^ "GeoSpatial – MonetDB". 4 March 2014. 
  9. ^ http://dev.mysql.com/doc/refman/5.5/en/gis-introduction.html
  10. ^ SpaceBase product page on the Parallel Universe website
  11. ^ SpatialDB product page on the MineRP website
  12. ^ H2 geometry type documentation
  13. ^ H2 create spatial index documentation
  14. ^ Ingres 10S datasheet on Actian website

Further reading

External links