You are here:GeoTux»Geo-Blogs»Bases de datos geográficos»Consola SQL para el plugin de pgAdmin: PostGIS viewer

Estadísticas

Invitados: 36
Usuarios registrados: 3153
Usuarios en línea:
-
Registrados hoy:
-

Registro

Redifusión (RSS)

Blogs y Noticias:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Recibir por e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿Qué es esto?

En Twitter

Sábado 04 de Febrero de 2012 10:22

Consola SQL para el plugin de pgAdmin: PostGIS viewer

Written by  German Carrillo
Rate this item
(5 votes)

He agregado una consola de comandos SQL al visor de capas PostGIS de pgAdmin. La consola permite ejecutar consultas SQL sobre datos de PostGIS para filtrarlos o ejecutar funciones espaciales sobre ellos.

For English click here.

--------------------------

Para acceder al código más actual visitar el repositorio PostGIS-Layer-Viewer en GitHub. Están todos invitados a contribuir al proyecto, mejorando el código,  resolviendo un 'issue', o reportando bugs que puedan haber encontrado. También podrían decir "gracias, lo encuentro muy útil" con un simple 'Star' de GitHub!

--------------------------

El constructor de consultas incluído en un post anterior puede ser más complejo de lo requerido, especialemente cuando lo único que queremos hacer es ejecutar una consulta SQL simple. Por esto he agregado el plugin de QGIS Fast SQL Layer, el cual permite escribir la consulta en una consola básica.

 

 

¿Qué es Fast SQL Layer?

Fast SQL Layer es un plugin de QGIS escrito por Pablo T. Carreira para ejecutar consultas SQL para datos elmacenados en PostGIS y SpatiaLite. Viene con su propio resaltado de sintaxis, facilitando un poco el proceso. He editado un poco el plugin para integrarlo con el visor de capas PostGIS para pgAdmin.

 

Prerrequisitos

Python, PyQt4, PyQGIS, libqt4-sql-psql, psycopg2 y pygments (para el constructor de consultas).

Cómo instalar prerrequisitos en Windows: Ver este post, además se requiere instalar psycopg2 y pygments desde OSGeo4W.

Cómo instalar prerrequisitos in Ubuntu/Linux: Para QGIS, ver la página oficial de descargas. Para los demás programas/ librerías usar apt-get o Synaptic.

 

Instalación

Después de instalar los prerrequisitos, solo se requiere extraer un archivo ZIP (descargar el archivo zip) en la ruta adecuada (en Windows: C:/Archivos de programa/PostgreSQL/9.1/bin/ mientras que en Ubuntu/Linux: /usr/bin/) y editar  el archivo plugins.ini de pgAdmin.

 

En Ubuntu/Linux se requiere el comando sudo para extraer y definir permisos 755 sobre los archivos extraidos, de esta manera:

  sudo unzip postgis_viewer.zip -d /usr/bin/ 
sudo chmod 755 /usr/bin/postgis_viewer/ -R

 

Adicionalmente, copiar las siguientes líneas a /usr/share/pgadmin3/plugins.ini (si el archivo no existe, debe ser creado):

Title=View PostGIS layer
Command=$$PGBINDIR/postgis_viewer/postgis_viewer.py -h $$HOSTNAME -p $$PORT -U $$USERNAME -W $$PASSWORD -d $$DATABASE -s $$SCHEMA -t $$OBJECTNAME
Description=View PostGIS layer
KeyFile=$$PGBINDIR/postgis_viewer/postgis_viewer.py
Platform=unix
ServerType=postgresql
Database=Yes
SetPassword=Yes


En Windows editar C:/Archivos de programa/PostgreSQL/9.1/pgAdmin III/plugins.ini agregando las siguientes líneas:

Title=View PostGIS layer
Command="$$PGBINDIR\postgis_viewer\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\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/9.1/ Si se presentara algún inconveniente, se deben revisar dichas rutas.

 

¿Cómo lo uso?

