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 Python)
Answer
Short answer
qgis.utils.iface.activeLayer().crs().authid()
# returns: PyQt4.QtCore.QString(u'EPSG:26913')
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.
No comments:
Post a Comment