1

我正在写一个函数在属性表中注册值进行记录:

    def process(self):
        """Fill dimension field with TOPSIS -rank- value """
        provider = self.activeLayer.dataProvider()
        if provider.fieldNameIndex(self.parameters['dimension'])==-1:
            self.activeLayer.dataProvider().addAttributes([QgsField(self.parameters['dimension'], QVariant.Double,"",24,4,"")] )
            #edit is a shortcut that replaces layer.beginEditCommand and layer.endEditCommand
        with edit(self.activeLayer):
            for f,i in zip(self.activeLayer.getFeatures(),range(len(self.relativeCloseness))):
                #print(self.parameters['dimension'],self.relativeCloseness[i])
                f[self.parameters['dimension']] = self.relativeCloseness[i]
                self.activeLayer.updateFeature(f)

如果 self.relative Closeness [i] 有一个值!= 0,值将正确记录,但如果值为== 0,则在属性表中值将记录为“NULL”值。谁能帮我理解问题出在哪里? 具有空值而不是零值的属性表示例

4

0 回答 0