Jawaban untuk QGIS 3.x:
Untuk solusi yang lebih mudah tanpa python lihat komentar oleh gustry di bawah ini
Tambahkan skrip ini ke petugas fungsi khusus Anda:
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()
dan kemudian dapatkan nama crs dalam editor ekspresi dengan
get_crs(@layer_name)
Untuk nama CRS proyek Anda (misalnya proyeksi dalam tata letak cetak Anda) gunakan ini:
Tambahkan skrip ini ke petugas fungsi khusus Anda:
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()
lalu dapatkan nama crs dalam editor ekspresi dengan:
get_projectcrs(@project_crs)
Tentu saja Anda juga dapat mengetik misalnya 'EPSG:4326'
secara manual atau menggunakan fungsi lain selain @project_crs
yang mengembalikan kode EPSG.
Catatan:
Lihat juga https://qgis.org/api/api_break.html untuk informasi lebih lanjut tentang perubahan dalam qgis 3.x