1.0.2 • Published 9 months ago

ts-two-d-tree v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

TS 2-d Tree

A TypeScript implementation of k-d tree specifically for 2-dimensional uses. This was built to provide fast nearest-neighbor searches of sets of latitude/longitude coordinates, but works for any 2D (x, y) coordinates.

API

MethodDescription
TwoDTree(points: Point[], private distanceFunction: (p1: Point, p2: Point) => number)Constructor used to create a new tree with a given set of points. Accepts a set of points to be added to the initial tree. Also, accepts an optional distance function to be used when performing nearest-neighbor queries. If not provided, a built-in Euclidian Distance function is used.
add(point: Point)Adds a new point to the tree.
remove(point: Point)Removes a point from the tree and replaces it with the best suitor from the remaining subtree.
rangeSearch(p1: Point, p2: Point): Array<Point>Performs an orthogonal range search over a rectangle specified by the points p1 and p2. This search is inclusive and will return points on the boundaries of the rectangle.
nearestNeighborsSearch(p: Point, distance: number, limit?: number): Array<Point>Performs a nearest-neighbor search around a given point p within the radius specified by distance. If provided, limit will cause the method to return only the x closest results, where x is equal to limit.
1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago