QGIS-Benutzerdefinierte Funktionen werden im Feldrechner nicht angezeigt

10

Ich benutze Essen und versuche, Anita Grasers wundervollem Tutorial Illuminated Contours zu folgen . Ich habe die azimuthFunktion erstellt und geladen, aber auf der Registerkarte "Ausdruck" wird nichts angezeigt - nicht einmal "Benutzerdefiniert" mit der Standardfunktion! Der Ausdruck existiert wie azimuth.pyin C :\Users\Max\.qgis2\python\expressionsmit der zugehörigen .pycDatei. Ein Neustart von QGIS macht keinen Unterschied

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Max
quelle
2
Ich nehme an, Sie haben sich daran erinnert, auf die Schaltfläche "Laden" zu klicken? Ich habe auch festgestellt, dass einige ältere Skripte Probleme verursachten, als ich versuchte, sie einer neuen Gruppe zuzuordnen. Ich habe keine Syntaxfehler erhalten, aber das manuelle Korrigieren der Einrückung von TAB auf 4 Leerzeichen hat dies behoben. Dies ist möglicherweise eine Überprüfung wert, insbesondere wenn Sie den Code eingefügt haben. (Ich sehe, Sie verwenden 2 Leerzeichen für den Einzug). Die Falzmarkierung (das Minuszeichen nach der Zeilennummer) sieht allerdings in Ordnung aus ...
Steven Kay
@StevenKay Danke Steven zum ersten Mal, ich habe einen Fehler im Code und es hat mit Einrückung zu tun. Ich war mir dessen nicht bewusst und ja, ich hatte den Code eingefügt. Nur um zu bestätigen, dass am Anfang einer Zeile immer 4 Leerzeichen stehen sollten - stelle ich fest, dass der Funktionseditor eine automatische Einrückung vornimmt?
Max
@Max - Ich würde dringend empfehlen, einen Texteditor zu verwenden, um Ihre Einrückung zu korrigieren und sie dann in das Ausdrucksfenster einzufügen. Einige dieser Editoren zeigen an, ob Ihre Einrückung falsch ist. Es gibt viele Texteditoren da draußen, zum Beispiel liebe ich es, Sublime zu verwenden ;)
Joseph
1
@ Joseph Danke, ich werde tun - wirklich dankbar für die Unterstützung
Max
@ Max Hast du das jemals gelöst? Ich erlebe das gleiche. Meine benutzerdefinierten Funktionen werden beim Start von qgis nicht geladen, daher muss ich die Registerkarte Funktionseditor aufrufen und auf "Laden" klicken, bevor die benutzerdefinierten Funktionen auf der Registerkarte Ausdruckseditor angezeigt werden.
Joskal

Antworten:

11

Sie nicht rufen Sie die Funktion , azimuthda es bereits eine bestehende Math Funktion dieses genannt.

Geben Sie ihm stattdessen einen anderen Namen wie azi():

Beispielskript

Und jetzt sollten Sie es nennen können:

Benutzerdefinierter Ausdruck

Joseph
quelle
danke dafür, ich war mir der mathematischen Funktion nicht bewusst. Nach dem Erstellen und Laden wird es jedoch immer noch nicht auf der Registerkarte "Ausdrücke" angezeigt. Wie ich bereits sagte, gibt es überhaupt keine Überschrift mit dem Namen "Benutzerdefiniert". Für den nächsten Schritt im Tutorial bin ich ein bisschen vollgestopft (dies ist das erste Mal, dass ich Ausdrücke und Funktionen in QGIS verwende ... vielleicht das letzte Mal, wenn ich kann). t dieses Tutorial beenden!)
Max
@Max - Welche QGIS-Version verwenden Sie? Haben Sie über ein Upgrade auf die neueste Version nachgedacht? Ich habe dies auf QGIS 2.14.3-Essen getestet und es wurde gut geladen.
Joseph
Ich habe es auf 2.14.8 Essen und 2.16.3 versucht. Ich denke, ich werde deinstallieren und neu installieren - ich verwende OSGeo für die Installation und frage mich, ob vielleicht irgendwo etwas schief gelaufen ist?
Max
@ Max - Könnte sein. Versuchen Sie vor der Neuinstallation, den C:/Users/You/.qgis2/python/expressionsOrdner zu löschen (oder sichern Sie alle verwendeten Skripte).
Joseph
1
Lassen Sie uns diese Diskussion im Chat fortsetzen .
Max