Base de datos espaciales (imagen destacada)

Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

Base de datos espaciales
Base de datos espaciales

Continuamos con el curso de mapas. En esta doceava parte estaré explicando un poco sobre bases de datos espacial y las opciones que se tienen.

Una base de datos espacial (spatial database) es un sistema administrador de bases de datos que maneja datos existentes en un espacio o datos espaciales. Es imprescindible establecer un cuadro de referencia (un SRE, Sistema de Referencia Espacial) para definir la localización y relación entre objetos.

Un dato espacial es una variable asociada a una localización del espacio. Normalmente se utilizan datos vectoriales, los cuales pueden ser expresados mediante tres tipos de objetos espaciales.

  • Puntos: se encuentran determinados por las coordenadas terrestres medidas por latitud y longitud. Por ejemplo, ciudades, accidentes geográficos puntuales, hitos.
  • Líneas: objetos abiertos que cubren una distancia dada y comunican varios puntos o nodos, aunque debido a la forma esférica de la tierra también se le consideran como arcos. Líneas telefónicas, carreteras y vías de trenes son ejemplos de líneas geográficas.
  • Polígonos: figuras planas conectadas por distintas líneas u objetos cerrados que cubren un área determinada, como por ejemplo países, regiones o lagos.

De esta forma la información sobre puntos, líneas y polígonos se almacena como una colección de coordenadas (x, y).

La ubicación de una característica puntual, pueden describirse con un sólo punto (x, y). Las características lineales, pueden almacenarse como un conjunto de puntos de coordenadas (x, y). Las características poligonales, pueden almacenarse como un circuito cerrado de coordenadas. La otra forma de expresar datos espaciales es mediante rasterización (datos raster), la cual, a través de una malla que permite asociar datos a una imagen; es decir, se pueden relacionar paquetes de información a los píxeles de una imagen digitalizada.

Base de datos espacial permite el almacenamiento de las geometrías de los registros dentro de una base de datos así como proveer funcionalidades para consultar y recuperar registros que utilizan estas geometrías.

Existen muchas alternativas de base de datos espaciales tanto soluciones privadas como libres. Las soluciones privadas desconozco, pero las libres son varias.

Soluciones libres:

  • MySQL
  • SpatiaLite (extensión de SQLite)
  • PostgreSQL/PostGIS

Muchas veces necesitamos realizar cosas muy simples como determinar si un punto pertenece a un área especifica. Para ese caso si solo eso voy a necesitar y ya tengo una base de datos como MySQl, es una buena opción. En la versión de MySQL 5.7 tiene bastante soporte sobre datos espaciales.

Pero si querer manipular más y realizar otro tipos de consultas a los daros espaciales, te recomendaría ir directamente al rey PostgreSQL/PostGIS.

PostGIS es una extensión de PostgreSQL, para manejar una base de datos espacial. Permite el uso de objetos GIS (Geographic information systems). Esta publicado bajo licencia GNU.
Con PostGIS podemos usar todos los objetos que aparecen en la especificación OpenGIS como puntos, lineas, polígonos, multilíneas, multipuntos, y colecciones geométricas. PostGIS almacena la información geográfica en una columna del tipo GEOMETRY.

PostGIS permite características con coordenadas de 2D y 3D.
OpenGIS define dos formas de representar los objetos espaciales:

  1. (WKT) Well-know text.
  2. (WKB) Well-know binary.

Las dos formas guardan información del tipo de objeto y sus coordenadas. Además la especificación OpenGIS requiere que los objetos incluyan el identificador del sistema de referencia espacial (SRID).

Conclusión:

Si vas a hacer cosas, simples y ya tenes una base de datos como MySQL, seguí utilizándola, pero si tu aplicación tiene opciones de crecer y realizar una aplicación que utilice y manipule datos espaciales, la mejor decisión es PostgreSQL/PostGIS.

Si tienen dudas o comentarios, háganlo.

Curso de mapas

Imagen: Slideshare
Fuente 1: Wikipedia
Fuente 2: QGIS


Comments

  1. Hola que tal , eh visto tus videos y estan muy interesantes, me gustaria meterme al desarrollo de cartografia, tendras algun manual para instalar lo necesario y montar mi servidor en ambiente linux!!, quedo al espera y de antemano gracias !

  2. Hola, es justo lo que estoy buscando, tienes ejemplos o códigos, para adaptarlos a mi proyecto, te comento
    en una base de datos en mysql, tengo una tabla con datos de clientes y su ubicación geográfica, deseo consultar a través de PHP y mostrar esos datos en un mapa, parece sencillo, pero he buscado info en muchas webs, y no hallo, espero me puedas ayudar. Muchas gracias.

Responder a José González von Schmeling Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *