Fungsi QGIS-Kustom tidak ditampilkan dalam Kalkulator Bidang

10

Saya menggunakan Essen dan mencoba mengikuti kontur Illuminated tutorial indah Anita Graser . Saya telah membuat azimuthfungsi dan memuatnya tetapi tidak ada yang ditampilkan di tab ekspresi - bahkan Custom dengan fungsi default! Ekspresi ada azimuth.pydalam C :\Users\Max\.qgis2\python\expressionsdengan .pycfile terkait . Restart QGIS tidak ada bedanya

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Maks
sumber
2
Saya pikir Anda ingat untuk menekan tombol 'Load'? Saya juga menemukan beberapa skrip yang lebih lama menyebabkan masalah ketika saya mencoba untuk merealokasi mereka ke grup baru - saya tidak mendapatkan kesalahan sintaks, tetapi mengoreksi lekukan secara manual dari menggunakan TAB ke 4 ruang memperbaiki ini. Ini mungkin layak untuk diperiksa, terutama jika Anda menempelkan kode? (Saya melihat Anda menggunakan 2 spasi untuk indentasi). Spidol lipat (tanda minus setelah nomor baris) terlihat ok ...
Steven Kay
@ SevenKay Terima kasih Steven untuk pertama kalinya saya memiliki kesalahan pada kode dan ini berkaitan dengan indentasi. Saya tidak mengetahui hal ini dan ya saya telah menempelkan kode di .. Hanya untuk mengonfirmasi, harus selalu ada 4 spasi di awal baris - saya perhatikan bahwa editor fungsi melakukan beberapa lekukan otomatis?
Maks
@ Max - Saya sangat menyarankan menggunakan editor teks untuk memperbaiki lekukan Anda dan kemudian tempel ke jendela ekspresi. Sejumlah editor ini akan menyoroti apakah lekukan Anda salah. Ada banyak editor teks di luar sana, misalnya, saya suka menggunakan Sublime ;)
Joseph
1
@ Joseph Terima kasih akan saya lakukan - sangat menghargai semua bantuan
Max
@ Max Apakah Anda pernah memecahkan ini? Saya mengalami hal yang sama. Fungsi kustom saya tidak memuat ketika qgis mulai jadi saya harus masuk ke tab editor fungsi dan tekan "load" sebelum fungsi kustom muncul di tab editor ekspresi.
joskal

Jawaban:

11

Jangan panggil fungsi tersebut azimuthkarena sudah ada fungsi Matematika yang ada yang disebut ini.

Sebaliknya berikan nama lain seperti azi():

Contoh skrip

Dan sekarang Anda harus dapat menyebutnya:

Ekspresi khusus

Yusuf
sumber
terima kasih untuk itu, saya tidak mengetahui fungsi matematika. Namun itu masih tidak muncul di tab ekspresi yang pernah dibuat dan dimuat. Seperti yang saya katakan sebelumnya tidak ada tajuk yang disebut "Custom" sama sekali jadi untuk langkah selanjutnya dalam tutorial saya agak diisi (ini pertama kalinya saya menggunakan ekspresi dan fungsi di QGIS ... mungkin yang terakhir jika saya bisa ' t selesaikan tutorial ini!)
Maks
@ Max - Versi QGIS apa yang Anda gunakan? Sudahkah Anda mempertimbangkan untuk meningkatkan ke versi yang lebih terbaru? Saya menguji ini pada QGIS 2.14.3-Essen dan itu dimuat dengan baik.
Joseph
Saya sudah mencobanya pada 2.14.8 Essen dan 2.16.3. Saya pikir saya akan menghapus dan menginstal ulang - Saya menggunakan OSGeo untuk instalasi dan saya ingin tahu apakah mungkin ada sesuatu yang kacau di suatu tempat?
Maks
@ Max - Bisa jadi. Sebelum menginstal ulang, coba hapus C:/Users/You/.qgis2/python/expressionsfolder (atau cadangkan skrip yang Anda gunakan).
Joseph