carthorse
Version:
A geospatial trail data processing pipeline for building 3D trail databases with elevation data
45 lines • 1.61 kB
TypeScript
import { Client } from 'pg';
import { DatabaseService } from './DatabaseService';
export interface CopyResult {
trailsCopied: number;
nodesCopied: number;
edgesCopied: number;
bbox: {
minLng: number;
minLat: number;
maxLng: number;
maxLat: number;
} | null;
}
export interface ValidationResult {
isValid: boolean;
errors: string[];
warnings: string[];
stats: {
totalTrails: number;
nullGeometry: number;
invalidGeometry: number;
zeroOrNullLength: number;
selfLoops: number;
zeroLengthGeometry: number;
singlePointGeometry: number;
};
}
export interface StagingService {
createStagingEnvironment(schemaName: string): Promise<void>;
copyRegionData(region: string, bbox?: [number, number, number, number]): Promise<CopyResult>;
validateStagingData(schemaName: string): Promise<ValidationResult>;
cleanupStaging(schemaName: string): Promise<void>;
cleanupAllStagingSchemas(): Promise<void>;
}
export declare class PostgresStagingService implements StagingService {
private client;
private databaseService;
constructor(client: Client, databaseService: DatabaseService);
createStagingEnvironment(schemaName: string): Promise<void>;
copyRegionData(region: string, bbox?: [number, number, number, number]): Promise<CopyResult>;
validateStagingData(schemaName: string): Promise<ValidationResult>;
cleanupStaging(schemaName: string): Promise<void>;
cleanupAllStagingSchemas(): Promise<void>;
}
//# sourceMappingURL=StagingService.d.ts.map