Skip to content

Commit f6cb11f

Browse files
committed
fix for incorrect order of unconnected/nocarroad selection
1 parent a9c57f8 commit f6cb11f

File tree

1 file changed

+27
-12
lines changed

1 file changed

+27
-12
lines changed

cfg/main/Templates.dms

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)