Ivan Mincik creó un plugin para pgAdmin 3 que funciona además como un visor de capas de PostGIS de línea de comandos. El visor puede ser útil para aquellos que administran bases de datos espaciales PostgreSQL/PostGIS a través de pgAdmin 3.
No se intenta dotar de mayores funcionalidades al visor, puesto que probablemente lo que busca un administrador de bases de datos espaciales desde pgAdmin 3 es visualizar las capas almacenadas y conocer a grandes rasgos la escala y las coordenadas asociadas a los datos. En todo caso, si se requieren más funcionalidades, el visor podría extenderse empleando toda la potencia de Python y de las librerías de QGIS.
El visor permite visualizar tablas y vistas de bases de datos espaciales. A continuación se muestra cómo instalarlo y cómo usarlo desde la terminal y desde pgAdmin 3.
PRERREQUISITOS
Python, PyQt4, PyQGIS y libqt4-sql-psql.
Cómo instalar prerrequisitos en Windows: Ver blog.
Cómo instalar prerrequisitos en Ubuntu/Linux: Para QGIS, ver página oficial de descargas. Para los demás programas usar apt-get o Synaptic.
DESCARGAS
Para Ubuntu/Linux descargar el archivo postgis_viewer.py
Para Windows descargar postgis_viewer.py y adicionalmente postgis_viewer.bat
CÓMO USAR EL VISOR DESDE LA TERMINAL DE COMANDOS
En Ubuntu/Linux, dar permisos de ejecución:
$ sudo chmod 755 postgis_viewer.py
Ejecutar el archivo definiendo parámetros:
$ postgis_viewer.py -h localhost -U postgres -W secreto -s public -t pais -d geodb &
Si se ejecuta de nuevo el comando con otra tabla, esta se carga al visor previamente abierto:
$ postgis_viewer.py -h localhost -U postgres -W secreto -s public -t rios -d geodb
En Windows:
Asegurarse de tener las librerías de QGIS cargadas y ejecutar en una terminal de comandos:
$ c:\Python25\python.exe postgis_viewer.py -h localhost -U postgres -W secreto -s public -t pais -d geodb &
INSTALACIÓN COMO PLUGIN EN pgAdmin3 (PostgreSQL 8.4)
En Ubuntu/Linux:
Copiar el archivo postgis_viewer.py a una de las carpetas de la variable de entorno PATH, por ejemplo, a /usr/bin/
$ sudo cp postgis_viewer.py /usr/bin/
Definir permisos de ejecución sobre el archivo:
$ sudo chmod 755 /usr/bin/postgis_viewer.py
Copiar las siguientes líneas al archivo /usr/share/pgadmin3/plugins.ini (si el archivo no existe, debe crearse):
Title=View PostGIS layer
Command=postgis_viewer.py -h $$HOSTNAME -p $$PORT -U $$USERNAME -W $$PASSWORD -d $$DATABASE -s $$SCHEMA -t $$OBJECTNAME
Description=View PostGIS layer
Platform=unix
ServerType=postgresql
Database=Yes
SetPassword=Yes
En Windows:
Copiar los archivos postgis_viewer.py y postgis_viewer.bat a la carpeta C:/Archivos de programa/PostgreSQL/8.4/bin/
Editar el archivo C:/Archivos de programa/PostgreSQL/8.4/pgAdmin III/plugins.ini agregando las siguientes líneas:
Title=View PostGIS layer
Command="$$PGBINDIR\postgis_viewer.bat" -h "$$HOSTNAME" -p "$$PORT" -U "$$USERNAME" -W "$$PASSWORD" -d "$$DATABASE" -s "$$SCHEMA" -t "$$OBJECTNAME"
Description=View PostGIS layer
KeyFile=$$PGBINDIR\postgis_viewer.bat
Platform=windows
ServerType=postgresql
Database=Yes
SetPassword=Yes
El archivo postgis_viewer.bat se encarga de definir las variables de entorno del paquete OSGeo4W (Qt, Python, QGIS) para posteriormente ejecutar el archivo postgis_viewer.py En el archivo .bat se da por hecho que OSGeo4W está instalado en C:/ y que la ruta para acceder a PostgreSQL es C:/Archivos de programa/PostgreSQL/8.4/ Si se presentara algún inconveniente, se deben revisar dichas rutas.
NOTA: Estas instrucciones están enfocadas en PostgreSQL 8.4 y pgAdmin 1.10. Desconozco el funcionamiento de los plugins en versiones superiores, el cual segun entiendo, ha sido modificado. Cuando sea oportuno actualizaré el post para mostrar cómo configurarlo en PostgreSQL 9.0. En todo caso, es bienvenido cualquier comentario sobre el funcionamiento del visor en PostgreSQL 9.0 y versiones recientes de pgAdmin.
REFERENCIAS
- Ivan Mincik's PostGIS Viewer: https://github.com/imincik/QgsPostGIS-Viewer
- Send and receive a signal between 2 Qt applications: http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications.?p=176716#post176716
- Single Application: http://www.qtcentre.org/wiki/index.php?title=SingleApplication
Comentarios
Estoy usando POstgreSQL 9.0 Pgadmin3 1.12.1. Gracias por tu ayuda.
Por otro lado, si no estoy mal el mecanismo de plugins de pgAdmin ha cambiado para la versión que tú manejas. Así que voy a revisar ese nuevo mecanismo, hago unas pruebas y te comento.
Saludos.
he revisado el plugin en PostgreSQL sobre Windows puesto que mi Ubuntu es un poco añejo y no tengo acceso a PostgreSQL 9.0 aún.
Escribí una pequeña actualización que puedes visitar en este enlace (http://geotux.tuxfamily.org/index.php?option=com_myblog&task=view&id=277&Itemid=59#actualizacion1). El mecanismo de plugins de pgAdmin cambió para la versión 1.13, pero la que tú usas funciona igual a la expuesta en el post. Como ves en en elnlace a la actualización, los cambios para PostgreSQL 9.0 se hacen sobre Windows puesto que allí las rutas varían. En Ubuntu/Linux las rutas no deberían representar problemas.
En todo caso, vuelve a crear/editar el archivo plugins.ini puesto que había dejado un par de espacios que ya no deben aparecer. Para ello sigue de nuevo la guía de instalación del post Mejoras en el visor de capas PostGIS para pgAdmin 3 (http://geotux.tuxfamily.org/index.php?option=com_myblog&task=view&id=277&Itemid=59).
Si continua el fallo, asegúrate que tu directorio PGBIN esté apuntando a /usr/bin, esto lo puedes verificar desde pgAdmin dando click en File --> Options en la variable PG Bin Path.
Si aún continua el fallo envíame tu archivo plugins.ini
Saludos,
Tuxman
Efectivamente era un problema en los espacios del archivo plugins.ini. Ahora si se abre el visor.
Jugando con este archivo encontré el problema por el cual no se cargaba el plugin PSQL console.
Nuevamente muchas gracias.
Si no te molesta estoy comentando sobre este plugin en Diaspora* alpha.
Saludos.
This is the project I maintained for a while:
https://github.com/gacarrillor/postgis-layer-viewer
If you're interested, you can create an issue there, I could eventually update it when QGIS 3 is released.
Regards,
Tuxman
Suscripción de noticias RSS para comentarios de esta entrada.