6 votos

¿Cómo puedo obtener el índice del campo de la nueva capa en mi script usando Python?

Estoy tratando de usar layer.changeAttributeValue(fid, fieldIndex, value) para añadir valores a un campo en QGIS

Básicamente, estoy creando un plugin que, si se marca una casilla de verificación, creará un nuevo campo, luego iterará a través del conjunto de datos, llenando ese campo con la coordenada x (easting) de cada punto (también tengo otra casilla de verificación para lo mismo para la coordenada y). Por lo tanto, no puedo establecer el índice del campo de antemano porque no sé cuál se marcará.

Entonces - ¿cómo puedo obtener el índice del campo de la nueva capa en mi script usando Python?

También (lo siento, soy nuevo en esto), ¿cómo puedo obtener el fid de la característica actual mientras itero por el conjunto de datos?

7voto

tobes Puntos 19
int QgsVectorDataProvider::fieldNameIndex (const QString & fieldName) const

Devuelve el índice de un nombre de campo o -1 si el campo no existe.

http://qgis.org/api/2.0/classQgsVectorDataProvider.html#a10263dbd16e19d7aa146a818ac002266

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