NKDBush 1.0.0
.NET Standard 2.0
Install-Package NKDBush -Version 1.0.0
dotnet add package NKDBush --version 1.0.0
<PackageReference Include="NKDBush" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NKDBush --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NKDBush, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install NKDBush as a Cake Addin
#addin nuget:?package=NKDBush&version=1.0.0
// Install NKDBush as a Cake Tool
#tool nuget:?package=NKDBush&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
NKdbush
A static spatial index for 2D points based on a flat KD-tree for .Net ( ported direclty from the JS library kdbush ) :
- points only — no rectangles
- static — you can't add/remove items
var index = new KDBush<double[]>(pointsData, nodeSize: 10); // make an index
var ids1 = index.Range(20, 30, 50, 70); // bbox search - minX, minY, maxX, maxY
var ids2 = index.Within(10, 10, 5); // radius search - x, y, radius
API
KDBush(T[] points, Func<T, double> getX = null, Func<T, double> getY = null, int nodeSize = 64)
Creates an index from the given points.
points
: Input array of points of type T.getX
,getY
: Functions to getx
andy
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.
var index = new KDBush<double[]>(pointsData, getX: p => p[0], getY: p => p[1], nodeSize: 64);
Range(double minX, double minY, double maxX, double maxY)
Finds all items within the given bounding box and returns a List<int> of indices that refer to the items in the original points
input array.
var index = new KDBush<double[]>(points);
var results = index.Range(20, 30, 50, 70).Select(id => points[id]);
Within(double x, double y, double r)
Finds all items within a given radius from the query point and returns a List<int> of indices.
var index = new KDBush<double[]>(points);
var queryPoint = new double[] {50, 50};
var r = 20;
var results = index.Within(queryPoint[0], queryPoint[1], r);
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NKDBush:
Package | Downloads |
---|---|
NGeoKDBush
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 1,611 | 5/26/2018 |