Tabla de contenidos
En la siguiente publicación aprenderemos a dotar a nuestra Base de Datos Postgis de funcionalidad espacial.
El siguiente tutorial va dedicado a aquellos usuarios que están empezando o estén interesados en trabajar con Bases de Datos espaciales PostgreSQL + PostGIS. Como bien hemos comentado PostgreSQL es un sistema de gestión de base de datos objeto-relacional Open Source distribuido bajo la licencia BSD. Se trata del sistema de gestión de bases de datos de código abierto más potente del mercado. Su extensión PostGIS añade soporte de objetos geográficos a la base de datos objeto-relacional.
Pasamos directamente al grueso del artículo, y es que a pesar de tener instalado PostGIS en nuestro equipo, todavía no será posible utilizar su funcionalidad en ninguna Base de Datos ya que, para ello, necesitaremos dotar a dicha Base de Datos de funcionalidad espacial (“Espacializar”).
¿Cómo hacemos para dotar a nuestra Base de Datos de funcionalidad espacial?
Para crear una base de datos con soporte PostGIS deberemos ejecutar varios comandos desde la consola del sistema operativo. Se empleará el superusuario postgres (acordaros que en el manual de instalación configuramos estos parámetros), con el objetivo de simplificar, ya que alguno de los pasos a seguir requiere permisos de administrador de PostgreSQL.
¿Qué pasos debemos seguir para crear la base de datos espacial?
1. Localizar los ficheros postgis.sql y spatial_ref_sys.sql dentro de la instalación de PostGIS.
La ubicación de estos ficheros dependerá del sistema operativo a emplear, su versión y la versión de PortgreSQL y PostGIS instalada. El directorio que se crea por defecto para MSWindows XP, con PostgreSQL 9.5 y PostGIS 2.2 es la siguiente:
C:\Program Files\PostgreSQL\9.5\share\contrib\postgis-2.2
2. Crear la Base de Datos.
Para su puesta en práctica, trabajaremos con una Base de Datos con nombre “spatial”. Para ello abrimos la consola y escribimos lo siguiente:
Consola > createdb -U postgres spatial |
Cuando nos pida contraseña introduciremos la que configuramos en la instalación de PostgreSQL, en nuestro caso “postrgres”.
3. Instalar el lenguaje PL/PgSQL de PostgreSQL en la Base de Datos.
Consola > createlang -U postgres plpgsql spatial |
*Este paso solo es necesario si se trabaja con una versión de PostgreSQL inferior a 9.0. Si la base de datos ya dispone del lenguaje, el sistema lanza el siguiente aviso:
“createlang: language plpsql is already installed in database espacial”
4. Ejecutar el fichero postgis.sql en la Base de Datos.
Llegados hasta aquí pasamos a añadir toda la funcionalidad espacial de PostGIS a la Base de Datos. Para ello localizamos el directorio donde se encuentra el archivo postgis.sql:
Ahora escribimos:
Consola > psql -U postgres -f postgis.sql spatial |
5. Ejecutar el fichero postgis.sql en la Base de Datos.
Este fichero crea una tabla con la información sobre los sistemas de referencia.
Consola > psql -U postgres -f spatial_ref_sys.sql spatial |
6. Comprobando el éxito del proceso.
Para comprobar que el proceso se ha realizado correctamente se puede emplear la función postgis_full_version, la cual devuelve la versión de PostGIS instalada y la de las bibliotecas. Pero antes de emplearla debemos entrar dentro de la Base de Datos:
Consola > psql -U postgres spatial |
Ahora llamamos a la función:
Espatial =# select postgis_full_version (); |
Siempre que aparezca el nombre de nuestra base de datos seguido de =# será indicativo de que nos encontramos dentro de ella. Una vez dentro podremos crear tablas, borrarlas, modificarlas, establecer condiciones, etc. Para salir de la base de datos pasaremos a escribir \q
Add Comment