4 votos

¿Cómo cambiar los valores de los atributos vectoriales?

Quiero cambiar los valores de los atributos vectoriales.

no he podido conseguir el comando fet.setAttribute en efecto, se menciona en http://hub.qgis.org/issues/7223 eso:

"La instancia de QgsFeature ahora debe ser inicializada primero con initAttributes() para saber cuántos atributos contendrá. Luego está la llamada setFields() que permite hacer el mapeo de nombre a índice en QgsFeature".

sin embargo, no he podido conseguir que fet.initAttributes() y fet.setFields() funcionen. (novato...)

el mensaje de error que obtengo es "AttributeError: 'QgsFeature' object has no attribute 'initAttributes'".

se agradece cualquier ayuda.

versión de qgis: 1.8.0

Versión de gis-python: 1.8.0-8

python: 2.7.3-7.2

os: fedora17

11voto

Jauder Ho Puntos 3172

Se trata de la nueva API de QGIS 2.0 (no publicada). La 1.8 utiliza un método diferente.

Utilizar:

feature.changeAttribute(columnnumber, value)

o:

layer.changeAttributeValue(feature.id(), columnnumber, value)

Ejemplo:

layer.changeAttributeValue(feature.id(), 3, "Hello World")

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X