kdbush

WebJar for kdbush

License

License

ISC
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

kdbush
Last Version

Last Version

3.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

kdbush
WebJar for kdbush
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/mourner/kdbush

Download kdbush

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/kdbush/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>kdbush</artifactId>
    <version>3.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/kdbush/
implementation 'org.webjars.npm:kdbush:3.0.0'
// https://jarcasting.com/artifacts/org.webjars.npm/kdbush/
implementation ("org.webjars.npm:kdbush:3.0.0")
'org.webjars.npm:kdbush:jar:3.0.0'
<dependency org="org.webjars.npm" name="kdbush" rev="3.0.0">
  <artifact name="kdbush" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='kdbush', version='3.0.0')
)
libraryDependencies += "org.webjars.npm" % "kdbush" % "3.0.0"
[org.webjars.npm/kdbush "3.0.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

KDBush Build Status Simply Awesome

A very fast static spatial index for 2D points based on a flat KD-tree. Compared to RBush:

  • points only — no rectangles
  • static — you can't add/remove items
  • indexing is 5-8 times faster
const index = new KDBush(points);         // make an index
const ids1 = index.range(10, 10, 20, 20); // bbox search - minX, minY, maxX, maxY
const ids2 = index.within(10, 10, 5);     // radius search - x, y, radius

Install

Install using NPM (npm install kdbush) or Yarn (yarn add kdbush), then:

// import as a ES module
import KDBush from 'kdbush';

// or require in Node / Browserify
const KDBush = require('kdbush');

Or use a browser build directly:

<script src="https://unpkg.com/[email protected]/kdbush.min.js"></script>

API

new KDBush(points[, getX, getY, nodeSize, arrayType])

Creates an index from the given points.

  • points: Input array of points.
  • getX, getY: Functions to get x and y from an input point. By default, it assumes [x, y] format.
  • nodeSize: Size of the KD-tree node, 64 by default. Higher means faster indexing but slower search, and vise versa.
  • arrayType: Array type to use for storing coordinate values. Float64Array by default, but if your coordinates are integer values, Int32Array makes things a bit faster.
const index = new KDBush(points, p => p.x, p => p.y, 64, Int32Array);

index.range(minX, minY, maxX, maxY)

Finds all items within the given bounding box and returns an array of indices that refer to the items in the original points input array.

const results = index.range(10, 10, 20, 20).map(id => points[id]);

index.within(x, y, radius)

Finds all items within a given radius from the query point and returns an array of indices.

const results = index.within(10, 10, 5).map(id => points[id]);

Versions

Version
3.0.0
2.0.1
1.0.1