Una base de datos espacial es una base de datos optimizada para almacenar y consultar datos que representan objetos definidos en un espacio geométrico. 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 TIN (red irregular triangulada). Si bien las bases de datos típicas se han desarrollado para administrar varios tipos de datos numéricos y de caracteres , tales bases de datos requieren funcionalidad adicional para procesar los tipos de datos espaciales de manera eficiente, y los desarrolladores a menudo han agregado tipos de datos geométricos o de características . LaEl Consorcio Geoespacial Abierto (OGC) desarrolló la especificación Características simples (lanzada 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 estándar multimedia SQL / MM y amplía el estándar Simple Features con tipos de datos que admiten interpolaciones circulares. [3]
Geodatabase
Una geodatabase (también base de datos geográfica y base de datos geoespacial ) es una base de datos de datos geográficos , como países , divisiones administrativas , ciudades e información relacionada. Estas bases de datos pueden ser útiles para sitios web que deseen identificar las ubicaciones de sus visitantes con fines de personalización.
Caracteristicas
Los sistemas de bases de datos utilizan índices para buscar valores rápidamente; sin embargo, esta forma de indexar datos no es óptima para consultas espaciales . En cambio, las bases de datos espaciales utilizan un índice espacial para acelerar las operaciones de la base de datos.
Además de las consultas SQL típicas, como las sentencias SELECT, las bases de datos espaciales pueden realizar una amplia variedad de operaciones espaciales. Las siguientes operaciones y muchas más están especificadas por el estándar Open Geospatial Consortium :
- Medidas espaciales: calcula la longitud de la línea, el área del polígono, la distancia entre geometrías, etc.
- Funciones espaciales: modifique las características existentes para crear otras nuevas, por ejemplo, proporcionando una zona de influencia a su alrededor, características que se cruzan, etc.
- Predicados espaciales: permite consultas de verdadero / falso sobre las relaciones espaciales entre geometrías. Los ejemplos incluyen "¿se superponen dos polígonos" o "hay una residencia ubicada a una milla del área en la que estamos planeando construir el relleno sanitario?" (ver DE-9IM )
- Constructores de geometrías: crea nuevas geometrías, normalmente 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
Los índices espaciales son utilizados por bases de datos espaciales (bases de datos que almacenan información relacionada con objetos en el espacio) para optimizar las consultas espaciales . Los tipos de índices convencionales no manejan de manera eficiente consultas espaciales tales como en qué medida difieren dos puntos o si los puntos se encuentran dentro de un área espacial de interés. Los métodos comunes de índice espacial incluyen:
- Geohash
- HHCode
- Cuadrícula (índice espacial)
- Orden Z (curva)
- Quadtree
- Octree
- UB-árbol
- Árbol R : normalmente, el método preferido para indexar datos espaciales. [ cita requerida ] Los objetos (formas, líneas y puntos) se agrupan utilizando el rectángulo delimitador mínimo (MBR). Los objetos se agregan a un MBR dentro del índice que conducirá al menor aumento de su tamaño.
- Árbol R +
- Árbol R *
- Árbol R de Hilbert
- Árbol X
- árbol-kd
- árbol -m: se puede utilizar un índice de árbol-m para la resolución eficiente de consultas de similitud en objetos complejos en comparación con una métrica arbitraria.
- Partición de espacio binario (BSP-Tree): subdivisión del espacio por hiperplanos.
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 entre las geodatabases. La siguiente lista contiene funciones de uso común 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):
Prototipo de función : functionName (parámetro (s)): tipo de retorno
- Distancia (geometría, geometría): número
- Es igual a (geometría, geometría): booleano
- Disjunto (geometría, geometría): booleano
- Intersecciones (geometría, geometría): booleano
- Toques (geometría, geometría): booleano
- Cruces (geometría, geometría): booleano
- Superposiciones (geometría, geometría): booleano
- Contiene (geometría, geometría): booleano
- Longitud (geometría): número
- Área (geometría): número
- Centroide (geometría): geometría
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 eficientes de coordenadas geoespaciales bidimensionales para los datos del Marco de descripción de recursos . [ cita requerida ] Incluye una sintaxis de extensión para consultas SPARQL .
- ArangoDB : una base de datos de múltiples modelos que proporciona capacidad de geoindexación.
- 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, polígonos múltiples, etc. [4]
- 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 de OGC completas y un complemento GeoServer.
- H2 admite tipos de geometría [5] e índices espaciales [6] a partir de la versión 1.3.173 (28-07-2013). Una extensión llamada H2GIS disponible en Maven Central brinda compatibilidad completa con las funciones simples de OGC .
- Cualquier edición de IBM DB2 puede habilitarse espacialmente para implementar la funcionalidad espacial de OpenGIS con funciones y tipos espaciales de SQL.
- Las extensiones de hoja de datos espaciales y geodésicas de IBM Informix se instalan automáticamente al usarlas y expanden 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 de la serie temporal 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 de 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 de almacenamiento de columnas . [7]
- MySQL DBMS implementa la geometría del tipo de datos , además de algunas funciones espaciales implementadas de acuerdo con las especificaciones de OpenGIS. [8] Sin embargo, en MySQL versión 5.5 y anteriores, las funciones que prueban 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 características espaciales.
- Neo4j : una base de datos de gráficos que puede construir índices 1D y 2D como curva B-tree , Quadtree y Hilbert directamente en el gráfico
- OpenLink Virtuoso ha admitido SQL / MM desde la versión 6.01.3126, [9] con mejoras significativas que incluyen GeoSPARQL en Open Source Edition 7.2.6 y en Enterprise Edition 8.2.0 [10]
- Oracle espacial
- PostgreSQL DBMS (sistema de gestión de bases de datos) utiliza la extensión espacial PostGIS para implementar la geometría de tipo de datos estandarizada y las funciones correspondientes.
- Redis con la API Geo. [11]
- RethinkDB admite índices geoespaciales en 2D.
- SAP HANA admite geoespacial con SPS08. [12]
- Smallworld VMDS , la base de datos GIS nativa de GE Smallworld
- Spatial Query Server de Boeing habilita espacialmente Sybase ASE.
- SpatiaLite amplía Sqlite con tipos de datos espaciales, funciones y utilidades.
- Tarantool admite consultas geoespaciales con índice RTREE. [13]
- 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 almacenamiento de columnas . [14]
Tabla de sistemas libres especialmente para el procesamiento de datos espaciales
DBS | Licencia | Repartido | Objetos espaciales | Funciones espaciales | Interfaz PostgreSQL | Interfaz UMN MapServer | Documentación | Modificable | HDFS |
---|---|---|---|---|---|---|---|---|---|
ArangoDB | Licencia Apache 2.0 | sí | sí | sí - descripción general de las capacidades funciones del lenguaje de consulta | No | No | documentación oficial | AQL | No |
GeoMesa | Licencia Apache 2.0 | sí | sí ( funciones simples ) | sí ( JTS ) | no (fabricable con GeoTools ) | No | partes de las funciones, algunos ejemplos | con Simple Feature Access en Java Virtual Machine y Apache Spark , todo tipo de tareas se pueden resolver | sí |
H2 (H2GIS) | LGPL 3 (desde v1.3), GPL 3 antes | No | sí (personalizado, sin rasterizado) | Acceso a funciones simples y funciones personalizadas para H2Network | sí | No | sí (página de inicio) | SQL | No |
Ingres | GPL o propietario | sí (si la extensión está instalada) | sí (personalizado, sin rasterizado) | Motor de geometría, código abierto [15] | No | con MapScript | solo brevemente | con C y OME | No |
Neo4J -espacial [16] | Licencia pública general de GNU affero | No | sí ( funciones simples ) | sí (contener, cubrir, cubierto por, cruzar, separar, intersecar, intersecar ventana, superponer, tocar, dentro y dentro de la distancia) | No | No | solo brevemente | bifurcación de JTS | No |
PostgreSQL con PostGIS | Licencia pública general GNU | No | sí ( características simples y ráster) | sí ( funciones de ráster y acceso a funciones simples ) | sí | sí | detallado | SQL, en conexión con R | No |
Postgres-XL con PostGIS | Licencia pública de Mozilla y licencia pública general GNU | sí | sí ( características simples y ráster) | sí ( funciones de ráster y acceso a funciones simples ) | sí | sí | PostGIS: sí, Postgres-XL: brevemente | SQL, en conexión con R o Tcl o Python | No |
Rasdaman | servidor GPL , cliente LGPL , propiedad de la empresa | sí | solo raster | manipulación de ráster con rasql | sí | con servicio de cobertura web o servicio de procesamiento web | wiki detallado | propia función definida en la edición empresarial | No |
RethinkDB | AGPL | sí | sí |
| No | No | documentación oficial [17] | bifurcación | No |
Ver también
- Sistema de información geográfica (SIG)
- GeoSPARQL
- Bases de datos glaciogeológicas
- Inteligencia de ubicación
- Base de datos multimedia
- Búsqueda de vecino más cercano
- Base de datos espacial basada en objetos
- Funciones simples
- Análisis espacial
- ETL espacial
- Base de datos espacio-temporal
Referencias
- ^ McKee, Lance (2016). "Historia 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 con 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.
- ^ https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-queries.html
- ^ Documentación del tipo de geometría H2
- ^ H2 crear documentación de índice espacial
- ^ "GeoSpatial - 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 de geometría y soporte de índice espacial" . Consultado el 24 de octubre de 2018 .
- ^ Software OpenLink (2018-10-23). "Nuevos lanzamientos de Virtuoso Enterprise y Open Source Edition" . Consultado el 24 de octubre de 2018 .
- ^ "Referencia de comando - Redis" .
- ^ "Portal de ayuda de SAP" (PDF) .
- ^ http://tarantool.org/doc/user_guide/RTREE.html#in-memory
- ^ "HP Vertica Place" . 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" . 2019-02-18.
- ^ "Referencia de comandos de 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 GIS 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