This fork of geojson-rbush is configured and published for the sole purpose of importing it to TurfJS.
More information about the original library: https://github.com/DenisCarriere/geojson-rbush
This library is not intended to be used outside of TurfJS
GeoJSON implementation of RBush — a high-performance JavaScript R-tree-based 2D spatial index for points and rectangles.
npm
$ npm install --save geojson-rbush
GeoJSON implementation of RBush spatial index.
Parameters
maxEntries
number defines the maximum number of entries in a tree node. 9 (used by default) is a reasonable choice for most applications. Higher value means faster insertion and slower search, and vice versa. (optional, default9
)
Examples
var geojsonRbush = require('geojson-rbush').default;
var tree = geojsonRbush();
Returns RBush GeoJSON RBush
Parameters
feature
Feature insert single GeoJSON Feature
Examples
var poly = turf.polygon([[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]);
tree.insert(poly)
Returns RBush GeoJSON RBush
Parameters
features
(FeatureCollection | Array<Feature>) load entire GeoJSON FeatureCollection
Examples
var polys = turf.polygons([
[[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]],
[[[-93, 32], [-83, 32], [-83, 39], [-93, 39], [-93, 32]]]
]);
tree.load(polys);
Returns RBush GeoJSON RBush
Parameters
feature
Feature remove single GeoJSON Featureequals
Function Pass a custom equals function to compare by value for removal.
Examples
var poly = turf.polygon([[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]);
tree.remove(poly);
Returns RBush GeoJSON RBush
Examples
tree.clear()
Returns RBush GeoJSON Rbush
Parameters
geojson
(BBox | FeatureCollection | Feature) search with GeoJSON
Examples
var poly = turf.polygon([[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]);
tree.search(poly);
Returns FeatureCollection all features that intersects with the given GeoJSON.
Parameters
geojson
(BBox | FeatureCollection | Feature) collides with GeoJSON
Examples
var poly = turf.polygon([[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]);
tree.collides(poly);
Returns boolean true if there are any items intersecting the given GeoJSON, otherwise false.
Examples
tree.all()
Returns FeatureCollection all the features in RBush
Examples
var exported = tree.toJSON()
Returns any export data as JSON object
Parameters
json
any import previously exported data
Examples
var exported = {
"children": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [110, 50]
},
"properties": {},
"bbox": [110, 50, 110, 50]
}
],
"height": 1,
"leaf": true,
"minX": 110,
"minY": 50,
"maxX": 110,
"maxY": 50
}
tree.fromJSON(exported)
Returns RBush GeoJSON RBush