답변:
이 답변은 QGIS 3.0이 출시되기 전에 제공 및 수락되었습니다.
기관 ID를 받으려면 (예 : " EPSG : 4326 ") :
[% layer_property( 'your_layer_name_or_id', 'crs' ) %]
CRS의 텍스트 설명 (예 : " WGS84 ") 을 얻으려면 다음을 수행하십시오 .
암호:
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def get_crs(layer_name, feature, parent):
return QgsMapLayerRegistry.instance().mapLayersByName(layer_name)[0].crs().description()
get_crs( 'your_layer_name' )
QGIS 3.x에 대한 답변 :
파이썬이없는 쉬운 솔루션을 보려면 아래 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의 변경에 대한 자세한 내용은