HOME

TheInfoList



OR:

A spatial database is a general-purpose
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
(usually a
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
) that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data. Most spatial databases allow the representation of simple geometric objects such as points, lines and
polygon In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain. The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon ...
s. Some spatial databases handle more complex structures such as 3D objects, topological coverages, linear networks, and triangulated irregular networks (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. Geographic database (or geodatabase) is a georeferenced spatial database, used for storing and manipulating geographic data (or geodata, i.e., data associated with a location on Earth), especially in
geographic information systems A geographic information system (GIS) consists of integrated computer hardware and software that store, manage, analyze, edit, output, and visualize geographic data. Much of this often happens within a spatial database; however, this is not ...
(GIS). Almost all current relational and object-relational database management systems now have spatial extensions, and some GIS software vendors have developed their own spatial extensions to database management systems. The
Open Geospatial Consortium The Open Geospatial Consortium (OGC) is an international voluntary consensus standards organization that develops and maintains international standards for geospatial content and location-based services, sensor web, Internet of Things, Geographi ...
(OGC) developed the ''
Simple Features Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic features made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by ...
'' specification (first released in 1997) and sets standards for adding spatial functionality to database systems. The ''SQL/MM Spatial'' ISO/IEC standard is a part of the structured query language and multimedia standard extending the Simple Features.


Characteristics

The core functionality added by a spatial extension to a database is one or more ''spatial datatypes'', which allow for the storage of spatial data as attribute values in a table. Most commonly, a single spatial value would be a
geometric primitive In vector computer graphics, CAD systems, and geographic information systems, a geometric primitive (or prim) is the simplest (i.e. 'atomic' or irreducible) geometric shape that the system can handle (draw, store). Sometimes the subroutines ...
(point, line, polygon, etc.) based on the vector data model. The datatypes in most spatial databases are based on the OGC
Simple Features Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic features made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by ...
specification for representing geometric primitives. Some spatial databases also support the storage of raster data. Because all geographic locations must be specified according to a
spatial reference system A spatial reference system (SRS) or coordinate reference system (CRS) is a framework used to precisely measure locations on the surface of Earth as coordinates. It is thus the application of the abstract mathematics of coordinate systems and anal ...
, spatial databases must also allow for the tracking and transformation of coordinate systems. In many systems, when a spatial column is defined in a table, it also includes a choice of coordinate system, chosen from a list of available systems that is stored in a lookup table. The second major functionality extension in a spatial database is the addition of spatial capabilities to the query language (e.g.,
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
); these give the spatial database the same query, analysis, and manipulation operations that are available in traditional GIS software. In most relational database management systems, this functionality is implemented as a set of new functions that can be used in SQL SELECT statements. Several types of operations are specified by the
Open Geospatial Consortium The Open Geospatial Consortium (OGC) is an international voluntary consensus standards organization that develops and maintains international standards for geospatial content and location-based services, sensor web, Internet of Things, Geographi ...
standard: *Measurement: Computes line length, polygon area, the distance between geometries, etc. *Geoprocessing: Modify existing features to create new ones, for example by creating a buffer around them, intersecting features, etc. *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 The Dimensionally Extended 9-Intersection Model (DE-9IM) is a topological Interpretation (logic), model and a Specification (technical standard), standard used to describe the spatial relations of two regions (two 2D geometric model, geometries ...
) *Geometry Constructors: Creates new geometries, usually by specifying the vertices (points or nodes) which define the shape. *Observer Functions: Queries that 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 NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
systems like
MongoDB MongoDB is a source-available, cross-platform, document-oriented database program. Classified as a NoSQL database product, MongoDB uses JSON-like documents with optional database schema, schemas. Released in February 2009 by 10gen (now MongoDB ...
and CouchDB.


Spatial index

A spatial index is used by a spatial database to optimize spatial queries, implementing spatial access methods. Database systems use indices to quickly look up values by sorting data values in a linear (e.g. alphabetical) order; however, this way of indexing data is not optimal for spatial queries in two- or three-dimensional space. Instead, spatial databases use a ''spatial'' index designed specifically for multi-dimensional ordering. Common spatial index methods include: * Binary space partitioning (BSP-Tree): Subdividing space by hyperplanes. * Bounding volume hierarchy (BVH) * Geohash * Grid (spatial index) * HHCode *
Hilbert R-tree Hilbert R-tree, an R-tree variant, is an index for multidimensional objects such as lines, regions, 3-D objects, or high-dimensional feature-based parametric objects. It can be thought of as an extension to B+-tree for multidimensional objects. T ...
* ''k''-d tree * m-tree – an m-tree index can be used for the efficient resolution of similarity queries on complex objects as compared using an arbitrary metric. *
Octree An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
* PH-tree * Quadtree *
R-tree R-trees are tree data structures used for spatial access methods, i.e., for indexing multi-dimensional information such as geographical coordinates, rectangles or polygons. The R-tree was proposed by Antonin Guttman in 1984 and has found s ...
: Typically the preferred method for indexing spatial data. Objects (shapes, lines and points) are grouped using the
minimum bounding rectangle In computational geometry, the minimum bounding rectangle (MBR), also known as bounding box (BBOX) or envelope, is an expression of the maximum extents of a two-dimensional object (e.g. point, line, polygon) or set of objects within its coord ...
(MBR). Objects are added to an MBR within the index that will lead to the smallest increase in its size. *
R+ tree R-trees are tree data structures used for spatial index, spatial access methods, i.e., for indexing multi-dimensional information such as Geographic coordinate system, geographical coordinates, rectangles or polygons. The R-tree was proposed ...
* R* tree * UB-tree *
X-tree In computer science tree data structures, an X-tree (for ''eXtended node tree'') is an index tree structure based on the R-tree used for storing data in many dimensions. It appeared in 1996, and differs from R-trees (1984), R+-trees (1987) and ...
* Z-order (curve)


Spatial query

A spatial query is a special type of database query supported by spatial databases, including geodatabases. The queries differ from non-spatial
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
queries in several important ways. Two of the most important are that they allow for the use of geometry data types such as points, lines and polygons and that these queries consider the spatial relationship between these geometries. The function names for queries differ across geodatabases. The following are a few of the functions built into
PostGIS PostGIS ( ) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC). PostGIS is ...
, a free geodatabase which is a PostgreSQL extension (the term 'geometry' refers to a point, line, box or other two or three dimensional shape): Function prototype: ''functionName (parameter(s)) : return type '' * ST_Distance(geometry, geometry) : number * ST_Equals(geometry, geometry) : boolean * ST_Disjoint(geometry, geometry) : boolean * ST_Intersects(geometry, geometry) : boolean * ST_Touches(geometry, geometry) : boolean * ST_Crosses(geometry, geometry) : boolean * ST_Overlaps(geometry, geometry) : boolean * ST_Contains(geometry, geometry) : boolean * ST_Length(geometry) : number * ST_Area(geometry) : number * ST_
Centroid In mathematics and physics, the centroid, also known as geometric center or center of figure, of a plane figure or solid figure is the arithmetic mean position of all the points in the figure. The same definition extends to any object in n-d ...
(geometry) : geometry * ST_Intersection(geometry, geometry) : geometry Thus, a spatial join between a points layer of cities and a polygon layer of countries could be performed in a spatially-extended SQL statement as: SELECT * FROM cities, countries WHERE ST_Contains(countries.shape, cities.shape) The Intersect vector overlay operation (a core element of GIS software) could be replicated as: SELECT ST_Intersection(veg.shape, soil.shape) int_poly, veg.*, soil.* FROM veg, soil where ST_Intersects(veg.shape, soil.shape)


Spatial database management systems


List

* AllegroGraph – a
graph database A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph (or edge or relationship). The graph relates the dat ...
which provides a mechanism for efficient storage and retrieval of two-dimensional geospatial coordinates for
Resource Description Framework The Resource Description Framework (RDF) is a method to describe and exchange graph data. It was originally designed as a data model for metadata by the World Wide Web Consortium (W3C). It provides a variety of syntax notations and formats, of whi ...
data. It includes an extension syntax for SPARQL queries. * ArangoDB - a multi-model database which provides geoindexing capability. * Apache Drill - A MPP SQL query engine for querying large datasets. Drill supports spatial data types and functions similar to PostgreSQL. * Esri Geodatabase (Enterprise, Mobile) - a proprietary spatial database structure and logical model that can be implemented on several relational databases, both commercial (Oracle, MS SQL Server, Db2) and open source (PostgreSQL, SQLite) * Caliper extends the Raima Data Manager with spatial datatypes, functions, and utilities. * CouchDB a document-based database system that can be spatially enabled by a plugin called Geocouch *
Elasticsearch Elasticsearch is a Search engine (computing), search engine based on Apache Lucene, a free and open-source search engine. It provides a distributed, Multitenancy, multitenant-capable full-text search engine with an HTTP web interface and schema ...
is a document-based database system that supports two types of geo data: geo_point fields which support lat/lon pairs, and geo_shape fields, which support points, lines, circles, polygons, multi-polygons, etc. * GeoMesa is a cloud-based spatio-temporal database built on top of Apache Accumulo and
Apache Hadoop Apache Hadoop () is a collection of open-source software utilities for reliable, scalable, distributed computing. It provides a software framework for distributed storage and processing of big data using the MapReduce programming model. Hadoop wa ...
(also supports Apache HBase,
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
Bigtable,
Apache Cassandra Apache Cassandra is a free and open-source software, free and open-source database management system designed to handle large volumes of data across multiple Commodity computing, commodity servers. The system prioritizes availability and scalab ...
, and Apache Kafka). GeoMesa supports full OGC
Simple Features Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic features made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by ...
and a GeoServer plugin. * H2 supports geometry types and spatial indices as of version 1.3.173 (2013-07-28). An extension called H2GIS available on Maven Central gives full OGC
Simple Features Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic features made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by ...
support. * Any edition of IBM Db2 can be spatially-enabled to implement the OpenGIS spatial functionality with SQL spatial types and functions. * IBM Informix Geodetic and Spatial datablade extensions auto-install on use and expand Informix's datatypes to include multiple standard coordinate systems and support for RTree indexes. Geodetic and Spatial data can also be incorporated with Informix's Timeseries data support for tracking objects in motion over time. * Linter SQL Server supports spatial types and spatial functions according to the OpenGIS specifications. *
Microsoft SQL Server Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
has support for spatial types since version 2008 * MonetDB/GIS extension for MonetDB adds OGS Simple Features to the relational column-store database. *
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
DBMS implements the datatype ''geometry'', plus some spatial functions implemented according to the OpenGIS specifications. However, in MySQL version 5.5 and earlier, 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 – a
graph database A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph (or edge or relationship). The graph relates the dat ...
that can build 1D and 2D indexes as
B-tree In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing fo ...
, Quadtree and Hilbert curve directly in the
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discret ...
* OpenLink Virtuoso has supported SQL/MM since version 6.01.3126, with significant enhancements including GeoSPARQL in Open Source Edition 7.2.6, and in Enterprise Edition 8.2.0 * Oracle Spatial *
PostgreSQL PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
DBMS (database management system) uses the extension
PostGIS PostGIS ( ) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC). PostGIS is ...
to implement OGC-compliant spatial functionality, including standardized datatype ''geometry'' and corresponding functions. *
Redis Redis (; Remote Dictionary Server) is an in-memory key–value database, used as a distributed cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low- latency reads ...
with the Geo API. * RethinkDB supports geospatial indexes in 2D. * SAP HANA supports geospatial with SPS08. * Smallworld VMDS, the native GE Smallworld GIS database
SpaceTime
is a commercial spatiotemporal database built on top of the proprietary multidimensional index similar to the ''k''-d tree family, but created using the bottom-up approach and adapted to particular space-time distribution of data. * Spatial Query Server from
Boeing The Boeing Company, or simply Boeing (), is an American multinational corporation that designs, manufactures, and sells airplanes, rotorcraft, rockets, satellites, and missiles worldwide. The company also provides leasing and product support s ...
spatially enables Sybase ASE. * SpatiaLite extends Sqlite with spatial datatypes, functions, and utilities. * Tarantool supports geospatial queries with RTREE index. * Teradata Geospatial includes 2D spatial functionality (OGC-compliant) in its data warehouse system. * Vertica Place, the geo-spatial extension for HP Vertica, adds OGC-compliant spatial features to the relational column-store database.


