Resposta para QGIS 3.x:
Para uma solução mais fácil sem python, veja o comentário da indústria abaixo
Adicione este script ao seu editor de funções 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()
e, em seguida, obtenha o nome crs no editor de expressão com
get_crs(@layer_name)
Para o nome do CRS do seu projeto (por exemplo, projeção no layout de impressão), use este:
Adicione este script ao seu editor de funções 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()
e, em seguida, obtenha o nome crs no editor de expressão com:
get_projectcrs(@project_crs)
Obviamente, você também pode digitar, por exemplo, 'EPSG:4326'
manualmente ou usar outra função @project_crs
que não retorne um código EPSG.
Notas:
Consulte também https://qgis.org/api/api_break.html para obter mais informações sobre alterações no qgis 3.x