Respuesta para QGIS 3.x:
Para una solución más fácil sin python, vea el comentario de gustry a continuación
Agregue este script a su editor de funciones personalizado:
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def get_crs(layer_name, feature, parent):
return QgsProject.instance().mapLayersByName(layer_name)[0].crs().description()
y luego obtener el nombre de crs en el editor de expresiones con
get_crs(@layer_name)
Para el nombre de CRS de su proyecto (por ejemplo, proyección en su diseño de impresión) use esto:
Agregue este script a su editor de funciones personalizado:
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def get_projectcrs(project_crs, feature, parent):
return QgsCoordinateReferenceSystem(project_crs).description()
y luego obtenga el nombre de crs en el editor de expresiones con:
get_projectcrs(@project_crs)
Por supuesto, también puede escribir, por ejemplo, 'EPSG:4326'
manualmente o utilizar otra función que no sea la @project_crs
que devuelve un código EPSG.
Notas:
También eche un vistazo a https://qgis.org/api/api_break.html para obtener más información sobre los cambios en qgis 3.x