Base de datos optimizada para datos que representan objetos en un espacio geométrico.
Una base de datos espacial es una base de datos de propósito general (generalmente una base de datos relacional ) que se ha mejorado para incluir datos espaciales que representan objetos definidos en un espacio geométrico , junto con herramientas para consultar y analizar dichos datos.
La mayoría de las bases de datos espaciales permiten la representación de objetos geométricos simples como puntos , líneas y polígonos . Algunas bases de datos espaciales manejan estructuras más complejas, como objetos 3D , coberturas topológicas , redes lineales y redes irregulares trianguladas (TIN). Si bien las bases de datos típicas se han desarrollado para administrar varios tipos de datos numéricos y de caracteres , dichas bases de datos requieren funcionalidad adicional para procesar tipos de datos espaciales de manera eficiente, y los desarrolladores a menudo han agregado tipos de datos de características o geometría .
Una base de datos geográfica (o geodatabase ) es una base de datos espacial georreferenciada , utilizada para almacenar y manipular datos geográficos (o geodatos, es decir, datos asociados a una ubicación en la Tierra), [a] especialmente en sistemas de información geográfica (SIG). Casi todos los sistemas actuales de gestión de bases de datos relacionales y relacionales de objetos tienen ahora extensiones espaciales, y algunos proveedores de software SIG han desarrollado sus propias extensiones espaciales para los sistemas de gestión de bases de datos.
El Open Geospatial Consortium (OGC) desarrolló la especificación Simple Features (publicada por primera vez en 1997) [1] y establece estándares para agregar funcionalidad espacial a los sistemas de bases de datos. [2] El estándar SQL/MM Spatial ISO/IEC es parte del lenguaje de consulta estructurado y del estándar multimedia que amplía las funciones simples. [3]
Características
La funcionalidad principal agregada por una extensión espacial a una base de datos es uno o más tipos de datos espaciales , que permiten el almacenamiento de datos espaciales como valores de atributos en una tabla. [4] Lo más común es que un valor espacial único sea una primitiva geométrica (punto, línea, polígono, etc.) basada en el modelo de datos vectoriales . Los tipos de datos en la mayoría de las bases de datos espaciales se basan en la especificación OGC Simple Features para representar primitivas geométricas. Algunas bases de datos espaciales también admiten el almacenamiento de datos ráster . Debido a que todas las ubicaciones geográficas deben especificarse según un sistema de referencia espacial , las bases de datos espaciales también deben permitir el seguimiento y la transformación de sistemas de coordenadas. En muchos sistemas, cuando se define una columna espacial en una tabla, también incluye una opción de sistema de coordenadas, elegido de una lista de sistemas disponibles que se almacena en una tabla de búsqueda.
La segunda extensión de funcionalidad importante en una base de datos espacial es la adición de capacidades espaciales al lenguaje de consulta (por ejemplo, SQL ); estos le dan a la base de datos espacial las mismas operaciones de consulta, análisis y manipulación que están disponibles en el software SIG tradicional. En la mayoría de los sistemas de gestión de bases de datos relacionales, esta funcionalidad se implementa como un conjunto de nuevas funciones que se pueden utilizar en declaraciones SQL SELECT. El estándar Open Geospatial Consortium especifica varios tipos de operaciones :
- Medición: Calcula la longitud de la línea, el área del polígono, la distancia entre geometrías, etc.
- Geoprocesamiento: modifique las funciones existentes para crear otras nuevas, por ejemplo, creando una zona de influencia alrededor de ellas, intersectando funciones, etc.
- Predicados: Permite consultas de verdadero/falso sobre relaciones espaciales entre geometrías. Los ejemplos incluyen "¿se superponen dos polígonos?" o '¿hay una residencia ubicada dentro de una milla del área donde planeamos construir el vertedero?' (ver DE-9IM )
- Constructores de geometría: crea nuevas geometrías, generalmente especificando los vértices (puntos o nodos) que definen la forma.
- Funciones de observador: consultas que devuelven información específica sobre una característica, como la ubicación del centro de un círculo.
Algunas bases de datos solo admiten conjuntos simplificados o modificados de estas operaciones, especialmente en casos de sistemas NoSQL como MongoDB y CouchDB .
índice espacial
Una base de datos espacial utiliza un índice espacial para optimizar las consultas espaciales . Los sistemas de bases de datos utilizan índices para buscar valores rápidamente clasificando los valores de los datos en orden lineal (por ejemplo, alfabético); sin embargo, esta forma de indexar datos no es óptima para consultas espaciales en espacios bidimensionales o tridimensionales. En cambio, las bases de datos espaciales utilizan un índice espacial diseñado específicamente para ordenamiento multidimensional. [5] Los métodos de índice espacial comunes incluyen:
consulta espacial
Una consulta espacial es un tipo especial de consulta de base de datos compatible con bases de datos espaciales, incluidas las geodatabases. Las consultas se diferencian de las consultas SQL no espaciales en varios aspectos importantes. Dos de los más importantes son que permiten el uso de tipos de datos geométricos como puntos, líneas y polígonos y que estas consultas consideran la relación espacial entre estas geometrías.
Los nombres de las funciones para las consultas difieren según las geodatabases. Las siguientes son algunas de las funciones integradas en PostGIS , una geodatabase gratuita que es una extensión de PostgreSQL (el término 'geometría' se refiere a un punto, línea, cuadro u otra forma bidimensional o tridimensional): [7]
Prototipo de función: nombre de función (parámetro(s)): tipo de retorno
- ST_Distance(geometría, geometría): número
- ST_Equals (geometría, geometría): booleano
- ST_Disjoint (geometría, geometría): booleano
- ST_Intersects (geometría, geometría): booleano
- ST_Touches (geometría, geometría): booleano
- ST_Crosses (geometría, geometría): booleano
- ST_Overlaps (geometría, geometría): booleano
- ST_Contains (geometría, geometría): booleano
- ST_Length(geometría): número
- ST_Area(geometría): número
- ST_ Centroide (geometría): geometría
- ST_Intersection (geometría, geometría): geometría
Por lo tanto, una unión espacial entre una capa de puntos de ciudades y una capa de polígonos de países podría realizarse en una declaración SQL espacialmente extendida como:
SELECT * FROM cities, countries WHERE ST_Contains(countries.shape, cities.shape)
La operación de superposición de vectores Intersect (un elemento central del software SIG) podría replicarse como:
SELECT ST_Intersection(veg.shape, soil.shape) int_poly, veg.*, soil.* FROM veg, soil where ST_Intersects(veg.shape, soil.shape)
Sistemas de gestión de bases de datos espaciales.
Lista
- AllegroGraph : una base de datos de gráficos que proporciona un mecanismo para el almacenamiento y la recuperación eficiente de coordenadas geoespaciales bidimensionales para datos del marco de descripción de recursos . [ cita necesaria ] Incluye una sintaxis de extensión para consultas SPARQL .
- ArangoDB : una base de datos multimodelo que proporciona capacidad de geoindexación.
- Apache Drill : un motor de consultas MPP SQL para consultar grandes conjuntos de datos. Drill admite tipos de datos espaciales y funciones [8] similares a PostgreSQL.
- Esri Geodatabase (Enterprise, Mobile): una estructura de base de datos espacial patentada y un modelo lógico que se puede implementar en varias bases de datos relacionales, tanto comerciales (Oracle, MS SQL Server, Db2) como de código abierto (PostgreSQL, SQLite).
- Caliper amplía Raima Data Manager con tipos de datos espaciales, funciones y utilidades.
- CouchDB, un sistema de base de datos basado en documentos que puede habilitarse espacialmente mediante un complemento llamado Geocouch
- Elasticsearch es un sistema de base de datos basado en documentos que admite dos tipos de datos geográficos: campos geo_point que admiten pares lat/lon y campos geo_shape, que admiten puntos, líneas, círculos, polígonos, multipolígonos, etc. [9]
- GeoMesa es una base de datos espacio-temporal basada en la nube construida sobre Apache Accumulo y Apache Hadoop (también es compatible con Apache HBase , Google Bigtable , Apache Cassandra y Apache Kafka ). GeoMesa admite funciones simples OGC completas y un complemento GeoServer.
- H2 admite tipos de geometría [10] e índices espaciales [11] a partir de la versión 1.3.173 (2013-07-28). Una extensión llamada H2GIS disponible en Maven Central brinda soporte completo para funciones simples de OGC .
- Cualquier edición de IBM Db2 puede habilitarse espacialmente para implementar la funcionalidad espacial OpenGIS con tipos y funciones espaciales de SQL.
- Las extensiones de hoja de datos espacial y geodésica de IBM Informix se instalan automáticamente cuando se usan y amplían los tipos de datos de Informix para incluir múltiples sistemas de coordenadas estándar y soporte para índices RTree. Los datos geodésicos y espaciales también se pueden incorporar con el soporte de datos Timeseries de Informix para rastrear objetos en movimiento a lo largo del tiempo.
- Linter SQL Server admite tipos espaciales y funciones espaciales de acuerdo con las especificaciones OpenGIS.
- Microsoft SQL Server tiene soporte para tipos espaciales desde la versión 2008
- La extensión MonetDB/GIS para MonetDB agrega características simples de OGS a la base de datos relacional del almacén de columnas . [12]
- MySQL DBMS implementa el tipo de datos geometría , además de algunas funciones espaciales implementadas de acuerdo con las especificaciones OpenGIS. [13] Sin embargo, en MySQL versión 5.5 y anteriores, las funciones que prueban las relaciones espaciales se limitan a trabajar con rectángulos delimitadores mínimos en lugar de las geometrías reales. Las versiones de MySQL anteriores a la 5.0.16 solo admitían datos espaciales en tablas MyISAM. A partir de MySQL 5.0.16, InnoDB, NDB, BDB y ARCHIVE también admiten funciones espaciales.
- Neo4j : una base de datos de gráficos que puede crear índices 1D y 2D como árbol B , Quadtree y curva de Hilbert directamente en el gráfico.
- OpenLink Virtuoso ha soportado SQL/MM desde la versión 6.01.3126, [14] con mejoras significativas que incluyen GeoSPARQL en Open Source Edition 7.2.6 y Enterprise Edition 8.2.0 [15].
- Oráculo espacial
- PostgreSQL DBMS (sistema de gestión de bases de datos) utiliza la extensión PostGIS para implementar funcionalidad espacial compatible con OGC [16] , incluida la geometría de tipo de datos estandarizada y las funciones correspondientes.
- Redis con la Geo API. [17]
- RethinkDB admite índices geoespaciales en 2D.
- SAP HANA admite geoespacial con SPS08. [18]
- Smallworld VMDS , la base de datos SIG nativa de GE Smallworld
- SpaceTime es una base de datos espaciotemporal comercial construida sobre un índice multidimensional patentado similar a la familia kd-tree, pero creada utilizando un enfoque ascendente y adaptado a una distribución particular de datos en el espacio-tiempo.
- Spatial Query Server de Boeing habilita espacialmente Sybase ASE.
- SpatiaLite amplía Sqlite con tipos de datos, funciones y utilidades espaciales.
- Tarantool admite consultas geoespaciales con índice RTREE. [19]
- Teradata Geospatial incluye funcionalidad espacial 2D (compatible con OGC) en su sistema de almacenamiento de datos.
- Vertica Place , la extensión geoespacial para HP Vertica , agrega características espaciales compatibles con OGC a la base de datos relacional de almacén de columnas . [20]
Tabla de sistemas gratuitos especialmente para procesamiento de datos espaciales
Ver también
Notas
- ^ El término "geodatabase" también puede referirse específicamente a un conjunto de formatos de bases de datos espaciales patentados, Geodatabase (Esri).
Referencias
- ^ McKee, Lanza (2016). "Historia de OGC (detallada)". OGC . Consultado el 12 de julio de 2016 .
[...] 1997 [...] OGC lanzó la Especificación de características simples de OpenGIS, que especifica la interfaz que permite que diversos sistemas se comuniquen en términos de 'características simples' que se basan en geometría 2D.
Los tipos de geometría admitidos incluyen puntos, líneas, cadenas de líneas, curvas y polígonos.
Cada objeto geométrico está asociado a un Sistema de Referencia Espacial, que describe el espacio de coordenadas en el que se define el objeto geométrico.
- ^
Página de inicio de OGC
- ^ Kresse, Wolfgang; Danko, David M., eds. (2010). Manual Springer de información geográfica (1. ed.). Berlín: Springer. págs. 82–83. ISBN 9783540726807.
- ^ Yue, P.; Tan, Z. "DM-03 - DBMS relacional y sus extensiones espaciales". Conjunto de conocimientos sobre SIG&T . UCGIS . Consultado el 5 de enero de 2023 .
- ^ Zhang, X.; Du, Z. "Indización espacial DM-66". Conjunto de conocimientos sobre SIG&T . UCGIS . Consultado el 5 de enero de 2023 .
- ^ Güting, Ralf Hartmut; Schneider, Markus (2005). Mover bases de datos de objetos . Morgan Kaufman. pag. 262.ISBN _ 9780120887996.
- ^ "Referencia de funciones PostGIS". Manual PostGIS . OSGeo . Consultado el 4 de enero de 2023 .
- ^ [1] Documentación de la función geoespacial de perforación
- ^ "Consultas geográficas | Guía de Elasticsearch [7.15] | Elastic".
- ^ Documentación del tipo de geometría H2
- ^ H2 crea documentación de índice espacial
- ^ "Geoespacial - MonetDB". 4 de marzo de 2014.
- ^ "Manual de referencia de MySQL 5.5 - 12.17.1. Introducción al soporte espacial de MySQL". Archivado desde el original el 30 de abril de 2013 . Consultado el 1 de mayo de 2013 .
- ^ Software OpenLink. "9.34. Tipos de datos geométricos y compatibilidad con índices espaciales" . Consultado el 24 de octubre de 2018 .
- ^ Software OpenLink (23 de octubre de 2018). "Nuevos lanzamientos de las ediciones Virtuoso Enterprise y Open Source" . Consultado el 24 de octubre de 2018 .
- ^ "PostGIS certificado por OGC".
- ^ "Referencia de comando: Redis".
- ^ "Portal de ayuda de SAP" (PDF) .
- ^ "RTÁRBOL". tarantool.org . Archivado desde el original el 13 de diciembre de 2014.
- ^ "Lugar HP Vertical". 2 de diciembre de 2015.
- ^ "GEOS".
- ^ "Neo4j Spatial es una biblioteca de utilidades para Neo4j que facilita la habilitación de operaciones espaciales sobre datos. En particular, puede agregar índices espaciales a datos ya ubicados y realizar operaciones espaciales". GitHub . 2019-02-18.
- ^ "Referencia del comando ReQL: RethinkDB".
Otras lecturas
- Bases de datos espaciales: un recorrido, Shashi Shekhar y Sanjay Chawla, Prentice Hall, 2003 ( ISBN 0-13-017480-7 )
- Bases de datos espaciales: con aplicación a SIG Philippe Rigaux, Michel Scholl y Agnes Voisard. Editores Morgan Kaufmann . 2002 ( ISBN 1-55860-588-6 )
- Evaluación de sistemas de gestión de datos para Big Data geoespacial Pouria Amirian, Anahid Basiri y Adam Winstanley. Saltador. 2014 ( ISBN 9783319091563 )
enlaces externos
- Una introducción a PostgreSQL PostGIS
- PostgreSQL PostGIS como componentes en una Arquitectura Orientada a Servicios SOA
- Un esquema de alarma de seguridad basado en disparadores para objetos en movimiento en redes de carreteras Sajimon Abraham, P. Sojan Lal, publicado por Springer Berlin / Heidelberg-2008.
- geodatabase ArcGIS Resource Center descripción de una geodatabase