HOME

TheInfoList



OR:

A spatial database is a general-purpose database (usually a relational database) that has been enhanced to include
spatial data Geographic data and information is defined in the ISO/TC 211 series of standards as data and information having an implicit or explicit association with a location relative to Earth (a geographic location or geographic position). It is also cal ...
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 Point or points may refer to: Places * Point, Lewis, a peninsula in the Outer Hebrides, Scotland * Point, Texas, a city in Rains County, Texas, United States * Point, the NE tip and a ferry terminal of Lismore, Inner Hebrides, Scotland * Points ...
, lines and polygons. 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. The Open Geospatial Consortium (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 feature made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by g ...
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 the SQL/MM multimedia standard and extends the Simple Features standard with data types that support circular interpolations.


Geodatabase

A geodatabase (also geographical database and geospatial database) is a database of
geographic data Geographic data and information is defined in the ISO/TC 211 series of standards as data and information having an implicit or explicit association with a location relative to Earth (a geographic location or geographic position). It is also cal ...
, such as
countries A country is a distinct part of the world, such as a state, nation, or other political entity. It may be a sovereign state or make up one part of a larger state. For example, the country of Japan is an independent, sovereign state, while th ...
,
administrative divisions Administrative division, administrative unit,Article 3(1). country subdivision, administrative region, subnational entity, constituent state, as well as many similar terms, are generic names for geographical areas into which a particular, ind ...
,
cities A city is a human settlement of notable size.Goodall, B. (1987) ''The Penguin Dictionary of Human Geography''. London: Penguin.Kuper, A. and Kuper, J., eds (1996) ''The Social Science Encyclopedia''. 2nd edition. London: Routledge. It can be de ...
, and related information. Such databases can be useful for websites that wish to identify the locations of their visitors for customization purposes.


Characteristics

Database systems use indexes to quickly look up values; however, this way of indexing 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 The Dimensionally Extended 9-Intersection Model (DE-9IM) is a topological model and a standard used to describe the spatial relations of two regions (two geometries in two-dimensions, R2), in geometry, point-set topology, geospatial topology, ...
) *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 A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existe ...
systems like MongoDB and
CouchDB Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang. CouchDB uses multiple formats and protocols to store, transfer, and process its data. It uses JSON to store data, JavaScript as its query language using M ...
.


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: *
Binary space partitioning In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a represe ...
(BSP-Tree): Subdividing space by hyperplanes. *
Bounding volume hierarchy A bounding volume hierarchy (BVH) is a tree structure on a set of geometric objects. All geometric objects, that form the leaf nodes of the tree, are wrapped in bounding volumes. These nodes are then grouped as small sets and enclosed within lar ...
(BVH) * Geohash * Grid (spatial index) * HHCode * Hilbert R-tree * kd-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 children. Octrees are most often used to partition a three-dimensional space by recursively subdividing it into eight octants. Octrees are the three-dimensional anal ...
*
PH-tree The PH-tree is a tree data structure used for spatial indexing of multi-dimensional data (keys) such as geographical coordinates, points, feature vectors, rectangles or bounding boxes. The PH-tree is space partitioning index with a structur ...
* Quadtree * R-tree: Typically the preferred method for indexing spatial data. Objects (shapes, lines and points) are grouped using the minimum bounding rectangle (MBR). Objects are added to an MBR within the index that will lead to the smallest increase in its size. *
R+ tree An R+ tree is a method for looking up data using a location, often (x, y) coordinates, and often for locations on the surface of the earth. Searching on one number is a solved problem; searching on two or more, and asking for locations that are nea ...
* R* tree *
UB-tree The UB-tree as proposed by Rudolf Bayer and Volker Markl is a balanced tree for storing and efficiently retrieving multidimensional data. It is basically a B+ tree (information only in the leaves) with records stored according to Z-order Z-orde ...
*
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) a ...
*
Z-order (curve) In mathematical analysis and computer science, functions which are Z-order, Lebesgue curve, Morton space-filling curve, Morton order or Morton code map multidimensional data to one dimension while preserving locality of the data points. It i ...


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 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 list contains commonly used functions built into PostGIS, 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 '' *Distance(geometry, geometry) : number *Equals(geometry, geometry) : boolean *Disjoint(geometry, geometry) : boolean *Intersects(geometry, geometry) : boolean *Touches(geometry, geometry) : boolean *Crosses(geometry, geometry) : boolean *Overlaps(geometry, geometry) : boolean *Contains(geometry, geometry) : boolean *Length(geometry) : number *Area(geometry) : number *
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 surface of the figure. The same definition extends to any o ...
(geometry) : geometry


Spatial database management systems


List

