Importación en Postgis de shapefiles mediante ogr2ogr en un script de Python

En un post pasado se consideró la importación en Postgis de archivos vectoriales (shp, kml, csv) mediante el comando ogr2ogr en consola de Bash. En este post sólo se va a particularizar para los shapefiles; pero en un entorno de programación con Python.

El código a usar es muy sencillo y se expone a continuación. Emplea la base de datos creada en un artículo anterior. Observen que el nombre de la columna de geometría se específica como ‘geom’. Por defecto, si no se asigna, ogr2ogr la nombra como ‘wkb_geometry’.

import os

dbname = 'utah'
host = 'localhost'
user = 'curso_pyqgis'
password = 'pyqgis'
port = '5432'

command = "ogr2ogr -lco GEOMETRY_NAME=geom -a_srs epsg:32612 \
          -f 'PostgreSQL' PG:'dbname=" + dbname + \
          " host=" + host + \
          " user=" + user + \
          " password=" + password + \
          " port=" + port + "'" + \
          " /home/zeito/pyqgis_data/polygon4.shp"

os.system(command)

Después de ejecutado en la Python Console de QGIS y sin necesidad de pgadmin3 o la utilidad de QGIS para añadir PostGIS layers, compruebo con un plugin que estoy desarrollando que la importación fue realizada satisfactoriamente; tal como se observa en la imagen siguiente con la lista de todas las tablas incorporadas a la base de datos:

postgis

En el plugin se observa, además, que la funcionalidad que se está desarrollando en este post ya fue incorporada. Por otra parte, otras bondades del plugin corresponden a la eliminación de tablas de la base de datos y a la selección del sistema de coordenadas a través de un objeto de la clase QgsProjectionSelectionWidget de PyQGIS para el shapefile que se carga en la database.

Esta entrada fue publicada en Código Python, Postgres+postgis, QGIS, SIG, Software Libre. Guarda el enlace permanente.

Una respuesta a Importación en Postgis de shapefiles mediante ogr2ogr en un script de Python

  1. Pingback: Importación en PostGIS de capas vectoriales mediante psycopg2 en ambiente de PyQGIS | El Blog de José Guerrero

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s