QGIS 3.x için cevap:
A) Belirli bir katmanın CRS adı için şunu kullanın:
Bu komut dosyasını özel işlev düzenleyicinize ekleyin:
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()
ve sonra ifade editöründe crs adını
get_crs(@layer_name)
Veya layer_property( @layer_name, 'crs_description')
@etrimaille tarafından önerilen ifadeyi kullanın
B) Projenizin CRS adı için (örneğin baskı düzeninizdeki projeksiyon) bunu kullanın:
Bu komut dosyasını özel işlev düzenleyicinize ekleyin:
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()
ve ifade düzenleyicide crs adını şu şekilde alın:
get_projectcrs(@project_crs)
Elbette örneğin 'EPSG:4326'
manuel olarak da yazabilir veya @project_crs
EPSG kodu döndüren başka bir işlev kullanabilirsiniz . Örneğinget_projectcrs('EPSG:3006')
Notlar:
QGIS 3.x'teki değişiklikler hakkında daha fazla bilgi için https://qgis.org/api/api_break.html adresine de göz atın.