Subgroup: other
Class: QgsSpatialIndex¶
-
class
qgis.core.
QgsSpatialIndex
¶ Bases:
sip.wrapper
Constructor for QgsSpatialIndex. Creates an empty R-tree index.
QgsSpatialIndex(fi: QgsFeatureIterator, feedback: QgsFeedback = None) Constructor - creates R-tree and bulk loads it with features from the iterator. This is much faster approach than creating an empty index and then inserting features one by one.
The optional
feedback
object can be used to allow cancelation of bulk feature loading. Ownership offeedback
is not transferred, and callers must take care that the lifetime of feedback exceeds that of the spatial index construction.New in version 2.8.
QgsSpatialIndex(source: QgsFeatureSource, feedback: QgsFeedback = None) Constructor - creates R-tree and bulk loads it with features from the source. This is much faster approach than creating an empty index and then inserting features one by one.
The optional
feedback
object can be used to allow cancelation of bulk feature loading. Ownership offeedback
is not transferred, and callers must take care that the lifetime of feedback exceeds that of the spatial index construction.New in version 3.0.
QgsSpatialIndex(other: QgsSpatialIndex) Copy constructor
A spatial index for QgsFeature objects.
QgsSpatialIndex objects are implicitly shared and can be inexpensively copied.
Note
While the underlying libspatialindex is not thread safe on some platforms, the QgsSpatialIndex class implements its own locks and accordingly, a single QgsSpatialIndex object can safely be used across multiple threads.Methods
deleteFeature
Removes a feature
from the index.insertFeature
Adds a feature
to the index.intersects
Returns a list of features with a bounding box which intersects the specified rectangle
.nearestNeighbor
Returns nearest neighbors to a point
.refs
Gets reference count - just for debugging! Signals
Attributes
-
deleteFeature
(self, feature: QgsFeature) → bool¶ Removes a
feature
from the index.
-
insertFeature
(self, feature: QgsFeature) → bool¶ Adds a
feature
to the index.insertFeature(self, id: int, bounds: QgsRectangle) -> bool Add a feature
id
to the index with a specified bounding box.Returns: true if feature was successfully added to index. New in version 3.0.
-
intersects
(self, rectangle: QgsRectangle) → object¶ Returns a list of features with a bounding box which intersects the specified
rectangle
.Note
The intersection test is performed based on the feature bounding boxes only, so for non-point geometry features it is necessary to manually test the returned features for exact geometry intersection when required.
-
nearestNeighbor
(self, point: QgsPointXY, neighbors: int) → object¶ Returns nearest neighbors to a
point
. The number of neighbours returned is specified by theneighbours
argument.Note
The nearest neighbour test is performed based on the feature bounding boxes only, so for non-point geometry features this method is not guaranteed to return the actual closest neighbours.
-
refs
(self) → int¶ Gets reference count - just for debugging!
-