carthorse
Version:
A geospatial trail data processing pipeline for building 3D trail databases with elevation data
44 lines • 1.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkCreationService = void 0;
const manual_network_strategy_1 = require("./strategies/manual-network-strategy");
const pg_node_network_strategy_1 = require("./strategies/pg-node-network-strategy");
class NetworkCreationService {
constructor(usePgNodeNetwork = false) {
this.strategy = usePgNodeNetwork
? new pg_node_network_strategy_1.PgNodeNetworkStrategy()
: new manual_network_strategy_1.ManualNetworkStrategy();
}
async createNetwork(pgClient, config) {
console.log(`🎯 Network Creation Service: Using ${config.usePgNodeNetwork ? 'pgr_nodeNetwork' : 'manual'} strategy`);
try {
const result = await this.strategy.createNetwork(pgClient, config);
if (result.success) {
console.log(`✅ Network creation completed successfully:`);
console.log(` 📍 Nodes created: ${result.stats.nodesCreated}`);
console.log(` 🛤️ Edges created: ${result.stats.edgesCreated}`);
console.log(` 🔗 Isolated nodes: ${result.stats.isolatedNodes}`);
console.log(` 🚫 Orphaned edges: ${result.stats.orphanedEdges}`);
}
else {
console.error(`❌ Network creation failed: ${result.error}`);
}
return result;
}
catch (error) {
console.error('❌ Network creation service failed:', error);
return {
success: false,
error: error instanceof Error ? error.message : String(error),
stats: {
nodesCreated: 0,
edgesCreated: 0,
isolatedNodes: 0,
orphanedEdges: 0
}
};
}
}
}
exports.NetworkCreationService = NetworkCreationService;
//# sourceMappingURL=network-creation-service.js.map