82 |
82 |
self.buttonOk.setEnabled( True )
|
83 |
83 |
|
84 |
84 |
def compute(self, inVect, inField, value, perc, progressBar):
|
|
85 |
mlayer = ftools_utils.getMapLayerByName(inVect)
|
|
86 |
mlayer.removeSelection(True)
|
85 |
87 |
vlayer = ftools_utils.getVectorLayerByName(inVect)
|
86 |
88 |
vprovider = vlayer.dataProvider()
|
87 |
|
mlayer = ftools_utils.getMapLayerByName(inVect)
|
88 |
89 |
allAttrs = vprovider.attributeIndexes()
|
89 |
90 |
vprovider.select(allAttrs)
|
90 |
91 |
index = vprovider.fieldNameIndex(inField)
|
... | ... | |
93 |
94 |
unique = ftools_utils.getUniqueValues(vprovider, int(index))
|
94 |
95 |
inFeat = QgsFeature()
|
95 |
96 |
selran = []
|
96 |
|
mlayer.removeSelection(True)
|
97 |
97 |
nFeat = vprovider.featureCount() * len(unique)
|
98 |
98 |
nElement = 0
|
99 |
99 |
self.progressBar.setValue(0)
|
... | ... | |
111 |
111 |
self.progressBar.setValue(nElement)
|
112 |
112 |
if perc: selVal = int(round((value / 100.0000) * len(FIDs), 0))
|
113 |
113 |
else: selVal = value
|
114 |
|
if selVal >= len(FIDs): selran = FIDs
|
115 |
|
else: selran = random.sample(FIDs, selVal)
|
116 |
|
selran.extend(mlayer.selectedFeaturesIds())
|
117 |
|
mlayer.setSelectedFeatures(selran)
|
|
114 |
if selVal >= len(FIDs): selFeat = FIDs
|
|
115 |
else: selFeat = random.sample(FIDs, selVal)
|
|
116 |
selran.extend(selFeat)
|
|
117 |
mlayer.setSelectedFeatures(selran)
|
118 |
118 |
else:
|
119 |
119 |
mlayer.setSelectedFeatures(range(0, mlayer.featureCount()))
|