1.0.8 • Published 2 years ago
luminous-leaf-locator v1.0.8
Luminous Leaf Locator
A lightweight library for efficient spatial searching of elements. Luminous Leaf Locator leverages a quadtree implementation for rapid querying of geographical data points, making it ideal for applications requiring fast searches over a large set of points.
Installation
npm install luminous-leaf-locatorUsage
const LuminousLeafLocator = require('luminous-leaf-locator');
const locator = new LuminousLeafLocator({ x: 0, y: 0, width: 10000, height: 10000 });
// Add an element with latitude, longitude, and custom data
const id = locator.addElement(50.4501, 30.5234, { name: "Test Point" });
// Find elements within 500 meters of a given latitude and longitude
const nearbyElements = locator.findNearby(50.4501, 30.5234, 500);
console.log(nearbyElements);
// Update an element's data by ID
locator.updateElement(id, { name: "Updated Test Point" });
// Remove an element by ID
locator.removeElement(id);API
new LuminousLeafLocator(bounds, options)
bounds: Object specifying the bounding box for the quadtree. Should havex,y(top left corner coordinates),width, andheight.options: Optional. Quadtree specific options.
addElement(lat, lng, data)
lat,lng: Latitude and longitude of the element.data: Custom data object.- Returns a unique ID for the added element.
findNearby(lat, lng, radius)
lat,lng: Latitude and longitude to search around.radius: Search radius in meters.- Returns an array of elements within the radius.
updateElement(id, newData)
id: Unique ID of the element to update.newData: New data object for the element.- Returns true if the element was updated successfully.
removeElement(id)
id: Unique ID of the element to remove.- Returns true if the element was removed successfully.
License
MIT