UNPKG

@convex-dev/geospatial

Version:
43 lines 1.39 kB
import { Heap } from "heap-js"; import { ChordAngle, Meters, Point } from "../types.js"; import { Id } from "../_generated/dataModel.js"; import { S2Bindings } from "./s2Bindings.js"; import { QueryCtx } from "../_generated/server.js"; import { Logger } from "./logging.js"; export declare class ClosestPointQuery { private s2; private logger; private point; private maxDistance; private maxResults; private minLevel; private maxLevel; private levelMod; toProcess: Heap<CellCandidate>; results: Heap<Result>; maxDistanceChordAngle?: ChordAngle; constructor(s2: S2Bindings, logger: Logger, point: Point, maxDistance: Meters | undefined, maxResults: number, minLevel: number, maxLevel: number, levelMod: number); execute(ctx: QueryCtx): Promise<{ key: string; coordinates: { latitude: number; longitude: number; }; distance: number; }[]>; addCandidate(cellID: bigint, level: number, distance: ChordAngle): void; popCandidate(): CellCandidate | null; addResult(pointID: Id<"points">, point: Point): void; distanceThreshold(): ChordAngle | undefined; } type CellCandidate = { cellID: bigint; level: number; distance: ChordAngle; }; type Result = { pointID: Id<"points">; distance: ChordAngle; }; export {}; //# sourceMappingURL=pointQuery.d.ts.map