Diskussion:Workshop QGIS Python GeoPython 2017

Aus Geometa Lab OST
Zur Navigation springen Zur Suche springen

See also

User Defined or Custom Expression Functions (CEFs) can be used in ...

  1. "Layer > Properties > Tab Fields" in Button "Text Edit" in Default- and in Constraints-Field.
  2. "Layer > Properties > Tab Style" in "Label with".
  3. "Select features using an expression".
  4. "Field Calculator".
  5. "Statistical Summary" Panel.
  6. "Map Tip" tool
  7. "Conditional formatting" in the attribute table (Create a new rule and set the condition to the output of a CEF).
  8. "Filtering features". Switch to the form view in the attribute table (button on bottom right corner) > click on 'Show All Features' (bottom left) and select 'Advanced Filter (Expression)'.
  9. "Atlas Generation" in the Print Composer. Project > Print Composer > Check 'generate an atlas' > Set CEF based values for page name, filter and output filename.
  10. "Rule based labeling". Layer Properties > Labels > Select Rule based labeling from the drop-down menu > Click on the '+' button and add a CEF based filter (... button).
  11. (other places?)


Possible examples

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

After the GeoPython Workshop, Simran makes pull request to Expression Plus Plugin adding "env()" fn.

Optional (but highly demanded) use case: A user wants to create a layer (table) which as a primary key (id) which behaves like 'autoincrement' when user edit a new feature. So user does not have to care about unique, sequential values for the PK, like autoincrement in MySQL). In QGIS 3 this is available when user chooses "UNIQUE" as constraint. In QGIS 2.18 (or before) there is a clever custom expression function needed. => Solution?

Notes

Collected (special) use cases:

Plugins:

Open: