QGIS API Documentation
3.4.15-Madeira (e83d02e274)
|
A spatial index for QgsFeature objects. More...
#include <qgsspatialindex.h>
Public Member Functions | |
QgsSpatialIndex () | |
Constructor for QgsSpatialIndex. More... | |
QgsSpatialIndex (const QgsFeatureIterator &fi, QgsFeedback *feedback=nullptr) | |
Constructor - creates R-tree and bulk loads it with features from the iterator. More... | |
QgsSpatialIndex (const QgsFeatureSource &source, QgsFeedback *feedback=nullptr) | |
Constructor - creates R-tree and bulk loads it with features from the source. More... | |
QgsSpatialIndex (const QgsSpatialIndex &other) | |
Copy constructor. More... | |
~QgsSpatialIndex () override | |
Destructor finalizes work with spatial index. More... | |
bool | addFeature (QgsFeature &feature, QgsFeatureSink::Flags flags=nullptr) override |
Adds a feature to the index. More... | |
bool | addFeature (QgsFeatureId id, const QgsRectangle &bounds) |
Add a feature id to the index with a specified bounding box. More... | |
bool | addFeatures (QgsFeatureList &features, QgsFeatureSink::Flags flags=nullptr) override |
Adds a list of features to the index. More... | |
bool | deleteFeature (const QgsFeature &feature) |
Removes a feature from the index. More... | |
Q_DECL_DEPRECATED bool | insertFeature (const QgsFeature &feature) |
Adds a feature to the index. More... | |
Q_DECL_DEPRECATED bool | insertFeature (QgsFeatureId id, const QgsRectangle &bounds) |
Add a feature id to the index with a specified bounding box. More... | |
QList< QgsFeatureId > | intersects (const QgsRectangle &rectangle) const |
Returns a list of features with a bounding box which intersects the specified rectangle. More... | |
QList< QgsFeatureId > | nearestNeighbor (const QgsPointXY &point, int neighbors) const |
Returns nearest neighbors to a point. More... | |
QgsSpatialIndex & | operator= (const QgsSpatialIndex &other) |
Implement assignment operator. More... | |
QAtomicInt | refs () const |
Gets reference count - just for debugging! More... | |
Public Member Functions inherited from QgsFeatureSink | |
virtual | ~QgsFeatureSink ()=default |
virtual bool | addFeatures (QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags=nullptr) |
Adds all features from the specified iterator to the sink. More... | |
virtual bool | flushBuffer () |
Flushes any internal buffer which may exist in the sink, causing any buffered features to be added to the sink's destination. More... | |
Friends | |
class | QgsFeatureIteratorDataStream |
Additional Inherited Members | |
Public Types inherited from QgsFeatureSink | |
enum | Flag { FastInsert = 1 << 1 } |
Flags controlling how features are added to a sink. More... | |
enum | SinkFlag { RegeneratePrimaryKey = 1 << 1 } |
Flags that can be set on a QgsFeatureSink. More... | |
A spatial index for QgsFeature objects.
QgsSpatialIndex objects are implicitly shared and can be inexpensively copied.
Definition at line 67 of file qgsspatialindex.h.
QgsSpatialIndex::QgsSpatialIndex | ( | ) |
Constructor for QgsSpatialIndex.
Creates an empty R-tree index.
Definition at line 244 of file qgsspatialindex.cpp.
|
explicit |
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 cancellation of bulk feature loading. Ownership of feedback is not transferred, and callers must take care that the lifetime of feedback exceeds that of the spatial index construction.
Definition at line 249 of file qgsspatialindex.cpp.
|
explicit |
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 cancellation of bulk feature loading. Ownership of feedback is not transferred, and callers must take care that the lifetime of feedback exceeds that of the spatial index construction.
Definition at line 254 of file qgsspatialindex.cpp.
QgsSpatialIndex::QgsSpatialIndex | ( | const QgsSpatialIndex & | other | ) |
Copy constructor.
Definition at line 259 of file qgsspatialindex.cpp.
|
override |
Destructor finalizes work with spatial index.
Definition at line 264 of file qgsspatialindex.cpp.
|
overridevirtual |
Adds a feature to the index.
The flags argument is ignored.
Reimplemented from QgsFeatureSink.
Definition at line 306 of file qgsspatialindex.cpp.
bool QgsSpatialIndex::addFeature | ( | QgsFeatureId | id, |
const QgsRectangle & | bounds | ||
) |
Add a feature id to the index with a specified bounding box.
Definition at line 338 of file qgsspatialindex.cpp.
|
overridevirtual |
Adds a list of features to the index.
The flags argument is ignored.
Implements QgsFeatureSink.
Definition at line 316 of file qgsspatialindex.cpp.
bool QgsSpatialIndex::deleteFeature | ( | const QgsFeature & | feature | ) |
Removes a feature from the index.
Definition at line 368 of file qgsspatialindex.cpp.
bool QgsSpatialIndex::insertFeature | ( | const QgsFeature & | feature | ) |
Adds a feature to the index.
Definition at line 327 of file qgsspatialindex.cpp.
bool QgsSpatialIndex::insertFeature | ( | QgsFeatureId | id, |
const QgsRectangle & | bounds | ||
) |
Add a feature id to the index with a specified bounding box.
Definition at line 333 of file qgsspatialindex.cpp.
QList< QgsFeatureId > QgsSpatialIndex::intersects | ( | const QgsRectangle & | rectangle | ) | const |
Returns a list of features with a bounding box which intersects the specified rectangle.
Definition at line 380 of file qgsspatialindex.cpp.
QList< QgsFeatureId > QgsSpatialIndex::nearestNeighbor | ( | const QgsPointXY & | point, |
int | neighbors | ||
) | const |
Returns nearest neighbors to a point.
The number of neighbours returned is specified by the neighbours argument.
Definition at line 393 of file qgsspatialindex.cpp.
QgsSpatialIndex & QgsSpatialIndex::operator= | ( | const QgsSpatialIndex & | other | ) |
Implement assignment operator.
Definition at line 268 of file qgsspatialindex.cpp.
QAtomicInt QgsSpatialIndex::refs | ( | ) | const |
Gets reference count - just for debugging!
Definition at line 407 of file qgsspatialindex.cpp.
|
friend |
Definition at line 209 of file qgsspatialindex.h.