Table of free systems especially for spatial data processing


See also

*
Geographic information system A geographic information system (GIS) consists of integrated computer hardware and Geographic information system software, software that store, manage, Spatial analysis, analyze, edit, output, and Cartographic design, visualize Geographic data ...
(GIS) * GeoSPARQL * Glacio-geological databases *
Location intelligence In business intelligence, location intelligence (LI), or spatial intelligence, is the process of deriving meaningful insight from geospatial data relationships to solve a particular problem. It involves layering multiple data sets spatially and/o ...
* Multimedia database *
Nearest neighbor search Nearest neighbor search (NNS), as a form of proximity search, is the optimization problem of finding the point in a given set that is closest (or most similar) to a given point. Closeness is typically expressed in terms of a dissimilarity function: ...
* Object-based spatial database *
Simple Features Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic features made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by ...
*
Spatial analysis Spatial analysis is any of the formal Scientific technique, techniques which study entities using their topological, geometric, or geographic properties, primarily used in Urban design, Urban Design. Spatial analysis includes a variety of techni ...
* Spatial ETL * Spatiotemporal database


Notes


References


Further reading


Spatial Databases: A Tour
Shashi Shekhar and Sanjay Chawla, Prentice Hall, 2003 ()
Spatial Databases – With Application to GIS
Philippe Rigaux, Michel Scholl and Agnes Voisard. Morgan Kaufmann Publishers. 2002 ()
Evaluation of Data Management Systems for Geospatial Big Data
Pouria Amirian, Anahid Basiri and Adam Winstanley. Springer. 2014 ()


External links


An introduction to PostgreSQL PostGIS
SOA
A Trigger Based Security Alarming Scheme for Moving Objects on Road Networks
Sajimon Abraham, P. Sojan Lal, Published by Springer Berlin / Heidelberg-2008.

ArcGIS Resource Center description of a geodatabase {{Authority control Geometric algorithms