क्यूजीआईएस में भरी हुई आकृति के लिए सभी विशेषताओं को खाली करने के लिए आप पायथन कंसोल में निम्न कोड दर्ज कर सकते हैं NULL। परतों पैनल (सामग्री की तालिका) से परत का चयन करें और कोड चलाएँ:
layer = qgis.utils.iface.activeLayer()
layer.startEditing()
for field in layer.dataProvider().attributeIndexes():
for feature in layer.getFeatures():
layer.changeAttributeValue(feature.id(), field, NULL)
layer.commitChanges()
यह QGIS 2.8.2 पर परीक्षण किया गया था।
अद्यतन :
@Vince द्वारा टिप्पणी के जवाब में, निम्न कोड सीधे कॉपी किया जा सकता है / पायथन कंसोल में चिपकाया और के आधार पर विशेषताओं के मान बदल जाएगा प्रकार क्षेत्र के (यानी 0के लिए पूर्णांक क्षेत्रों; NULLके लिए स्ट्रिंग क्षेत्रों, और के एक युग 1900-01-01के लिए एक तिथि क्षेत्र):
layer = qgis.utils.iface.activeLayer()
layer.startEditing()
for field in layer.pendingFields():
if field.typeName() == 'Integer':
name_int = field.name()
for feature in layer.getFeatures():
feature[name_int] = '0'
layer.updateFeature(feature)
if field.typeName() == 'String':
name_str = field.name()
for feature in layer.getFeatures():
feature[name_str] = NULL
layer.updateFeature(feature)
if field.typeName() == 'Date':
name_dat = field.name()
for feature in layer.getFeatures():
feature[name_dat] = '1900-01-01'
layer.updateFeature(feature)
layer.commitChanges()