Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Spatial database

From Wikipedia, the free encyclopedia
(Redirected fromSpatial index)
Database optimized for data representing objects in a geometric space

Aspatial database is a general-purposedatabase (usually arelational database) that has been enhanced to includespatial data that represents objects defined in ageometric space, along with tools forquerying and analyzing such data.

Most spatial databases allow the representation of simple geometric objects such aspoints,lines andpolygons. Some spatial databases handle more complex structures such as3D objects,topological coverages, linear networks, andtriangulated irregular networks (TINs). While typical databases have developed to manage various numeric and charactertypes of data, such databases require additional functionality to process spatial data types efficiently, and developers have often addedgeometry orfeature data types.

Geographic database (orgeodatabase) is ageoreferenced spatial database, used for storing and manipulatinggeographic data (or geodata, i.e., data associated with a location on Earth),[a] especially ingeographic information systems (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.

TheOpen Geospatial Consortium (OGC) developed theSimple Features specification (first released in 1997)[1] and sets standards for adding spatial functionality to database systems.[2] TheSQL/MM Spatial ISO/IEC standard is a part of the structured query language and multimedia standard extending the Simple Features.[3]

Characteristics

[edit]

The core functionality added by a spatial extension to a database is one or morespatial datatypes, which allow for the storage of spatial data as attribute values in a table.[4] Most commonly, a single spatial value would be ageometric primitive (point, line, polygon, etc.) based on thevector data model. The datatypes in most spatial databases are based on the OGCSimple Features specification for representing geometric primitives. Some spatial databases also support the storage ofraster data. Because all geographic locations must be specified according to aspatial reference system, 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); 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 theOpen Geospatial Consortium 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?' (seeDE-9IM)
  • 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 ofNoSQL systems likeMongoDB andCouchDB.

Spatial index

[edit]

Aspatial index is used by a spatial database to optimizespatial 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 forspatial queries in two- or three-dimensional space. Instead, spatial databases use aspatial index designed specifically for multi-dimensional ordering.[5] Common spatial index methods include:

Spatial query

[edit]

Aspatial query is a special type ofdatabase query supported by spatial databases, including geodatabases. The queries differ from non-spatialSQL 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 intoPostGIS, a free geodatabase which is a PostgreSQL extension (the term 'geometry' refers to a point, line, box or other two or three dimensional shape):[7]

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(geometry) : geometry
  • ST_Intersection(geometry, geometry) : geometry

Thus, aspatial 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 Intersectvector 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

[edit]
Main category:Spatial database management systems
Main category:Geographical databases

List