*
AllegroGraph AllegroGraph is a closed source triplestore which is designed to store RDF triples, a standard format for Linked Data. It also operates as a document store designed for storing, retrieving and managing document-oriented information, in JSON-LD ...
– a graph database which provides a mechanism for efficient storage and retrieval of two-dimensional geospatial coordinates for Resource Description Framework data. It includes an extension syntax for SPARQL queries. * ArangoDB - a multi-model database which provides geoindexing capability. *
Apache Drill Apache Drill is an open-source software framework that supports data-intensive distributed applications for interactive analysis of large-scale datasets. Built chiefly by contributions from developers from MapR, Drill is inspired by Google's Dre ...
- A MPP SQL query engine for querying large datasets. Drill supports spatial data types and functions similar to PostgreSQL. *
Caliper A caliper ( British spelling also calliper, or in plurale tantum sense a pair of calipers) is a device used to measure the dimensions of an object. Many types of calipers permit reading out a measurement on a ruled scale, a dial, or a digital d ...
extends the Raima Data Manager with spatial datatypes, functions, and utilities. *
CouchDB Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang. CouchDB uses multiple formats and protocols to store, transfer, and process its data. It uses JSON to store data, JavaScript as its query language using M ...
a document-based database system that can be spatially enabled by a plugin called Geocouch * Elasticsearch 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 GeoMesa is an open-source, distributed, spatio-temporal index built on top of Bigtable-style databases using an implementation of the Geohash algorithm. Description Written in Scala, GeoMesa is capable of ingesting, indexing, and querying bill ...
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 that facilitates using a network of many computers to solve problems involving massive amounts of data and computation. It provides a software framework for distributed storage an ...
(also supports
Apache HBase HBase is an open-source non-relational distributed database modeled after Google's Bigtable and written in Java. It is developed as part of Apache Software Foundation's Apache Hadoop project and runs on top of HDFS (Hadoop Distributed File S ...
, Google
Bigtable Bigtable is a fully managed wide-column and key-value NoSQL database service for large analytical and operational workloads as part of the Google Cloud portfolio. History Bigtable development began in 2004.. It is now used by a number of Google ...
,
Apache Cassandra Cassandra is a free and open-source, distributed, wide-column store, NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandr ...
, and
Apache Kafka Apache Kafka is a distributed event store and stream-processing platform. It is an open-source system developed by the Apache Software Foundation written in Java and Scala. The project aims to provide a unified, high-throughput, low-latency plat ...
). 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 feature made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by g ...
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 feature made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by g ...
support. * Any edition of IBM Db2 can be spatially-enabled to implement the OpenGIS spatial functionality with SQL spatial types and functions. *
IBM Informix IBM Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) offerings. The Informix products were originally developed by Informix Corporation, whose ...
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 relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which ...
has support for spatial types since version 2008 * MonetDB/GIS extension for MonetDB adds OGS Simple Features to the relational column-store database. * MySQL 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 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 for ...
, Quadtree and Hilbert curve directly in the graph * 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 DBMS (database management system) uses the extension PostGIS to implement OGC-compliant spatial functionality, including standardized datatype ''geometry'' and corresponding functions. * Redis with the Geo API. * RethinkDB supports geospatial indexes in 2D. * SAP HANA supports geospatial with SPS08. *
Smallworld Smallworld is the brand name of a portfolio of GIS software provided by GE Digital, a division of General Electric. The software was originally created by the Smallworld company founded in Cambridge, England, in 1989 by Dick Newell and others. ...
VMDS VMDS abbreviates the relational database technology called Version Managed Data Store provided by GE Energy as part of its Smallworld technology platform and was designed from the outset to store and analyse the highly complex spatial and topologi ...
, the native GE
Smallworld Smallworld is the brand name of a portfolio of GIS software provided by GE Digital, a division of General Electric. The software was originally created by the Smallworld company founded in Cambridge, England, in 1989 by Dick Newell and others. ...
GIS database *
Spatial Query Server {{Infobox Software , name = Boeing Spatial Query Server , logo = Boeing full logo.svg , logo size = 240px , screenshot = Sqs viewer.jpg , screenshot size = 255px , caption ...
from
Boeing The Boeing Company () is an American multinational corporation that designs, manufactures, and sells airplanes, rotorcraft, rockets, satellites, telecommunications equipment, and missiles worldwide. The company also provides leasing and produc ...
spatially enables Sybase ASE. *
SpatiaLite SpatiaLite is a spatial extension to SQLite, providing vector geodatabase functionality. It is similar to PostGIS, Oracle Spatial, and SQL Server with spatial extensions, although SQLite/SpatiaLite aren't based on client-server architecture: they ...
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) is a type of database containing geographic data (that is, descriptions of phenomena for which location is relevant), combined with software tools for managing, analyzing, and visualizing those data. In a ...
(GIS) * GeoSPARQL * Glacio-geological databases * Location intelligence *
Multimedia database A Multimedia database (MMDB) is a collection of related for multimedia data. The multimedia data include one or more primary media data types such as text, images, graphic objects (including drawings, sketches and illustrations) animation sequence ...
* Nearest neighbor search *
Object-based spatial database An object-based spatial database is a spatial database that stores the location as objects. The object-based spatial model treats the world as surface littered with recognizable objects (e.g. cities, rivers), which exist independent of their locat ...
*
Simple Features Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic feature made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by g ...
* Spatial analysis *
Spatial ETL Spatial extract, transform, load (spatial ETL), also known as geospatial transformation and load (GTL), provides the data processing functionality of traditional extract, transform, load (ETL) software, but with a primary focus on the ability to ma ...
*
Spatiotemporal database A spatiotemporal database is a database that manages both space and time information. Common examples include: * Tracking of moving objects, which typically can occupy only a single position at a given time. * A database of wireless communication n ...


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