Insertar CRS en un ráster con PyQGIS

Cuando un ráster no tiene CRS y es cargado a la Map View de QGIS se despliega un mensaje en una QgsMessageBar que lo señala. Se advierte, además, que éste será considerado, por defecto, como el del proyecto correspondiente. En el ráster de la imagen siguiente el CRS es asumido por el sistema para un EPSG igual a 4326.

crs1

Como me interesa digitalizar esa imagen con un EPSG igual a 32612, entonces el siguiente script se encarga de la asignación definitiva del CRS y de su grabación correspondiente con un nombre diferente.

layer = iface.activeLayer()

CRS = QgsCoordinateReferenceSystem()
CRS.createFromSrid(32612)
layer.setCrs(CRS)

print layer.crs().postgisSrid()

provider = layer.dataProvider()

pipe = QgsRasterPipe()

pipe.set(provider.clone())

rasterWriter = QgsRasterFileWriter("/home/zeito/pyqgis_data/test_crs.tif")

xSize = provider.xSize()
ySize = provider.ySize()

error = rasterWriter.writeRaster(pipe, xSize, ySize, provider.extent(), CRS)

if error == QgsRasterFileWriter.NoError:
    print "Raster was saved successfully!"

else:
    print "Raster was not saved!"

Cuando se carga el nuevo ráster a la Map View ya no se despliega el mensaje de advertencia y el CRS es el asignado (EPSG = 32612).

Esta entrada fue publicada en PyQGIS, QGIS, SIG, Software Libre. Guarda el enlace permanente.

Una respuesta a Insertar CRS en un ráster con PyQGIS

  1. Pingback: Polígonos vecinos de 1ro, 2do y orden superior mediante 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