[edit]
  • AllegroGraph – agraph database which provides a mechanism for efficient storage and retrieval of two-dimensional geospatial coordinates forResource Description Framework data.[citation needed] It includes an extension syntax forSPARQL 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[8] similar to PostgreSQL.
  • EsriGeodatabase (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 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.[9]
  • GeoMesa is a cloud-based spatio-temporal database built on top ofApache Accumulo andApache Hadoop (also supportsApache HBase,GoogleBigtable,Apache Cassandra, andApache Kafka). GeoMesa supports full OGCSimple Features and a GeoServer plugin.
  • H2 supports geometry types[10] and spatial indices[11] as of version 1.3.173 (2013-07-28). An extension called H2GIS available on Maven Central gives full OGCSimple Features support.
  • Any edition ofIBM 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 has support for spatial types since version 2008
  • MonetDB/GIS extension forMonetDB adds OGS Simple Features to the relationalcolumn-store database.[12]
  • MySQL DBMS implements the datatypegeometry, plus some spatial functions implemented according to the OpenGIS specifications.[13] 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 – agraph database that can build 1D and 2D indexes asB-tree,Quadtree andHilbert curve directly in thegraph
  • OpenLink Virtuoso has supported SQL/MM since version 6.01.3126,[14] with significant enhancements includingGeoSPARQL in Open Source Edition 7.2.6, and in Enterprise Edition 8.2.0[15]
  • Oracle Spatial
  • PostgreSQL DBMS (database management system) uses the extensionPostGIS to implement OGC-compliant[16] spatial functionality, including standardized datatypegeometry and corresponding functions.
  • Redis with the Geo API.[17]
  • RethinkDB supports geospatial indexes in 2D.
  • SAP HANA supports geospatial with SPS08.[18]
  • SmallworldVMDS, the native GESmallworld GIS database
  • SpaceTime is a commercial spatiotemporal database built on top of the proprietary multidimensional index similar to thek-d tree family, but created using the bottom-up approach and adapted to particular space-time distribution of data.
  • Spatial Query Server fromBoeing spatially enables Sybase ASE.
  • SpatiaLite extendsSqlite with spatial datatypes, functions, and utilities.
  • Tarantool supports geospatial queries with RTREE index.[19]
  • Teradata Geospatial includes 2D spatial functionality (OGC-compliant) in its data warehouse system.
  • Vertica Place, the geo-spatial extension forHP Vertica, adds OGC-compliant spatial features to the relationalcolumn-store database.[20]

Table of free systems especially for spatial data processing

[edit]
DBSLicenseDistributedSpatial objectsSpatial functionsPostgreSQL interfaceUMNMapServer interfaceDocumentationModifiableHDFS
Apache DrillApache License 2.0yesyesyes -Drill Geospatial Functions DocumentationyesnoOfficialDocumentationANSISQLyes
ArangoDBApache License 2.0yesyesyes -capabilities overviewquery language functionsnonoofficialdocumentationAQLno
GeoMesaApache License 2.0yesyes (Simple Features)yes (JTS)no (manufacturable withGeoTools)noparts of the functions, a few exampleswithSimple Feature Access inJava Virtual Machine andApache Spark are all kinds of tasks solvableyes
H2 (H2GIS)LGPL 3 (since v1.3),GPL 3 beforenoyes (custom, no raster)Simple Feature Access and custom functions for H2Networkyesnoyes (homepage)SQLno
IngresGPL or proprietaryyes (if extension is installed)yes (custom, no raster)Geometry Engine, Open Source[21]nowith MapScriptjust brieflywith C and OMEno
Neo4J-spatial[22]GNU affero general public licensenoyes (Simple Features)yes (contain, cover, covered by, cross, disjoint, intersect, intersect window, overlap, touch, within and within distance)nonojust brieflyfork ofJTSno
PostgreSQL withPostGISGNU General Public Licensenoyes (Simple Features and raster)yes (Simple Feature Access and raster functions)yesyesdetailedSQL, in connection withRno
Postgres-XL withPostGISMozilla public license and GNU general public licenseyesyes (Simple Features and raster)yes (Simple Feature Access and raster functions)yesyesPostGIS: yes, Postgres-XL: brieflySQL, in connection withR orTcl orPythonno
RasdamanserverGPL, clientLGPL, enterprise proprietaryyesjust rasterraster manipulation with rasqlyeswithWeb Coverage Service orWeb Processing Servicedetailed wikiown defined function in enterprise editionno
RethinkDBAGPLyesyes
  • distance
  • getIntersecting
  • getNearest
  • includes
  • intersects
nonoofficial documentation[23]forkingno

See also

[edit]

Notes

[edit]
  1. ^The term "geodatabase" may also refer specifically to a set of proprietary spatial database formats,Geodatabase (Esri).

References

[edit]
  1. ^McKee, Lance (2016)."OGC History (detailed)". OGC. Retrieved2016-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. ^Kresse, Wolfgang; Danko, David M., eds. (2010).Springer handbook of geographic information (1. ed.). Berlin: Springer. pp. 82–83.ISBN 9783540726807.
  4. ^Yue, P.; Tan, Z."DM-03 - Relational DBMS and their Spatial Extensions".GIS&T Body of Knowledge. UCGIS. Retrieved5 January 2023.
  5. ^Zhang, X.; Du, Z."DM-66 Spatial Indexing".GIS&T Body of Knowledge. UCGIS. Retrieved5 January 2023.
  6. ^Güting, Ralf Hartmut; Schneider, Markus (2005).Moving Objects Databases. Morgan Kaufmann. p. 262.ISBN 9780120887996.
  7. ^"PostGIS Function Reference".PostGIS Manual. OSGeo. Retrieved4 January 2023.
  8. ^[1] Drill Geospatial Function Documentation
  9. ^"Geo queries | Elasticsearch Guide [7.15] | Elastic".
  10. ^H2 geometry type documentation
  11. ^H2 create spatial index documentation
  12. ^"GeoSpatial – MonetDB". 4 March 2014.
  13. ^"MySQL 5.5 Reference Manual - 12.17.1. Introduction to MySQL Spatial Support". Archived fromthe original on 2013-04-30. Retrieved2013-05-01.
  14. ^OpenLink Software."9.34. Geometry Data Types and Spatial Index Support". RetrievedOctober 24, 2018.
  15. ^OpenLink Software (2018-10-23)."New Releases of Virtuoso Enterprise and Open Source Editions". RetrievedOctober 24, 2018.
  16. ^"OGC Certified PostGIS".
  17. ^"Command reference – Redis".
  18. ^"SAP Help Portal"(PDF).
  19. ^"RTREE".tarantool.org. Archived fromthe original on 2014-12-13.
  20. ^"HP Vertica Place". 2 December 2015.
  21. ^"GEOS".
  22. ^"Neo4j Spatial is a library of utilities for Neo4j that facilitates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial".GitHub. 2019-02-18.
  23. ^"ReQL command reference - RethinkDB".

Further reading

[edit]

External links

[edit]
Authority control databases: NationalEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Spatial_database&oldid=1288554060#Spatial_index"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp