carthorse
Version:
A geospatial trail data processing pipeline for building 3D trail databases with elevation data
47 lines • 1.86 kB
TypeScript
import { Client } from 'pg';
import { DatabaseService } from './DatabaseService';
export interface IntersectionResult {
intersectionCount: number;
intersections: any[];
}
export interface NodeGenerationResult {
nodeCount: number;
nodeTypes: {
endpoint: number;
intersection: number;
};
}
export interface EdgeGenerationResult {
edgeCount: number;
orphanedNodesRemoved: number;
orphanedEdgesRemoved: number;
}
export interface NetworkValidationResult {
isConnected: boolean;
isolatedNodes: number;
orphanedEdges: number;
connectivityStats: {
totalNodes: number;
connectedNodes: number;
leafNodes: number;
avgDegree: number;
};
}
export interface RoutingService {
detectIntersections(schemaName: string, tolerance: number): Promise<IntersectionResult>;
generateRoutingNodes(schemaName: string, tolerance: number): Promise<NodeGenerationResult>;
generateRoutingEdges(schemaName: string, tolerance: number): Promise<EdgeGenerationResult>;
validateRoutingNetwork(schemaName: string): Promise<NetworkValidationResult>;
cleanupOrphanedNodes(schemaName: string): Promise<number>;
}
export declare class PostgresRoutingService implements RoutingService {
private client;
private databaseService;
constructor(client: Client, databaseService: DatabaseService);
detectIntersections(schemaName: string, tolerance: number): Promise<IntersectionResult>;
generateRoutingNodes(schemaName: string, tolerance: number): Promise<NodeGenerationResult>;
generateRoutingEdges(schemaName: string, tolerance: number): Promise<EdgeGenerationResult>;
validateRoutingNetwork(schemaName: string): Promise<NetworkValidationResult>;
cleanupOrphanedNodes(schemaName: string): Promise<number>;
}
//# sourceMappingURL=RoutingService.d.ts.map