Відповідь на QGIS 3.x:
Для більш простого рішення без python дивіться коментар gustry нижче
Додайте цей скрипт у свій спеціальний функціонер:
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()
а потім отримайте ім'я crs в редакторі виразів за допомогою
get_crs(@layer_name)
Для назви CRS вашого проекту (наприклад, проекції у макеті друку) використовуйте це:
Додайте цей скрипт у свій спеціальний функціонер:
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()
а потім отримайте ім'я crs в редакторі виразів за допомогою:
get_projectcrs(@project_crs)
Звичайно, ви також можете ввести, наприклад, 'EPSG:4326'
вручну або скористатися іншою функцією, @project_crs
яка повертає EPSG-код.
Примітки:
Також перегляньте https://qgis.org/api/api_break.html для отримання додаткової інформації про зміни в qgis 3.x