GeoPandas offers built-in support for spatial indexing using an R-Tree algorithm. Depending on the ability to import pygeos, GeoPandas will either use pygeos.STRtree or rtree.index.Index. The main interface for both is the same and follows the pygeos model.
GeoPandas 使用 R-Tree 算法为空间索引提供内置支持。根据导入 pygeos 的能力,GeoPandas 将使用 pygeos.STRtree 或 rtree.index.Index。两者的主界面相同并遵循 pygeos 模型。
GeoSeries.sindex creates a spatial index, which can use the methods and properties documented below.
GeoSeries.sindex 创建一个空间索引,它可以使用下面记录的方法和属性。
Constructor
GeoSeries.sindex | Generate the spatial index |
Spatial Index object
The spatial index object returned from GeoSeries.sindex has the following methods:
intersection(coordinates, *args, **kwargs) | Compatibility wrapper for rtree.index.Index.intersection, use query instead. |
is_empty | Check if the spatial index is empty |
nearest(*args, **kwargs) | Return the nearest geometry in the tree for each input geometry in geometry. |
query(geometry[, predicate, sort]) | Return the index of all geometries in the tree with extents that intersect the envelope of the input geometry. |
query_bulk(geometry[, predicate, sort]) | Returns all combinations of each input geometry and geometries in the tree where the envelope of each input geometry intersects with the envelope of a tree geometry. |
size | Size of the spatial index |
valid_query_predicates | Returns valid predicates for this spatial index. |
The concrete implementations currently available are geopandas.sindex.PyGEOSSTRTreeIndex and geopandas.sindex.RTreeIndex.
In addition to the methods listed above, the rtree-based spatial index (geopandas.sindex.RTreeIndex) offers the full capability of rtree.index.Index – see the full API in the rtree documentation.
Similarly, the pygeos-based spatial index (geopandas.sindex.PyGEOSSTRTreeIndex) offers the full capability of pygeos.STRtree, including nearest-neighbor queries. See the full API in the PyGEOS STRTree documentation.
