test.py
# -*- coding: utf-8 -*-
from PyQt4.QtCore import QVariant
layer=iface.activeLayer()
if layer is None :
print(u'Es gibt keine aktive Ebene.')
layer.startEditing()
layer.dataProvider().addAttributes( [
QgsField('TestString', QVariant.String),
QgsField('TestInt', QVariant.Int),
QgsField('TestDouble', QVariant.Double)
] )
layer.updateFields()
layer.commitChanges()
--von PyQt4.QtCore-Import QVariant
ist für QVariant.String
erforderlich
--Arbeiten ohne layer.startEditing ()
test.py
# -*- coding: utf-8 -*-
from PyQt4.QtCore import QVariant
layer=iface.activeLayer()
if layer is None :
print(u'Es gibt keine aktive Ebene.')
attributeName='TestString'
layer.startEditing()
for feature in layer.getFeatures():
feature[attributeName]='ABC'
layer.updateFeature(feature)
layer.commitChanges()
feature [attributeName] = 'ABC'
können Sie feature.setAttribute (attributeName,' ABC ')
verwendentest.py
# -*- coding: utf-8 -*-
layer=iface.activeLayer()
if layer is None :
print(u'Es gibt keine aktive Ebene.')
req = QgsFeatureRequest().setFilterExpression( u'"id" = \'A14_000_1234\'' )
features = layer.getFeatures( req )
attributeName='TestString'
layer.startEditing()
for feature in features:
feature.setAttribute(attributeName, 'XYZ')
layer.updateFeature(feature)
layer.commitChanges()
test.py
# -*- coding: utf-8 -*-
layer=iface.activeLayer()
if layer is None :
print(u'Es gibt keine aktive Ebene.')
req = QgsFeatureRequest().setFilterExpression( u'"TestInt" > 2000' )
features = layer.getFeatures( req )
layer.setSelectedFeatures([featur.id() for featur in features])
void QgsVectorLayer::setSelectedFeatures ( const QgsFeatureIds & ids )
test.py
# -*- coding: utf-8 -*-
layerName = 'test lay01 Polygon'
layer = None
for layer_ in QgsMapLayerRegistry.instance().mapLayers().values():
if layer_.name() == layerName:
layer = layer_
break
if layer is None :
print(u'Schicht"{0}"Ist nicht vorhanden.'.format(layerName))
Recommended Posts