Puedes usar el visor de capas PostGIS desde la línea de comandos (como en este post) así como desde pgAdmin. Si la instalación es correcta, para visualizar una de tus tablas espaciales debes seleccionarla en el object browser de pgAdmin, hacer click en Plugins y luego hacer click en View PostGIS layer, así:

 

Ahora puedes escribir consultas SQL en la pestaña Query. No olvides definir el nombre del campo identificador (id) así como el nombre del campo geometría (Geometry field) para obtener capas válidas. Si obtienes una nueva capa a partir de tú consulta pero no puedes ver su geometría en el mapa, probablemente olvidaste definir correctamente el nombre del campo identificador (id).

 

 

===============================

Actualización (2014.12.12): Versión 1.6:

  • La versión 1.6 del plugin incluye soporte para archivos raster de PostGIS (requiere QGIS v.2.6 o mayor).
  • Se incluye nueva pestaña About, para dar crédito a las personas que han contribuido.

Raster layer stored in PostGIS

 

Last modified on Martes 12 de Abril de 2016 16:05

Comentarios  

 
0 # Updatestuxman 20-03-2012 19:40
(English below)

Este mensaje es solo para informarles de un par de actualizaciones en el plugin:
* Botón "Zoom Full Extent".
* Soporte del tipo 'geography' de PostGIS.

El enlace de descarga es el indicado en el post.

---------
This is just to inform you about a couple of updates in the plug-in:
* "Zoom Full Extent" button.
* Support for 'geography' type.
The URL for downloading the new version is the indicated in the post.

Saludos,

Tuxman
Responder | Responder con una citación | Citar
 
 
0 # Actualizaciónjhcanof 24-07-2012 19:39
Hola Germán,
Tengo Debian testing, con PostgreSQL 9 y Postgis 1.5.x, pgadmin3 1.14.2.

En el archivo plugins.ini Faltaría la linea "KeyFile=$$PGBINDIR/postgis_viewer/postgis_viewer.py"

quedando así:

Title=View PostGIS layer
Command=$$PGBINDIR/postgis_viewer/postgis_viewer.py -h $$HOSTNAME -p $$PORT -U $$USERNAME -W $$PASSWORD -d $$DATABASE -s $$SCHE$
Description=View PostGIS layer
KeyFile=$$PGBINDIR/postgis_viewer/postgis_viewer.py
Platform=unix
ServerType=postgresql
Database=Yes
SetPassword=Yes

De esa forma me funciona a la perfección

Muchas gracias por tu ayuda.
Responder | Responder con una citación | Citar
 
 
0 # Re:tuxman 24-07-2012 21:38
Gracias jhcanof,

efectivamente para versiones de pgAdmin > 1.12.x se requiere esa línea extra en el archivo plugins.ini

Saludos,

Tuxman
Responder | Responder con una citación | Citar
 
 
0 # shp2psql and psqlpamella 09-11-2012 01:11
Dear tuxman,

I have a problem with executing the above command. Am creating an application using openlayers, geoserver and wfs. I set up the geoserver and published my maps but i cannot edit the wfs. i actually cant visualise this icon which is part of my code and should be on the map.
I realised the problem could be with the import and export of the shapefiles to transform them in an acceptable form for wfs.

I used the pgAdminloader which was successful but i cannot execute the psql command. i get a response of access denied, even when i include the right password. Iam using windows 7.

Please advice on what i could be doing wrongly.

regards
Responder | Responder con una citación | Citar
 
 
0 # PostGIS Viewer.avantgeo 13-11-2017 15:44
Un componente genial, desconocía que hubiera algo así, ya que en muchas ocasiones he pensado que sería fantástico poder ver gráficamente el resultado de una consulta sin necesidad de almacenarla en una tabla para su posterior visionado en una aplicación SIG de escritorio.

Está claro que desde estos SIG's de escritorio se pueden hacer cosas parecidas, pero estando trabajando con PGAdmin no tienes que ir a otra aplicación para ver los resultados.

Enhorabuena.
Responder | Responder con una citación | Citar
 

Escribir un comentario


Código de seguridad
Refescar

 

¿Dónde nos leen?

Últimos comentarios