[QGIS-Developer] Python example with aggregate calculation
Neumann, Andreas
a.neumann at carto.net
Fri May 5 06:55:45 PDT 2017
Hi,
I have a basic example using aggregates:
----------------------
@qgsfunction(args='auto', group='Custom', usesgeometry=False)
def get_ews_anlage_nr(gemeinde, feature, parent):
AnlageLayer =
QgsMapLayerRegistry.instance().mapLayersByName('Anlage')[0]
maxVal = AnlageLayer.aggregate(4,'to_int(substr("anlage_nr",4,4))')[0]
return maxVal
-----------------------
But I still have two questions:
1. I still struggle to define a filter. I can't find the correct syntax
how to define that filter string.
2. the first parameter "4" stands for "Max" aggregate (according to
http://qgis-python.kartoza.com/docs/core/other/QgsAggregateCalculator.html#class-qgsaggregatecalculator
). Could this code be written more "readable" by specifying "Max"
instead of 4?
Thanks,
Andreas
On 2017-05-05 14:31, Neumann, Andreas wrote:
> Hi,
>
> Does someone have an example how to use QgsVectorLayer.aggregate() from Python?
>
> How would the syntax for the parameters in the QgsAggregateCalculator.calculate() method look like in Python?
>
> Thanks,
>
> Andreas
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20170505/2dd2f3c9/attachment.html>
More information about the QGIS-Developer
mailing list