Diskussion:Workshop QGIS Python GeoPython 2017: Unterschied zwischen den Versionen
Aus Geoinformation HSR
Stefan (Diskussion | Beiträge) K |
Stefan (Diskussion | Beiträge) (→Usage of Expression Functions) |
||
(53 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | See also | |
+ | * Step-by-step guide for the workshop on [https://github.com/simran001/GeoPython-Workshop/blob/master/README.md Github.] | ||
+ | * https://github.com/simran001/PyQGIS | ||
* https://etherpad.coredump.ch/p/Python-Workshop | * https://etherpad.coredump.ch/p/Python-Workshop | ||
− | + | == Usage of Expression Functions == | |
− | + | ||
− | * ... | + | Examples where Expression Functions (EFns) can be used in QGIS are: symbology, labeling, calculating fields, defining virtual fields, selecting and filtering data, layouts, atlas serial printing and reports, map tips, custom python expressions, parameters for processing, and many more. |
− | * | + | |
+ | This is a more systematic list: | ||
+ | # "Server-side" / data-related: | ||
+ | ## "Select features using an expression" based on a field(Layer property). | ||
+ | ## "Filtering features" while loading from source. See form view of Attribute table (button on bottom right corner) > click on 'Show All Features' (bottom left) and select 'Advanced Filter (Expression)'. | ||
+ | ## "Layer > Properties > Tab Fields" in Button "Text Edit" in default- and in constraints field. | ||
+ | ## "Layer > Properties > Tab Style" in "Label with" field. | ||
+ | ## "Field Calculator" to defining new or virtual fields (Layer property). | ||
+ | ## "Conditional formatting" of a field in Attribute table (Create a new rule and set the condition to the output of a custom EFn). | ||
+ | # Analysis-related: | ||
+ | ## "Statistics Panel" / "Statistical Summary" of a field. | ||
+ | ## "Atlas Generation" in the Print Composer. Project > Print Composer > Check 'generate an atlas' > Set EFn based values for page name, filter and output filename. | ||
+ | ## Processing | ||
+ | # "Client-side" / style-related: | ||
+ | ## "Map Tip" tool (Layer property). | ||
+ | ## "Rule based labeling" (drop-down menu) in Layer Properties > Labels; click on '+' button and add a EFn based filter to a field. | ||
+ | ## Part of "Geometry generator" for geometry field in "Style > Symbol Layer Type" | ||
+ | |||
+ | == Possible examples of custom Custom Expression Functions == | ||
+ | # Function doing something "local" like from other field(s). | ||
+ | # Functions reading something like a "Singleton" like a system environment variable (usage "env('USERNAME')") layer properties or number sequence (spcial Plugin needed?). | ||
+ | # Function for remote webservice: geocoding (reading from the internet). | ||
+ | # Function reading from other layers (out of scope for a workshop rather, ev. also a processing or plugin candidate). | ||
+ | |||
+ | == Notes == | ||
+ | |||
+ | Collected (special) use cases: | ||
+ | * Autoincrement / Sequence => QGIS 2.18 default Werte (QGIS 3 geplant) | ||
+ | * Given polygon layer and a point one, calculate for each polygon feature, the number of points that it covers: https://lists.osgeo.org/pipermail/qgis-user/2016-October/038139.html http://gis.stackexchange.com/questions/212415/referencing-to-features-geometry-in-an-expression/212762#212762 | ||
+ | * Add attributes from a layer in the project or an external file (csv) to a layer (or the composer?) using insert expression? Create a custom expression python function to do this: http://nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/ | ||
+ | |||
+ | Plugins: | ||
+ | * ExpressionPlus (for QGIS) Extra functions for the expression engine which didn't make it into QGIS 2.0: https://plugins.qgis.org/plugins/qgsexpressionsplus/ | ||
+ | * refFunctions: http://plugins.qgis.org/plugins/refFunctions/ | ||
+ | * spatialJoin (depends on refFunctions): http://plugins.qgis.org/plugins/spatialJoin/ | ||
+ | * AutoFields (obsolete?) - Automatic Field Calculator Plugin: http://plugins.qgis.org/plugins/AutoFields/ | ||
+ | |||
+ | Open: | ||
+ | * How to store a value in PyQGIS? Use QSettings (/.qgis) or QGISProject (.qgs) | ||
+ | * Resource Sharing Plugin (http://plugins.qgis.org/plugins/qgis_resource_sharing/). e.g. https://github.com/mara91/qgis_styles.git |
Aktuelle Version vom 20. April 2018, 01:10 Uhr
See also
- Step-by-step guide for the workshop on Github.
- https://github.com/simran001/PyQGIS
- https://etherpad.coredump.ch/p/Python-Workshop
Usage of Expression Functions
Examples where Expression Functions (EFns) can be used in QGIS are: symbology, labeling, calculating fields, defining virtual fields, selecting and filtering data, layouts, atlas serial printing and reports, map tips, custom python expressions, parameters for processing, and many more.
This is a more systematic list:
- "Server-side" / data-related:
- "Select features using an expression" based on a field(Layer property).
- "Filtering features" while loading from source. See form view of Attribute table (button on bottom right corner) > click on 'Show All Features' (bottom left) and select 'Advanced Filter (Expression)'.
- "Layer > Properties > Tab Fields" in Button "Text Edit" in default- and in constraints field.
- "Layer > Properties > Tab Style" in "Label with" field.
- "Field Calculator" to defining new or virtual fields (Layer property).
- "Conditional formatting" of a field in Attribute table (Create a new rule and set the condition to the output of a custom EFn).
- Analysis-related:
- "Statistics Panel" / "Statistical Summary" of a field.
- "Atlas Generation" in the Print Composer. Project > Print Composer > Check 'generate an atlas' > Set EFn based values for page name, filter and output filename.
- Processing
- "Client-side" / style-related:
- "Map Tip" tool (Layer property).
- "Rule based labeling" (drop-down menu) in Layer Properties > Labels; click on '+' button and add a EFn based filter to a field.
- Part of "Geometry generator" for geometry field in "Style > Symbol Layer Type"
Possible examples of custom Custom Expression Functions
- Function doing something "local" like from other field(s).
- Functions reading something like a "Singleton" like a system environment variable (usage "env('USERNAME')") layer properties or number sequence (spcial Plugin needed?).
- Function for remote webservice: geocoding (reading from the internet).
- Function reading from other layers (out of scope for a workshop rather, ev. also a processing or plugin candidate).
Notes
Collected (special) use cases:
- Autoincrement / Sequence => QGIS 2.18 default Werte (QGIS 3 geplant)
- Given polygon layer and a point one, calculate for each polygon feature, the number of points that it covers: https://lists.osgeo.org/pipermail/qgis-user/2016-October/038139.html http://gis.stackexchange.com/questions/212415/referencing-to-features-geometry-in-an-expression/212762#212762
- Add attributes from a layer in the project or an external file (csv) to a layer (or the composer?) using insert expression? Create a custom expression python function to do this: http://nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/
Plugins:
- ExpressionPlus (for QGIS) Extra functions for the expression engine which didn't make it into QGIS 2.0: https://plugins.qgis.org/plugins/qgsexpressionsplus/
- refFunctions: http://plugins.qgis.org/plugins/refFunctions/
- spatialJoin (depends on refFunctions): http://plugins.qgis.org/plugins/spatialJoin/
- AutoFields (obsolete?) - Automatic Field Calculator Plugin: http://plugins.qgis.org/plugins/AutoFields/
Open:
- How to store a value in PyQGIS? Use QSettings (/.qgis) or QGISProject (.qgs)
- Resource Sharing Plugin (http://plugins.qgis.org/plugins/qgis_resource_sharing/). e.g. https://github.com/mara91/qgis_styles.git