carthorse
Version:
A geospatial trail data processing pipeline for building 3D trail databases with elevation data
33 lines • 1.5 kB
TypeScript
import { Pool } from 'pg';
export interface PgRoutingConfig {
stagingSchema: string;
pgClient: Pool;
usePgNodeNetwork?: boolean;
}
export interface PgRoutingResult {
success: boolean;
error?: string;
analysis?: any;
routes?: any[];
}
export declare class PgRoutingHelpers {
private stagingSchema;
private pgClient;
private usePgNodeNetwork;
constructor(config: PgRoutingConfig);
private analyzeRoutingTables;
private createRoutingIndexes;
createPgRoutingViews(): Promise<boolean>;
analyzeGraph(): Promise<PgRoutingResult>;
private _findKShortestPaths;
findKShortestPaths(startNodeUuid: string, endNodeUuid: string, k?: number, directed?: boolean): Promise<PgRoutingResult>;
findKShortestPathsById(startNodeId: number, endNodeId: number, k?: number, directed?: boolean): Promise<PgRoutingResult>;
private _findShortestPath;
findShortestPath(startNodeUuid: string, endNodeUuid: string, directed?: boolean): Promise<PgRoutingResult>;
findRoutesWithinDistance(startNode: number, distance: number): Promise<PgRoutingResult>;
generateRouteRecommendations(targetDistance: number, targetElevation: number, maxRoutes?: number): Promise<PgRoutingResult>;
validateNetwork(): Promise<PgRoutingResult>;
cleanupViews(): Promise<void>;
}
export declare function createPgRoutingHelpers(stagingSchema: string, pgClient: Pool, usePgNodeNetwork?: boolean): PgRoutingHelpers;
//# sourceMappingURL=pgrouting-helpers.d.ts.map