mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
[processing] updated freq analysis alg
This commit is contained in:
parent
558765addf
commit
ac54c8e00a
@ -1,33 +1,35 @@
|
||||
##Vector table tools=group
|
||||
##Input=vector
|
||||
##Fields=string
|
||||
##Output=output table
|
||||
##Table=group
|
||||
##input=vector
|
||||
##fields=string
|
||||
##output=output table
|
||||
|
||||
from qgis.core import *
|
||||
from PyQt4.QtCore import *
|
||||
from processing.core.TableWriter import TableWriter
|
||||
from collections import defaultdict
|
||||
|
||||
layer = processing.getObject(Input)
|
||||
layer = processing.getObject(input)
|
||||
inputFields = layer.pendingFields()
|
||||
fieldIdxs = []
|
||||
fields = Fields.split(',')
|
||||
for f in fields:
|
||||
idx = inputFields.indexFromName(f)
|
||||
fields = fields.split(',')
|
||||
for f in fields:
|
||||
idx = inputFields.indexFromName(f)
|
||||
if idx == -1:
|
||||
raise GeoAlgorithmExecutionException('Field not found:' + f)
|
||||
fieldIdxs.append(idx)
|
||||
writer = processing.TableWriter(Output, None, fields + ['FREQ'])
|
||||
writer = TableWriter(output, None, fields + ['FREQ'])
|
||||
|
||||
counts = {}
|
||||
feats = processing.features(layer)
|
||||
nFeats = len(feats)
|
||||
counts = defaultdict(int)
|
||||
for i, feat in enumerate(feats):
|
||||
progress.setPercentage(int(100 * i / nFeats))
|
||||
progress.setPercentage(int(100 * i / nFeats))
|
||||
attrs = feat.attributes()
|
||||
clazz = tuple([attrs[idx] for idx in fieldIdxs])
|
||||
print clazz
|
||||
counts[clazz] += 1
|
||||
|
||||
for c in counts:
|
||||
for c in counts:
|
||||
writer.addRecord(list(c) + [counts[c]])
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user