Visitas: 2
Por defecto Ubuntu 13.04 no trae PostGIS 2.0.3, y lo necesitaba para hacer algunas pruebas. Así que manos a la obra para tener PostGIS 2.0.3 y postgresql 9.1.
Entramos a la consola y escribimos:
sudo aptitude update
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:sharpie/for-science
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo aptitude update
sudo aptitude install postgresql-9.1-postgis
Volvemos a escribir en la consola:
sudo aptitude 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
Entramos de nuevo a la consola:
sudo apt-add-repository ppa:olivier-berten/geo
sudo aptitude update
sudo aptitude install libgdal-dev libgdal1-dev
Ahora verificamos la versión de libGDAL. Deberíamos de tener como mínimo la versión 1.9.0. Escribimos en la consola:
gdal-config --version
Y nos saldría por pantalla algo por el estilo así:
1.9.0
Ahora verificamos la versión del geos. Deberíamos de tener como mínimo la versión 3.3.2. Escribimos en la consola:
geos-config --version
Y nos saldría por pantalla algo por el estilo así:
3.3.8
Ahora por fin le toca el turno a PostGIS. Entramos a la consola y escribimos:
wget -c http://download.osgeo.org/postgis/source/postgis-2.0.3.tar.gz
tar xfvz postgis-2.0.3.tar.gz
cd postgis-2.0.3/
./configure --prefix=/usr/include/gdal --with-geos=/usr/bin/geos-config --with-pg=/usr/lib/postgresql/9.1/bin/pg_config --with-python --with-gui
Por saldría por pantalla:
PostGIS is now configured for x86_64-unknown-linux-gnu
-------------- Compiler Info -------------
C compiler: gcc -g -O2
C++ compiler: g++ -g -O2
SQL preprocessor: /usr/bin/cpp -traditional-cpp -P
-------------- Dependencies --------------
GEOS config: /usr/bin/geos-config
GEOS version: 3.3.8
GDAL config: /usr/bin/gdal-config
GDAL version: 1.9.0
PostgreSQL config: /usr/bin/pg_config
PostgreSQL version: PostgreSQL 9.1.9
PROJ4 version: 48
Libxml2 config: /usr/bin/xml2-config
Libxml2 version: 2.9.0
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: /usr/bin/convert
mathml2.dtd: /usr/share/xml/schema/w3c/mathml/dtd/mathml2.dtd
Ahora escribimos en la consola:
make
sudo make install
sudo ldconfig
sudo make comments-install
Volvemos a escribir en la consola:
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/shp2pgsql
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/raster2pgsql
Ahora cambiamos el password del usuario postgres. Entramos a la consola:
sudo passwd postgres
Sale esto por pantalla:
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
Volvemos a escribir en la consola:
sudo -s -u postgres
psql
Una vez dentro de psql, escribimos en la consola:
\password postgres
Sale esto por consola:
Enter new password:
Enter it again:
postgres=#
Ahora salimos.
\q
OBS:
- Tienen que tener usuarios con privilegios de root o ser root (PostGres como usuario por defecto no tiene privilegios de root).
Creamos una base de datos y en este caso sería template_postgis. Entramos a la consola y escribimos:
sudo -u postgres createdb template_postgis
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/spatial_ref_sys.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis_comments.sql
Lo de arriba es lo básico para tener una base de datos espacial. Si quieren que la base de datos soporte raster o topology, tienen que realizar lo que describo abajo.
Opcional:
Con soporte a raster.
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/rtpostgis.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/raster_comments.sql
Con soporte a topology.
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/topology.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/topology_comments.sql
Para comprobar si postgis esta funcionando correctamente, hacemos lo siguiente. Escribimos en la consola:
su postgres
Volvemos a escribir en al consola:
psql template_postgis
Ahora estamos en la base de datos template_postgis. Para saber si esta base de datos contiene postgis, escribimos:
SELECT postgis_full_version();
Y nos saldrá por pantalla:
----------------------------------------------------------------------------
POSTGIS="2.0.3 r11128" GEOS="3.3.8-CAPI-1.7.8" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.9.0, released 2011/12/29" LIBXML="2.9.0" LIBJSON="UNKNOWN" TOPOLOGY RASTER
(1 row)
Con esto comprobamos que funciona correctamente PostGIS 2.0.3 en nuestra base de datos Postgres.
una consulta, esto instala PostgreSQL?
o debe estar instalado, antes de hacer estas maniobras?
hace en el orden cómo esta en el post. Asi te va a funcionar sin problemas.
saludos, jose
perdon que moleste, pero me paso esto, ME GUSTARIA QUE ME DIERAS UNA AYUDA CON ESTE PROBLEMA, pues temo seguir adelante:
:~$ sudo aptitude install postgresql-9.1-postgis
Se instalarán los siguiente paquetes NUEVOS:
libarmadillo3{a} libdap11{a} libdapclient3{a} libepsilon0{a} libfreexl1{a} libgdal1{a} libgdal1h{ab} libgeos-3.3.8{a} libgeos-c1{a} libgif4{a} libhdf4-0-alt{a} libhdf5-7{a} libkml0{a} liblwgeom-2.0.3{a} libmysqlclient18{a} libnetcdfc7{a} libodbc1{a} libpq5{a} libproj0{a} libspatialite5{a} liburiparser1{a} libxerces-c28{a} libxerces-c3.1{a} mysql-common{a} odbcinst{a} odbcinst1debian2{a} postgis{a} postgresql-9.1{a} postgresql-9.1-postgis postgresql-client-9.1{a} postgresql-client-common{a} postgresql-common{a} proj-bin{a} proj-data{a}
0 paquetes actualizados, 34 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 29,1 MB de archivos. Después de desempaquetar se usarán 101 MB.
No se satisfacen las dependencias de los siguientes paquetes:
libgdal1h : Entra en conflicto: libgdal1 (<= 1.10.0-0~) pero se va a instalar 1.9.2-2~raring1.
Las acciones siguientes resolverán estas dependencias
Mantener los paquetes siguientes en la versión actual:
1) libgdal1h [Sin instalar]
2) postgis [Sin instalar]
3) postgresql-9.1-postgis [Sin instalar]
¿Acepta esta solución? [Y/n/q/?] y
No se instalará, actualizará o eliminará ningún paquete.
0 paquetes actualizados, 0 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 0 B de archivos. Después de desempaquetar se usarán 0 B.
:~$
coloca n. Y ve que te sugiera instalar postgresql-9.1-postgis. Avisame cualquier cosa, asi te ayudo. Tiene solucion lo que te pasa. Es solo darle la vueta.
Saludos, jose
gracias por tu tiempo….
TE copio lo que pasa…
No se satisfacen las dependencias de los siguientes paquetes:
libgdal1h : Entra en conflicto: libgdal1 (<= 1.10.0-0~) pero se va a instalar 1.9.2-2~raring1.
Las acciones siguientes resolverán estas dependencias
Mantener los paquetes siguientes en la versión actual:
1) libgdal1h [Sin instalar]
2) postgis [Sin instalar]
3) postgresql-9.1-postgis [Sin instalar]
¿Acepta esta solución? [Y/n/q/?] n
Las acciones siguientes resolverán estas dependencias
Mantener los paquetes siguientes en la versión actual:
1) libgdal1 [Sin instalar]
2) postgresql-9.1-postgis [Sin instalar]
¿Acepta esta solución? [Y/n/q/?] n
Las acciones siguientes resolverán estas dependencias
Instalar los paquetes siguientes:
1) postgis [1.5.3-2ubuntu1 (raring)]
Mantener los paquetes siguientes en la versión actual:
2) libgdal1h [Sin instalar]
¿Acepta esta solución? [Y/n/q/?] n
Las acciones siguientes resolverán estas dependencias
Instalar los paquetes siguientes:
1) postgresql-9.1-postgis [1.5.3-2ubuntu1 (raring)]
Mantener los paquetes siguientes en la versión actual:
2) libgdal1 [Sin instalar]
¿Acepta esta solución? [Y/n/q/?] n
*** No hay más soluciones disponibles ***
Las acciones siguientes resolverán estas dependencias
Instalar los paquetes siguientes:
1) postgresql-9.1-postgis [1.5.3-2ubuntu1 (raring)]
Mantener los paquetes siguientes en la versión actual:
2) libgdal1 [Sin instalar]
de antemano gracias
cuando llegues a esta parte: Instalar los paquetes siguientes:
1) postgresql-9.1-postgis [1.5.3-2ubuntu1 (raring)]
coloco a Y y te va a instalar, y sigue adelante, como indica el post. avisame cualquier cosa.
saludos, jose
nuevamente gracias por tu tiempo,
la verdad es que ya habia hecho ese paso, y se instalo,
pero mi consulta es que hago con la libreria que se debia instalar?
la que entra en conflicto con una ya existente?
libgdal1h : Entra en conflicto: libgdal1
mantengo la libreria libgdal1 o instalo la libgdal1h?
creo que buscare las diferencias
atte.
Jhonny.
Seguí todos los pasos como indica el post, y creo que te va a instalar el librería que te falta. Seguí nomas los pasos. No va a pasar nada. Seguí todos los pasos, y avisame donde te quedas para ver como solucionamos más adelante.
cualesquier cosa, avisame
saludos, jose