Subgroup: Feature
Class: QgsFeature¶
-
class
qgis.core.
QgsFeature
¶ Bases:
sip.wrapper
The feature class encapsulates a single feature including its id, geometry and a list of field/values attributes.
Note
QgsFeature objects are implicitly shared.Methods
attribute
Lookup attribute value from attribute name. attributes
Returns the feature’s attributes. clearGeometry
Removes any geometry associated with the feature. deleteAttribute
Deletes an attribute and its value. fieldNameIndex
Utility method to get attribute index from name. fields
Returns the field map associated with the feature. geometry
Returns the geometry associated with this feature. hasGeometry
Returns true if the feature has an associated geometry. id
Get the feature ID for this feature. initAttributes
Initialize this feature with the given number of fields. isValid
Returns the validity of this feature. setAttribute
Set an attribute’s value by field index. setAttributes
Sets the feature’s attributes. setFields
Assign a field map with the feature to allow attribute access by attribute name. setGeometry
Set the feature’s geometry. setId
Sets the feature ID for this feature. setValid
Sets the validity of the feature. Attributes
-
attribute
(self, name: str) → object¶ Lookup attribute value from attribute name. Field map must be associated using setFields() before this method can be used.
Parameters: name – The name of the attribute to get Returns: The value of the attribute (C++: Invalid variant if no such name exists ) Note
For Python: raises a KeyError exception if the field is not found
Note
Alternatively in Python: @code feature[name] @endcode
See also
attribute(self, fieldIdx: int) -> object Lookup attribute value from its index. Field map must be associated using setFields() before this method can be used.
Parameters: fieldIdx – The index of the attribute to get Returns: The value of the attribute (C++: Invalid variant if no such index exists ) Note
For Python: raises a KeyError exception if the field is not found
Note
Alternatively in Python: @code feature[fieldIdx] @endcode
See also
-
attributes
(self) → object¶ Returns the feature’s attributes.
Returns: list of feature’s attributes See also
New in version 2.9.
Note
Alternatively in Python: iterate feature, eg. @code [attr for attr in feature] @endcode
-
clearGeometry
(self)¶ Removes any geometry associated with the feature.
See also
See also
New in version 3.0.
-
deleteAttribute
(self, field: int)¶ Deletes an attribute and its value.
Parameters: field – the index of the field See also
Note
For Python: raises a KeyError exception if the field is not found
Note
Alternatively in Python: @code del feature[field] @endcode
deleteAttribute(self, name: str) -> bool Removes an attribute value by field name. Field map must be associated using setFields() before this method can be used.
Parameters: name – The name of the field to delete Returns: false if attribute name could not be converted to index (C++ only) Note
For Python: raises a KeyError exception instead of returning false
Note
Alternatively in Python: @code del feature[name] @endcode
See also
-
fieldNameIndex
(self, fieldName: str) → int¶ Utility method to get attribute index from name. Field map must be associated using setFields() before this method can be used.
Parameters: fieldName – name of field to get attribute index of Returns: -1 if field does not exist or field map is not associated. See also
-
fields
(self) → QgsFields¶ Returns the field map associated with the feature.
See also
-
geometry
(self) → QgsGeometry¶ Returns the geometry associated with this feature. If the feature has no geometry, an empty QgsGeometry object will be returned.
See also
See also
-
hasGeometry
(self) → bool¶ Returns true if the feature has an associated geometry.
See also
New in version 3.0..
-
initAttributes
(self, fieldCount: int)¶ Initialize this feature with the given number of fields. Discard any previously set attribute data.
Parameters: fieldCount – Number of fields to initialize
-
isValid
(self) → bool¶ Returns the validity of this feature. This is normally set by the provider to indicate some problem that makes the feature invalid or to indicate a null feature.
See also
-
setAttribute
(self, field: int, attr: Any) → bool¶ Set an attribute’s value by field index. The feature will be valid if it was successful.
Parameters: - field – the index of the field to set
- attr – the value of the attribute
Returns: false, if the field index does not exist
Note
For Python: raises a KeyError exception instead of returning false
Note
Alternatively in Python: @code feature[field] = attr @endcode
See also
setAttribute(self, name: str, value: Any) Insert a value into attribute. Returns false if attribute name could not be converted to index. Field map must be associated using setFields() before this method can be used. The feature will be valid if it was successful
Parameters: - name – The name of the field to set
- value – The value to set
Returns: false if attribute name could not be converted to index (C++ only)
Note
For Python: raises a KeyError exception instead of returning false
Note
Alternatively in Python: @code feature[name] = attr @endcode
See also
-
setAttributes
(self, attrs: object)¶ Sets the feature’s attributes. The feature will be valid after.
Parameters: attrs – attribute list See also
See also
-
setFields
(self, fields: QgsFields, initAttributes: bool = True)¶ Assign a field map with the feature to allow attribute access by attribute name.
Parameters: - fields – The attribute fields which this feature holds
- initAttributes – If true, attributes are initialized. Clears any data previously assigned.
C++: Defaults to false Python: Defaults to true
New in version 2.9.
See also
-
setGeometry
(self, geometry: QgsGeometry)¶ Set the feature’s geometry. The feature will be valid after.
Parameters: geometry – new feature geometry See also
See also
-
setId
(self, id: int)¶ Sets the feature ID for this feature.
Parameters: id – feature id See also
-