필드 계산기에 QGIS 사용자 정의 함수가 표시되지 않습니다


10

나는 Essen을 사용하고 있으며 Anita Graser의 훌륭한 자습서 Illuminated contours 를 따르려고합니다 . azimuth함수를 만들어서 로드했지만 표현식 탭에 아무 것도 표시되지 않습니다. 기본 func를 사용하는 사용자 정의조차도 아닙니다! 표현식 azimuth.py은 C :\Users\Max\.qgis2\python\expressions와 관련 .pyc파일 과 함께 존재 합니다. QGIS를 다시 시작해도 아무런 차이가 없습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


2
'로드'버튼을 누르는 것을 기억하십니까? 또한 이전 그룹의 스크립트를 새 그룹으로 재 할당 할 때 문제가 발생한다는 것을 알았습니다. 구문 오류는 없지만 탭을 사용하여 4 개의 공백으로 들여 쓰기를 수동으로 수정하면 문제가 해결되었습니다. 특히 코드를 붙여 넣은 경우 확인할 가치가 있습니까? (들여 쓰기에 2 개의 공백을 사용하고 있습니다). 접기 표시 (행 번호 뒤의 빼기 부호)는 괜찮아 보입니다.
Steven Kay

@StevenKay Steven에게 처음으로 감사합니다. 코드에 오류가 있으며 들여 쓰기와 관련이 있습니다. 나는 이것을 알지 못했고 예 코드를 붙여 넣었습니다. 확인을 위해 줄의 시작 부분에 항상 4 개의 공백이 있어야합니다. 함수 편집기는 자동 들여 쓰기를합니까?
Max

@Max-텍스트 편집기를 사용하여 들여 쓰기를 수정 한 다음 표현식 창에 붙여 넣는 것이 좋습니다. 이 편집자들 중 다수는 들여 쓰기가 잘못되었는지를 강조합니다. 예를 들어 Sublime을 사용하는 것을 좋아하는 텍스트 편집기가 많이 있습니다 .)
Joseph

1
@Joseph 감사합니다 – 모든 지원에 감사드립니다
Max

@Max이 문제를 해결 한 적이 있습니까? 나는 같은 경험을합니다. qgis가 시작될 때 내 사용자 정의 함수가로드되지 않으므로 사용자 정의 함수가 표현식 편집기 탭에 표시되기 전에 함수 편집기 탭을 입력하고 "로드"를 눌러야합니다.
joskal

답변:


11

이 함수라는 azimuth기존 Math 함수 가 이미 있으므로 함수 를 호출 하지 마십시오 .

대신 다음과 같은 다른 이름을 지정하십시오 azi().

스크립트 예

그리고 지금 당신은 그것을 호출 할 수 있어야합니다 :

맞춤식


덕분에 수학 함수를 몰랐습니다. 그러나 생성 및로드 된 후에는 여전히 표현식 탭에 표시되지 않습니다. 이전에 말했듯이 "Custom"이라는 제목이 전혀 없으므로 튜토리얼의 다음 단계에서는 약간 박제입니다 (QGIS의 표현식과 함수를 사용한 것은 이번이 처음입니다. 이 자습서를 마치지 마라!)
Max

@Max-어떤 QGIS 버전을 사용하고 있습니까? 최신 버전으로 업그레이드하는 것을 고려 했습니까? 나는 이것을 QGIS 2.14.3-Essen에서 테스트했으며 정상적으로로드되었습니다.
Joseph

2.14.8 Essen 및 2.16.3에서 시도했지만 제거하고 다시 설치한다고 생각합니다. 설치에 OSGeo를 사용하고 어딘가에 문제가 있는지 궁금합니다.
Max

@Max-가능합니다. 다시 설치하기 전에 C:/Users/You/.qgis2/python/expressions폴더를 삭제 하거나 사용한 스크립트를 백업하십시오.
Joseph

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.