Funkcje QGIS-Custom nie są wyświetlane w kalkulatorze polowym

10

Używam Essen i staram się śledzić wspaniały samouczek Anity Graser Podświetlane kontury . Utworzyłem azimuthfunkcję i załadowałem ją, ale w zakładce wyrażeń nic się nie wyświetla - nawet niestandardowe z domyślnym func! Wyrażenie istnieje jak azimuth.pyw C :\Users\Max\.qgis2\python\expressionsze skojarzonym .pycplikiem. Ponowne uruchomienie QGIS nie robi żadnej różnicy

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Max
źródło
2
Rozumiem, że pamiętałeś, aby nacisnąć przycisk „Załaduj”? Odkryłem również, że niektóre starsze skrypty powodowały problemy, gdy próbowałem przenieść je do nowej grupy - nie otrzymałem żadnych błędów składniowych, ale naprawiłem to ręcznie, wciskając TAB na 4 spacje. Może warto to sprawdzić, zwłaszcza jeśli wkleiłeś kod? (Widzę, że używasz 2 spacji do wcięcia). Znacznik zagięcia (znak minus po numerze linii) wygląda jednak dobrze ...
Steven Kay
@StevenKay Dzięki Stevenowi po raz pierwszy mam błąd w kodzie i ma to związek z wcięciem. Nie zdawałem sobie z tego sprawy i tak, wkleiłem kod. Żeby potwierdzić, zawsze powinny znajdować się 4 spacje na początku wiersza - zauważam, że edytor funkcji wykonuje automatyczne wcięcia?
Max.
@Max - zdecydowanie zalecam użycie edytora tekstu, aby naprawić wcięcie, a następnie wkleić go do okna wyrażenia. Niektóre z tych edytorów podkreślą, czy wcięcie jest nieprawidłowe. Istnieje wiele edytorów tekstu, na przykład uwielbiam używać Sublime ;)
Joseph
1
@Joseph Dzięki, zrobię - naprawdę doceniam wszelką pomoc
Max
@Max Czy kiedykolwiek to rozwiązałeś? Doświadczam tego samego. Moje funkcje niestandardowe nie ładują się po uruchomieniu qgis, więc muszę wejść do karty edytora funkcji i nacisnąć „load”, zanim funkcje niestandardowe pojawią się na karcie edytora wyrażeń.
joskal

Odpowiedzi:

11

Nie wywoływaj tej funkcji, azimuthponieważ istnieje już funkcja matematyki o nazwie to.

Zamiast tego nadaj mu inną nazwę azi():

Przykładowy skrypt

A teraz powinieneś być w stanie to nazwać:

Wyrażenie niestandardowe

Joseph
źródło
dzięki za to, nie wiedziałem o funkcji matematycznej. Jednak nadal nie jest wyświetlany na karcie wyrażeń po utworzeniu i załadowaniu. Jak powiedziałem wcześniej, w ogóle nie ma nagłówka o nazwie „Niestandardowy”, więc w następnym kroku tego samouczka jestem trochę wypchany (po raz pierwszy używam wyrażeń i funkcji w QGIS ... może mój ostatni, jeśli mogę ” skończ ten samouczek!)
Maks.
@Max - jakiej wersji QGIS używasz? Czy rozważałeś aktualizację do najnowszej wersji? Przetestowałem to na QGIS 2.14.3-Essen i ładuje się dobrze.
Joseph,
Wypróbowałem to na wersjach 2.14.8 Essen i 2.16.3. Myślę, że odinstaluję i przeinstaluję - używam OSGeo do instalacji i zastanawiam się, czy może coś gdzieś coś zepsuło?
Maks.
@Max - Może być. Przed ponowną instalacją spróbuj usunąć C:/Users/You/.qgis2/python/expressionsfolder (lub wykonaj kopię zapasową wszystkich używanych skryptów).
Joseph,