I am trying to set the projection on a raster to match that of a vector point layer. Thus I need to find out what is the projection of a given layer, to use it in the GDAL.Dataset.SetProjection()
so that I can create the GeoTIFF with the appropriate projection.
How do I do that in QGIS using Python?
Best Answer
Short answer
Explanation
qgis.utils.iface.activeLayer()
returns a reference to the active QgsMapLayer.QgsMapLayer.crs()
returns the crs or QgsCoordinateReferenceSystem for the layer.QgsCoordinateReferenceSystem.authid()
returns the Authority identifier for the crs as a QString.However, this is assuming there is an active layer, it is of a vector type, and it has a valid crs. You will want to test for validity of those items before committing to reprojecting a raster.
If you are reprojecting, using GDAL.Dataset.SetProjection() will not suffice, since it will only assign a projection and not reproject (warp) the raster to the same as your vector layer.