क्यूजीआईएस में भरी हुई आकृति के लिए सभी विशेषताओं को खाली करने के लिए आप पायथन कंसोल में निम्न कोड दर्ज कर सकते हैं 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()