Odpowiedź na QGIS 3.x:
Dla łatwiejszego rozwiązania bez Pythona patrz komentarz Gustry poniżej
Dodaj ten skrypt do niestandardowego edytora funkcyjnego:
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()
a następnie pobierz nazwę crs w edytorze wyrażeń za pomocą
get_crs(@layer_name)
Aby uzyskać nazwę CRS swojego projektu (na przykład rzutowanie w układzie wydruku), użyj tego:
Dodaj ten skrypt do niestandardowego edytora funkcyjnego:
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()
a następnie pobierz nazwę crs w edytorze wyrażeń za pomocą:
get_projectcrs(@project_crs)
Oczywiście możesz także wpisać np. 'EPSG:4326'
Ręcznie lub użyć innej funkcji niż ta, @project_crs
która zwraca kod EPSG.
Uwagi:
Zobacz także https://qgis.org/api/api_break.html, aby uzyskać więcej informacji o zmianach w qgis 3.x