Diskussion:Workshop QGIS Python GeoPython 2017

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

See also

Custom Python Expression Functions for QGIS

Possible examples

  1. Function doing something "local".
  2. Function reading from other field(s).
  3. Functions aka "Singleton" like system environment variables (usage "env('USERNAME')") layer properties or number sequence (spcial Plugin needed?).
  4. Function for remote webservice: geocoding (reading from the internet).
  5. Function reading from other layers (outlook, rather candidate for a plugin).

Writing Expression Functions

How to install and share an Expression Function?

  • Save and (Re-)Load in "Function Edtior" (saves to "%USERHOME%.qgis2\python\expressions" (where %USERHOME% under Windows is e.g. "C:\Users\sfkeller\").
  • Add Fn. to "%USERHOME%.qgis2\python\startup.py (create/edit startup.py) to be tested!!!
  • Add Fn. to the "Expresion Plus Plugin" (pull request to repo)
  • Add Fn. to any (own and loaded) QGIS plugin (make own plugin)

Debugging:

  • use "print"
  • use pdb (see QGIS docs and giswiki)
  • (use Remote Debug Plugin)

Notes

Collected (special) use cases:

Plugins:

Open:

  • How to store a value in PyQGIS? Use QSettings (/.qgis) or QGISProject (.qgs)