void LinkData::Execute (void) { Link_Nodes link_node_rec; //---- read the data service ---- Data_Service::Execute (); //---- allocate link node data ---- link_node_rec.link = 0; link_node_rec.nodes.clear (); link_node_array.assign (link_array.size (), link_node_rec); //---- generate a node map ---- if (node_map_flag) { Read_Node_Map (); } if (input_flag) { Read_Node_File (); } //---- read the link node list file ---- if (link_node_flag) { Read_Link_Nodes (); } //--- create link data structures ---- Create_Link_Map (); //---- read the directional data file ---- Read_Dir_Data (); //---- write the link data file ---- if (data_flag) { Write_Dir_Data (); } if (new_map_flag) { Write_Node_Map (); } if (new_link_node_flag) { Write_Link_Nodes (); } Print (2, "Number of Link Node Equivalence Records = ") << nequiv; Print (1, "Number of From-To Link Combinations = ") << nab; Print (1, "Number of Directional Data Records = ") << ndir; Print (1, "Number of Link Data Records Written = ") << nlink; Exit_Stat (DONE); }
void TPPlusRoute::Execute (void) { int old_routes, old_nodes; //---- read the network ---- Network_Service::Execute (); //---- check the input route numbers ---- if (input_flag) { Route_Data *route_ptr = route_data.Last_Key (); if (route_ptr != NULL) { if (route_id <= route_ptr->Route ()) { route_id = ((route_ptr->Route () / 100) + 1) * 100; } } old_routes = route_data.Num_Records (); old_nodes = route_data.Num_Nodes (); } else { old_routes = old_nodes = 0; } //---- read the tpplus node map file ---- if (map_flag) { Read_Node_Map (); } //---- read the tpplus line files ---- Read_Line (); //---- write the route header and nodes ---- Write_Route (); //---- print the results ---- Break_Check (4); Write (2, "Number of Route Header Records = %d", nroute); if (old_routes > 0) Write (0, " (%d new)", (nroute - old_routes)); Write (1, "Number of Route Nodes Records = %d", nnodes); if (old_nodes > 0) Write (0, " (%d new)", (nnodes - old_nodes)); if (num_match > 0) Write (1, "Number of Matched Routes = %d", num_match); Exit_Stat (DONE); }
void CoordMatch::Execute (void) { //---- read the network ---- Network_Service::Execute (); //---- read the reference node file ---- if (ref_node_flag) { Read_Reference (); } //---- read the node map file ---- if (node_map_flag) { Read_Node_Map (); } else { Make_Node_Map (); } //---- match other reference nodes ---- if (new_map_flag || replace_flag) { Expand_Node_Map (); } //---- convert the nodes ---- Adjust_Nodes (); //---- print the results ---- Break_Check (4); Write (2, "Number of New Node Records = %d", num_new_nodes); Write (1, "Number of New Node Map Records = %d", num_new_maps); Exit_Stat (DONE); }