Instalación de PostGIS para PostgreSQL

Cada vez son más las aplicaciones que hacen uso de localizaciones dentro de su funcionamiento y que además, necesitan almacenarlas de alguna forma dentro de su base de datos. Es entonces cuando PostgreSQL toma ventaja frente a MySQL gracias a la existencia de PostGis.
PostGIS

PostGis es un software libre, tiene licencia GNU General Public License (GPL), convierte nuestra base de datos PostgreSQL en una base de datos espacial capacitada para almacenar y trabajar con datos espaciales.

La instalación es muy sencilla, esta que indico aquí es la que usé en local y en un servidor en producción con Ubuntu 12.04, supongo que en versiones posteriores será similar con algún cambio en las versiones de paquetes pero diría que la mecánica es la misma, pero si tenéis alguna duda preguntad en comentarios y lo vemos entre todos.

Instalamos los paquetes:

sudo apt-get install python-software-properties sudo apt-add-repository ppa:ubuntugis/ppa sudo apt-get update sudo apt-get install postgresql-9.1-postgis sudo apt-get install build-essential postgresql-9.1 postgresql-server-dev-9.1 libxml2-dev proj libjson0-dev xsltproc docbook-xsl docbook-mathml gettext postgresql-contrib-9.1 pgadmin3 sudo apt-get install python-software-properties sudo apt-add-repository ppa:olivier-berten/geo sudo apt-get update sudo apt-get install libgdal-dev  

Una vez realizadas estas instalaciones, verficamos la versión de libGDAL, que debe ser 1.9.0

$   gdal-config --version 1.9.0  

También verificamos la de libGEOS

$   geos-config --version 3.3.2  

Ahora debemos actualizar la versión de libGEOS a la 3.3.3, para ello realizamos los siguientes pasos:

sudo apt-get install g++ ruby ruby1.8-dev swig swig2.0 ''--- added to other instructions, not installed by default in 12.04 & required for this make wget http://download.osgeo.org/geos/geos-3.3.3.tar.bz2 tar xvfj geos-3.3.3.tar.bz2 cd geos-3.3.3 ./configure --enable-ruby --prefix=/usr  

Al final del proceso de configuración debe aparecer lo siguiente:

Swig: true Python bindings: false Ruby bindings: true PHP bindings: false  

Finalmente, compilamos:

make sudo make install cd ..  

y comprobamos nuevamente la version, que ya si debe ser la 3.3.3:

$   geos-config --version 3.3.3

 

Continuamos con la instalación de PostGis:

wget http://postgis.refractions.net/download/postgis-2.0.6.tar.gz tar xfvz postgis-2.0.6.tar.gz cd postgis-2.0.6 ./configure --with-gui  

El final de esta instalación debe decir algo así:

PostGIS is now configured for i686-pc-linux-gnu -------------- Compiler Info ------------- C compiler: gcc -g -O2 C++ compiler: g++ -g -O2 -------------- Dependencies -------------- GEOS config: /usr/bin/geos-config GEOS version: 3.3.3 GDAL config: /usr/bin/gdal-config GDAL version: 1.9.0 PostgreSQL config: /usr/bin/pg_config PostgreSQL version: PostgreSQL 9.1.3 PROJ4 version: 47 Libxml2 config: /usr/bin/xml2-config Libxml2 version: 2.7.8 JSON-C support: yes PostGIS debug level: 0 Perl: /usr/bin/perl --------------- Extensions --------------- PostGIS Raster: enabled PostGIS Topology: enabled -------- Documentation Generation -------- xsltproc: /usr/bin/xsltproc xsl style sheets: /usr/share/xml/docbook/stylesheet/nwalsh dblatex: convert: mathml2.dtd: /usr/share/xml/schema/w3c/mathml/dtd/mathml2.dtd  

para finalizar la instalación, compilamos:

make sudo make install sudo ldconfig sudo make comments-install  

una vez terminados estos pasos, creamos el usuario de postgres:

sudo apt-get install postgresql-client sudo -u postgres createuser --superuser $  USER sudo -u postgres psql postgres=# password postgres (la password que he puesto es postgres)  

Finalmente, creamos la plantilla template_postgis, que es la clave para la creación de una base de datos de tipo espacial.

sudo su postgres sudo createdb template _postgis sudo createlang plpgsql template_postgis sudo psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis.sql sudo psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/spatial_ref_sys.sql sudo psql -d template_postgis -c "SELECT postgis_full_version();"  

Estas instrucciones son una adaptación mía de la guía que seguí: http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS20Ubuntu1204

Espero que no os haya aburrido con este extenso primer post que escribo en LH :) .En próximas entradas ahondaremos más sobre bases de datos espaciales como esta que acabo de crear.

Deja un comentario

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