@@ -46,36 +46,51 @@ container Templates: Using = "Units;Classifications;geometries;Classifications/T
4646
4747 container CreateInitialWorkingNetwork
4848 {
49- unit<uint32> Roads_with_unconnected_subnetworks := RoadDomain0
49+ unit<uint32> Roads_with_unconnected_subnetworks_w_CarRaods := RoadDomain0
5050 {
51- attribute<NodeSet_src> Fsrc_1 := rlookup(F_JnctId, NodeSet_src/JnctIds);
52- attribute<NodeSet_src> Fsrc_2 := rlookup(T_JnctId, NodeSet_src/JnctIds);
5351 attribute<bool> IsCarRoad := Direction != /Classifications/TomTom/Directions/V/nocars;
52+ }
53+
54+ unit<uint32> Roads_with_unconnected_subnetworks_wo_CarRoads := select(Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad)
55+ {
56+ attribute<BaseProjection> geometry (arc) := collect_by_cond(.,Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad, Roads_with_unconnected_subnetworks_w_CarRaods/geometry);
57+ attribute<bool> IsOneDirection := collect_by_cond(.,Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad, Roads_with_unconnected_subnetworks_w_CarRaods/IsOneDirection);
58+ attribute<km_hr> KPH := collect_by_cond(.,Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad, Roads_with_unconnected_subnetworks_w_CarRaods/KPH);
59+ attribute<Bool > Connectable := collect_by_cond(.,Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad, Roads_with_unconnected_subnetworks_w_CarRaods/Connectable);
60+
61+ attribute<uint64> F_JNCTID := collect_by_cond(.,Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad, Roads_with_unconnected_subnetworks_w_CarRaods/F_JNCTID);
62+ attribute<uint64> T_JNCTID := collect_by_cond(.,Roads_with_unconnected_subnetworks_w_CarRaods/IsCarRoad, Roads_with_unconnected_subnetworks_w_CarRaods/T_JNCTID);
63+
64+ attribute<NodeSet_src> Fsrc_1 := rlookup(F_JnctId, NodeSet_src/JnctIds);
65+ attribute<NodeSet_src> Fsrc_2 := rlookup(T_JnctId, NodeSet_src/JnctIds);
66+
67+ attribute<BaseProjection> fromPoint := first_point(geometry);
68+ attribute<BaseProjection> toPoint := last_point(geometry);
5469
5570 unit<uint32> PointSet := union_unit(., .)
5671 {
57- attribute<uint64> JnctIds := union_data(., F_JnctId, T_JnctId);
58- attribute<BaseProjection> Points := union_data(., fromPoint, toPoint);
59- attribute<BaseProjection> geometry := points;
72+ attribute<uint64> JnctIds := union_data(., F_JnctId, T_JnctId);
73+ attribute<BaseProjection> Points := union_data(., fromPoint, toPoint);
74+ attribute<BaseProjection> geometry := points;
6075 }
6176
6277 unit<uint32> NodeSet_src := unique(PointSet/JnctIds)
6378 {
6479 attribute<BaseProjection> geometry := PointSet/geometry[rlookup(JnctIds, PointSet/JnctIds)];
6580 attribute<uint64> JnctIds := values;
6681 }
67-
82+
6883 container Connectiveness := Templates/Check_Connectiveness_T(.,NodeSet_src, Fsrc_1, Fsrc_2);
6984 }
7085
71- attribute<bool> Roads_isConnected (Roads_with_unconnected_subnetworks ) := Roads_with_unconnected_subnetworks /Connectiveness/IsVerbonden && Roads_with_unconnected_subnetworks/IsCarRoad ;
86+ attribute<bool> Roads_isConnected (Roads_with_unconnected_subnetworks_wo_CarRoads ) := Roads_with_unconnected_subnetworks_wo_CarRoads /Connectiveness/IsVerbonden;
7287
7388 unit<uint32> Road_linestrings := select(Roads_isConnected)
7489 {
75- attribute<BaseProjection> geometry (arc) := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks /geometry);
76- attribute<bool> IsOneDirection := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks /IsOneDirection);
77- attribute<km_hr> KPH := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks /KPH);
78- attribute<Bool > Connectable := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks /Connectable);
90+ attribute<BaseProjection> geometry (arc) := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks_wo_CarRoads /geometry);
91+ attribute<bool> IsOneDirection := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks_wo_CarRoads /IsOneDirection);
92+ attribute<km_hr> KPH := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks_wo_CarRoads /KPH);
93+ attribute<Bool > Connectable := collect_by_cond(.,Roads_isConnected, Roads_with_unconnected_subnetworks_wo_CarRoads /Connectable);
7994 }
8095
8196 unit<uint32> Roads := arc2segm(Road_linestrings/geometry)
0 commit comments