carthorse
Version:
A geospatial trail data processing pipeline for building 3D trail databases with elevation data
289 lines • 7.9 kB
TypeScript
export interface CarthorseConfig {
version: string;
cliVersion: string;
database: {
connection: {
host: string;
port: number;
user: string;
password: string;
database: string;
};
environments: {
development: {
host: string;
port: number;
user: string;
password: string;
database: string;
};
test: {
host: string;
port: number;
user: string;
password: string;
database: string;
};
production: {
host: string;
port: number;
user: string;
password: string;
database: string;
};
};
pool: {
max: number;
idleTimeoutMillis: number;
connectionTimeoutMillis: number;
};
timeouts: {
connectionTimeout: number;
queryTimeout: number;
};
};
constants: {
carthorseVersion: string;
supportedRegions: string[];
supportedEnvironments: string[];
databaseSchemas: {
master: string;
stagingPrefix: string;
osmPrefix: string;
};
validationThresholds: {
minTrailLengthKm: number;
maxTrailLengthKm: number;
minElevationM: number;
maxElevationM: number;
minCoordinatePoints: number;
maxCoordinatePoints: number;
};
exportSettings: {
defaultSimplifyTolerance: number;
defaultMaxDbSizeMb: number;
defaultTargetSizeMb: number;
};
};
postgis: any;
sqlite: any;
validation: any;
export?: {
geojson?: {
layers?: {
trails?: boolean;
edges?: boolean;
endpoints?: boolean;
routes?: boolean;
};
styling?: {
trails?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
};
edges?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
};
endpoints?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
radius?: number;
};
routes?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
};
};
};
};
}
export interface RouteDiscoveryConfig {
enabled: boolean;
routing: {
intersectionTolerance: number;
edgeTolerance: number;
defaultTolerance: number;
minTrailLengthMeters: number;
};
binConfiguration: any;
discovery: any;
scoring: any;
costWeighting: any;
}
/**
* Load the Carthorse configuration from YAML file
*/
export declare function loadConfig(): CarthorseConfig;
/**
* Load the route discovery configuration from YAML file
*/
export declare function loadRouteDiscoveryConfig(): RouteDiscoveryConfig;
/**
* Get constants from the configuration
*/
export declare function getConstants(): {
carthorseVersion: string;
supportedRegions: string[];
supportedEnvironments: string[];
databaseSchemas: {
master: string;
stagingPrefix: string;
osmPrefix: string;
};
validationThresholds: {
minTrailLengthKm: number;
maxTrailLengthKm: number;
minElevationM: number;
maxElevationM: number;
minCoordinatePoints: number;
maxCoordinatePoints: number;
};
exportSettings: {
defaultSimplifyTolerance: number;
defaultMaxDbSizeMb: number;
defaultTargetSizeMb: number;
};
};
/**
* Get specific constant values
*/
export declare function getSupportedRegions(): string[];
export declare function getSupportedEnvironments(): string[];
export declare function getDatabaseSchemas(): {
master: string;
stagingPrefix: string;
osmPrefix: string;
};
export declare function getValidationThresholds(): {
minTrailLengthKm: number;
maxTrailLengthKm: number;
minElevationM: number;
maxElevationM: number;
minCoordinatePoints: number;
maxCoordinatePoints: number;
};
export declare function getTolerances(): {
intersectionTolerance: number;
edgeTolerance: number;
minTrailLengthMeters: number;
};
export declare function getExportSettings(): {
defaultSimplifyTolerance: number;
defaultMaxDbSizeMb: number;
defaultTargetSizeMb: number;
};
/**
* Get pgRouting tolerance settings from config
*/
export declare function getPgRoutingTolerances(): any;
/**
* Load consolidated network configuration (optional file)
*/
export declare function getNetworkConfig(): any;
/**
* Refinement settings (connector tolerance, dead-end pruning) with env overrides
*/
export declare function getNetworkRefinementConfig(): {
connectorToleranceMeters: any;
minDeadEndMeters: any;
applyCachedConnectors: any;
persistDiscoveredConnectors: any;
enableEndpointEdgeSnapping: any;
enableAtGradeCrossings: any;
atGradeToleranceMeters: any;
densifySegmentMeters: any;
};
/**
* Network cache configuration (completed network cache)
*/
export declare function getNetworkCacheConfig(): {
enableCompletedNetworkCache: any;
cacheSchema: any;
maxEntries: any;
};
/**
* Get database configuration with environment variable overrides
*/
export declare function getDatabaseConfig(environment?: string): {
host: any;
port: number;
user: any;
password: any;
database: any;
pool: {
max: number;
idleTimeoutMillis: number;
connectionTimeoutMillis: number;
};
timeouts: {
connectionTimeout: number;
queryTimeout: number;
};
};
/**
* Get database connection string
*/
export declare function getDatabaseConnectionString(environment?: string): string;
/**
* Get pool configuration for database connections
*/
export declare function getDatabasePoolConfig(environment?: string): {
host: any;
port: number;
user: any;
password: any;
database: any;
max: number;
idleTimeoutMillis: number;
connectionTimeoutMillis: number;
};
/**
* Get export configuration from carthorse config
*/
export declare function getExportConfig(): {
geojson?: {
layers?: {
trails?: boolean;
edges?: boolean;
endpoints?: boolean;
routes?: boolean;
};
styling?: {
trails?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
};
edges?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
};
endpoints?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
radius?: number;
};
routes?: {
color?: string;
stroke?: string;
strokeWidth?: number;
fillOpacity?: number;
};
};
};
};
//# sourceMappingURL=config-loader.d.ts.map