titanization_ats.patch 435 KB
Newer Older
+                        delta := {
+                            node_XY6 := {
+                                x       := -2933,
+                                y       := 2469
+                            }
+                        },
+                        attributes      := omit
+                    },
+                    {
+                        delta := {
+                            node_XY6 := {
+                                x       := -840,
+                                y       := 1203
+                            }
+                        },
+                        attributes      := omit
+                    },
+                    {
+                        delta := {
+                            node_XY6 := {
+                                x       := 573,
+                                y       := 1870
+                            }
+                        },
+                        attributes      := omit
+                    },
+                    {
+                        delta := {
+                            node_XY6 := {
+                                x       := 2043,
+                                y       := 2312
+                            }
+                        },
+                        attributes      := omit
+                    }
+                }
+            } // End of c_PICS_Z6_M1_SL_LANE10
+            
+            const NodeListXY c_PICS_Z6_M1_SL_LANE20 := {
+                nodes := {
+                    { 
+                        delta := {
+                            node_XY6 := {
+                                x       := 1175,
+                                y       := -327
+                            }
+                        },
+                        attributes      := omit
+                    },
+                    {
+                        delta := {
+                            node_XY6 := {
+                                x       := 2984,
+                                y       := -2781
+                            }
+                        },
+                        attributes      := omit
+                    } 
+                }
+            } // End of c_PICS_Z6_M1_SL_LANE20
+            
+            const MapemParm c_PICS_Z6_M1_SL := {
+                intersections := {
+                    { // Start of intersection #0
+                        name                                := "PICS_Z6_M1_SL",
+                        id                                  := c_PICS_Z6_M1_SL_IDX,
+                        revision                            := 0,
+                        refPoint                            := c_PICS_Z6_M1_SL_RP,
+                        laneWidth                           := omit,
+                        speedLimits                         := omit,
+                        laneSet := {
+                            { // Start of Lane #1
+                                laneID                      :=  10,
+                                name                        := omit,
+                                ingressApproach             := 1,
+                                egressApproach              := omit,
+                                laneAttributes := {
+                                    directionalUse          := '10'B,
+                                    sharedWith              := '0000000000'B,
+                                    laneType := {
+                                        vehicle             := '00000000'B
+                                    },
+                                    regional                := omit
+                                },
+                                maneuvers                   := omit,
+                                nodeList                    := c_PICS_Z6_M1_SL_LANE10,
+                                connectsTo := {
+                                    {
+                                        connectingLane := {
+                                            lane            := 20,
+                                            maneuver        := omit
+                                        }, 
+                                        remoteIntersection  := omit,  
+                                        signalGroup         := 50,    
+                                        userClass           := omit, 
+                                        connectionID        := omit
+                                    }
+                                },
+                                overlays                    := omit,
+                                regional                    := omit
+                            }, // End of Lane #1
+                            { // Start of Lane #2
+                                laneID                      :=  20,
+                                name                        := omit,
+                                ingressApproach             := omit,
+                                egressApproach              := 2,
+                                laneAttributes := {
+                                    directionalUse          := '01'B,
+                                    sharedWith              := '0000000000'B,
+                                    laneType := {
+                                        vehicle             := '00000000'B
+                                    },
+                                    regional                := omit
+                                },
+                                maneuvers                   := omit,
+                                nodeList                    := c_PICS_Z6_M1_SL_LANE20,
+                                connectsTo                  := omit,
+                                overlays                    := omit,
+                                regional                    := omit
+                            } // End of Lane #2
+                        }, // End of LaneSet
+                        preemptPriorityData                 := omit,
+                        regional                            := omit
+                    } // End of intersection #0
+                }, // End of field intersections
+                roadSegments := omit
+            } // End of c_PICS_Z6_M1_SL
+            
+        } // End of group mapemZone6 
+        
+    } // End of group mapemEvents 
+    
+    group spatemEvents {
+        
+        group spatemCommonParams {
+            
+            const BtpPortId c_PICS_SPATEM_BTP_DESTINATION_PORT      := 2004;
+            
+            const BtpPortId c_PICS_SPATEM_BTP_SOURCE_PORT           := 0;
+            
+            const UInt32 c_PICS_SPATEM_ITS_AID                      := 137;
+            
+            const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_10 := 10*10; // In units of 1/10th second
+            
+            const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_20 := 20*10; // In units of 1/10th second
+            
+            const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_30 := 30*10; // In units of 1/10th second
+            
+            const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_40 := 40*10; // In units of 1/10th second
+            
+            const UInt32 c_PICS_SPATEM_REPITITION_DURATION_STATE_50 := 50*10; // In units of 1/10th second
+            
+        } // End of group spatemCommonParams
+        
+        group spatemZone1 {
+            
+            const SignalGroupParm c_PICS_Z1_S1_SL := {
+                signalGroupID                               := 1,
+                intersections := {
+                    {
+                        name                                := "PICS_SPATEM_PARMS_SG_50",
+                        id                                  := c_PICS_Z1_M1_SL_IDX,
+                        revision                            := 0,   
+                        status                              := int2bit(0, 16),
garciay's avatar
garciay committed
+                        moy                                 := 0, // To be updated in real-time
+                        timeStamp                           := 0, // To be updated in real-time
+                        enabledLanes                        := omit,  
+                        states := {
+                            {
+                               movementName                 := "permissive-Movement-Allowed",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_Movement_Allowed,
+                                       timing := {
+                                           startTime        := omit,
+                                           minEndTime       := 0, // To be updated in real-time
+                                           maxEndTime       := omit,
+                                           likelyTime       := omit,
+                                           confidence       := omit,
+                                           nextTime         := omit
+                                       },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "permissive-clearance",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_clearance,
+                                        timing := {
+                                            startTime        := 0, // To be updated in real-time
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "stop-And-Remain",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := stop_And_Remain,
+                                        timing := {
+                                            startTime        := omit,
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            }
+                        },
+                        maneuverAssistList                  := omit,
+                        regional                            := omit
+                    }
+                } // End of field states
+            } // End of type c_PICS_Z1_S1_SL
+            
+            const SignalGroupParmList c_PICS_Z1_S1_SL_LIST := {
+                c_PICS_Z1_S1_SL
+            } // End of type c_PICS_Z1_S1_SL_LIST
+            
+        } // End of group spatemZone1
+        
+        group spatemZone2 {
+            
+            const SignalGroupParm c_PICS_Z2_S1_SL := {
+                signalGroupID                               := 1,
+                intersections := {
+                    {
+                        name                                := "PICS_SPATEM_PARMS_SG_50",
+                        id                                  := c_PICS_Z2_M1_SL_IDX,
+                        revision                            := 0,   
+                        status                              := int2bit(0, 16),
garciay's avatar
garciay committed
+                        moy                                 := 0, // To be updated in real-time
+                        timeStamp                           := 0, // To be updated in real-time
+                        enabledLanes                        := omit,  
+                        states := {
+                            {
+                               movementName                 := "permissive-Movement-Allowed",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_Movement_Allowed,
+                                       timing := {
+                                           startTime        := omit,
+                                           minEndTime       := 0, // To be updated in real-time
+                                           maxEndTime       := omit,
+                                           likelyTime       := omit,
+                                           confidence       := omit,
+                                           nextTime         := omit
+                                       },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "permissive-clearance",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_clearance,
+                                        timing := {
+                                            startTime        := 0, // To be updated in real-time
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "stop-And-Remain",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := stop_And_Remain,
+                                        timing := {
+                                            startTime        := omit,
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            }
+                        },
+                        maneuverAssistList                  := omit,
+                        regional                            := omit
+                    }
+                } // End of field states
+            } // End of type c_PICS_Z2_S1_SL
+            
+            const SignalGroupParmList c_PICS_Z2_S1_SL_LIST := {
+                c_PICS_Z2_S1_SL
+            } // End of type c_PICS_Z2_S1_SL_LIST
+            
+        } // End of group spatemZone2
+        
+        group spatemZone3 {
+            
+            const SignalGroupParm c_PICS_Z3_S1_SL := {
+                signalGroupID                               := 1,
+                intersections := {
+                    {
+                        name                                := "PICS_SPATEM_PARMS_SG_50",
+                        id                                  := c_PICS_Z3_M1_SL_IDX,
+                        revision                            := 0,   
+                        status                              := int2bit(0, 16),
garciay's avatar
garciay committed
+                        moy                                 := 0, // To be updated in real-time
+                        timeStamp                           := 0, // To be updated in real-time
+                        enabledLanes                        := omit,  
+                        states := {
+                            {
+                               movementName                 := "permissive-Movement-Allowed",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_Movement_Allowed,
+                                       timing := {
+                                           startTime        := omit,
+                                           minEndTime       := 0, // To be updated in real-time
+                                           maxEndTime       := omit,
+                                           likelyTime       := omit,
+                                           confidence       := omit,
+                                           nextTime         := omit
+                                       },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "permissive-clearance",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_clearance,
+                                        timing := {
+                                            startTime        := 0, // To be updated in real-time
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "stop-And-Remain",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := stop_And_Remain,
+                                        timing := {
+                                            startTime        := omit,
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            }
+                        },
+                        maneuverAssistList                  := omit,
+                        regional                            := omit
+                    }
+                } // End of field states
+            } // End of type c_PICS_Z3_S1_SL
+            
+            const SignalGroupParmList c_PICS_Z3_S1_SL_LIST := {
+                c_PICS_Z3_S1_SL
+            } // End of type c_PICS_Z3_S1_SL_LIST
+            
+        } // End of group spatemZone3
+        
+        group spatemZone4 {
+            
+            const SignalGroupParm c_PICS_Z4_S1_SL := {
+                signalGroupID                               := 1,
+                intersections := {
+                    {
+                        name                                := "PICS_SPATEM_PARMS_SG_50",
+                        id                                  := c_PICS_Z4_M1_SL_IDX,
+                        revision                            := 0,   
+                        status                              := int2bit(0, 16),
garciay's avatar
garciay committed
+                        moy                                 := 0, // To be updated in real-time
+                        timeStamp                           := 0, // To be updated in real-time
+                        enabledLanes                        := omit,  
+                        states := {
+                            {
+                               movementName                 := "permissive-Movement-Allowed",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_Movement_Allowed,
+                                       timing := {
+                                           startTime        := omit,
+                                           minEndTime       := 0, // To be updated in real-time
+                                           maxEndTime       := omit,
+                                           likelyTime       := omit,
+                                           confidence       := omit,
+                                           nextTime         := omit
+                                       },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "permissive-clearance",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_clearance,
+                                        timing := {
+                                            startTime        := 0, // To be updated in real-time
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "stop-And-Remain",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := stop_And_Remain,
+                                        timing := {
+                                            startTime        := omit,
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            }
+                        },
+                        maneuverAssistList                  := omit,
+                        regional                            := omit
+                    }
+                } // End of field states
+            } // End of type c_PICS_Z4_S1_SL
+            
+            const SignalGroupParmList c_PICS_Z4_S1_SL_LIST := {
+                c_PICS_Z4_S1_SL
+            } // End of type c_PICS_Z4_S1_SL_LIST
+            
+        } // End of group spatemZone4
+        
+        group spatemZone5 {
+            
+            const SignalGroupParm c_PICS_Z5_S1_SL := {
+                signalGroupID                               := 1,
+                intersections := {
+                    {
+                        name                                := "PICS_SPATEM_PARMS_SG_50",
+                        id                                  := c_PICS_Z5_M1_SL_IDX,
+                        revision                            := 0,   
+                        status                              := int2bit(0, 16),
garciay's avatar
garciay committed
+                        moy                                 := 0, // To be updated in real-time
+                        timeStamp                           := 0, // To be updated in real-time
+                        enabledLanes                        := omit,  
+                        states := {
+                            {
+                               movementName                 := "permissive-Movement-Allowed",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_Movement_Allowed,
+                                       timing := {
+                                           startTime        := omit,
+                                           minEndTime       := 0, // To be updated in real-time
+                                           maxEndTime       := omit,
+                                           likelyTime       := omit,
+                                           confidence       := omit,
+                                           nextTime         := omit
+                                       },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "permissive-clearance",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_clearance,
+                                        timing := {
+                                            startTime        := 0, // To be updated in real-time
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "stop-And-Remain",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := stop_And_Remain,
+                                        timing := {
+                                            startTime        := omit,
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            }
+                        },
+                        maneuverAssistList                  := omit,
+                        regional                            := omit
+                    }
+                } // End of field states
+            } // End of type c_PICS_Z5_S1_SL
+            
+            const SignalGroupParmList c_PICS_Z5_S1_SL_LIST := {
+                c_PICS_Z5_S1_SL
+            } // End of type c_PICS_Z5_S1_SL_LIST
+            
+        } // End of group spatemZone5
+        
+        group spatemZone6 {
+            
+            const SignalGroupParm c_PICS_Z6_S1_SL := {
+                signalGroupID                               := 1,
+                intersections := {
+                    {
+                        name                                := "PICS_SPATEM_PARMS_SG_50",
+                        id                                  := c_PICS_Z6_M1_SL_IDX,
+                        revision                            := 0,   
+                        status                              := int2bit(0, 16),
garciay's avatar
garciay committed
+                        moy                                 := 0, // To be updated in real-time
+                        timeStamp                           := 0, // To be updated in real-time
+                        enabledLanes                        := omit,  
+                        states := {
+                            {
+                               movementName                 := "permissive-Movement-Allowed",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_Movement_Allowed,
+                                       timing := {
+                                           startTime        := omit,
+                                           minEndTime       := 0, // To be updated in real-time
+                                           maxEndTime       := omit,
+                                           likelyTime       := omit,
+                                           confidence       := omit,
+                                           nextTime         := omit
+                                       },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "permissive-clearance",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := permissive_clearance,
+                                        timing := {
+                                            startTime        := 0, // To be updated in real-time
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            },
+                            {
+                               movementName                 := "stop-And-Remain",
+                               signalGroup                  := 50, 
+                               state_time_speed:= {
+                                   {
+                                       eventState           := stop_And_Remain,
+                                        timing := {
+                                            startTime        := omit,
+                                            minEndTime       := 0, // To be updated in real-time
+                                            maxEndTime       := omit,
+                                            likelyTime       := omit,
+                                            confidence       := omit,
+                                            nextTime         := omit
+                                        },
+                                       speeds               := omit,
+                                       regional             := omit
+                                   }
+                               },   
+                               maneuverAssistList           := omit,
+                               regional                     := omit
+                            }
+                        },
+                        maneuverAssistList                  := omit,
+                        regional                            := omit
+                    }
+                } // End of field states
+            } // End of type c_PICS_Z6_S1_SL
+            
+            const SignalGroupParmList c_PICS_Z6_S1_SL_LIST := {
+                c_PICS_Z6_S1_SL
+            } // End of type c_PICS_Z6_S1_SL_LIST
+            
+        } // End of group spatemZone6
+        
+    } // End of group spatemEvents
+    
+    group ivimEvents {
+        
+        group ivimCommonParams {
+            
+            const BtpPortId c_PICS_IVIM_BTP_DESTINATION_PORT := 2006;
+            
+            const BtpPortId c_PICS_IVIM_BTP_SOURCE_PORT      := 0;
+            
+            const UInt32 c_PICS_IVIM_ITS_AID                 := 139;
+            
+            const PosConfidenceEllipse c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE := {
+                semiMajorConfidence   := SemiAxisLength_oneCentimeter_,
+                semiMinorConfidence   := SemiAxisLength_oneCentimeter_,
garciay's avatar
garciay committed
+                semiMajorOrientation  := 0
+            } // End of c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE
+            
+            const Altitude c_PICS_IVIM_ALTITUDE := {
+                altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
garciay's avatar
garciay committed
+                altitudeConfidence := alt_000_01
+            } // End of c_PICS_DENM_ALTITUDE
+            
+        } // End of group ivimCommonParams
+        
+        group ivimZone1 {
+            
+            const ReferencePosition c_PICS_Z1_I1_POS1_RP := {
+                latitude                                       := 435527493,
+                longitude                                      := 103006446,
+                positionConfidenceEllipse                      := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE ,
+                altitude                                       := c_PICS_IVIM_ALTITUDE
+            } // End of c_PICS_Z1_I1_POS1_RP
+            
+            const GlcPart c_PICS_Z1_I1_POS1_GP_1 := {
+                zoneId                                         := 1, 
+                laneNumber                                     := omit,
+                zoneExtension                                  := omit,
+                zoneHeading                                    := omit,
+                zone := {
+                    segment := {
+                        line := {
+                            deltaPositions := {
+                                {
+                                    deltaLatitude                  := -111,
+                                    deltaLongitude                 := 103
+                                },
+                                {
+                                    deltaLatitude                  := 287,
+                                    deltaLongitude                 := 475
+                                },
+                                {
+                                    deltaLatitude                  := 292,
+                                    deltaLongitude                 := 446
+                                },
+                                {
+                                    deltaLatitude                  := 412,
+                                    deltaLongitude                 := 609
+                                },
+                                {
+                                    deltaLatitude                  := 407,
+                                    deltaLongitude                 := 573
+                                }
+                            }
+                        },
+                        laneWidth                              := omit
+                    }
+                }
+            } // End of c_PICS_Z1_I1_POS1_GP_1
+            
+            const GlcPart c_PICS_Z1_I1_POS1_GP_2 := {
+                zoneId                                         := 2, 
+                laneNumber                                     := omit,
+                zoneExtension                                  := omit,
+                zoneHeading                                    := omit,
+                zone := {
+                    segment := {
+                        line := {
+                            deltaPositions := {
+                                {
+                                    deltaLatitude                  := -312,
+                                    deltaLongitude                 := -134
+                                },
+                                {
+                                    deltaLatitude                  := -575,
+                                    deltaLongitude                 := -822
+                                },
+                                {
+                                    deltaLatitude                  := -608,
+                                    deltaLongitude                 := -994
+                                },
+                                {
+                                    deltaLatitude                  := -660,
+                                    deltaLongitude                 := -1064
+                                },
+                                {
+                                    deltaLatitude                  := -525,
+                                    deltaLongitude                 := -746
+                                }
+                            }
+                        },
+                        laneWidth                              := omit
+                    }
+                }
+            } // End of c_PICS_Z1_I1_POS1_GP_2
+            
+            const IvimParm c_PICS_Z1_I1_POS1 := {
+                provider := {
+                    countryCode                                := '0000000001'B,
+                    providerIdentifier                         := 13
+                },
+                iviIdentificationNumber                        := 12,
+                iviContainers := { 
+                    {
+                        glc := {
+                            referencePosition                      := c_PICS_Z1_I1_POS1_RP,
+                            referencePositionTime                  := omit,
+                            referencePositionHeading               := omit, 
+                            referencePositionSpeed                 := omit,
+                            parts := {
+                                c_PICS_Z1_I1_POS1_GP_1,
+                                c_PICS_Z1_I1_POS1_GP_2
+                            } 
+                        }
+                    },
+                    {
+                        giv := {
+                            {
+                                  detectionZoneIds := {
+                                      1
+                                },
+                                its_Rrid                       := omit,
+                                relevanceZoneIds := {
+                                    2
+                                }, 
+                                direction                      := 0, //Direction_sameDirection_,
+                                driverAwarenessZoneIds         := omit, 
+                                minimumAwarenessTime           := 4,
+                                applicableLanes                := omit,
+                                iviType                        := 1, //IviType_regulatoryMessages_,
+                                iviPurpose                     := omit,
+                                laneStatus                     := omit,
+                                vehicleCharacteristics         := omit,
+                                driverCharacteristics          := omit,
+                                layoutId                       := omit,
+                                preStoredlayoutId              := omit,
+                                roadSignCodes := {
+                                    {
+                                        layoutComponentId      := omit,
+                                        code := {
+                                            iso14823 := {
+                                                pictogramCode := {  
+                                                    countryCode := omit, 
+                                                    serviceCategoryCode := { 
+                                                        trafficSignPictogram := regulatory
+                                                    },
+                                                    pictogramCategoryCode := {
+                                                        nature := 5,
+                                                        serialNumber := 57
+                                                    
+                                                    }
+                                                },
+                                                attributes := {
+                                                    {
+                                                        spe := {
+                                                            spm := 30,
+                                                            mns := omit,
+                                                            unit := 0
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                },
+                                extraText := omit
+                            },
+                            {
+                                  detectionZoneIds := {
+                                      1
+                                },
+                                its_Rrid                       := omit,
+                                relevanceZoneIds := {
+                                    2
+                                }, 
+                                direction                      := 0, //Direction_sameDirection_,
+                                driverAwarenessZoneIds         := omit, 
+                                minimumAwarenessTime           := 15,
+                                applicableLanes                := omit,
+                                iviType                        := 1, //IviType_regulatoryMessages_,
+                                iviPurpose                     := omit,
+                                laneStatus                     := omit,    
+                                vehicleCharacteristics := {
+                                    {
+                                        tractor                := omit,
+                                        trailer                := omit,
+                                        train := {
+                                            equalTo := {
+                                                {
+                                                    euVehicleCategoryCode := {
+                                                        euVehicleCategoryN := n2
+                                                    }
+                                                },
+                                                {
+                                                    euVehicleCategoryCode := {
+                                                        euVehicleCategoryN := n3
+                                                    }
+                                                }
+                                            },
+                                            notEqualTo         := omit, 
+                                            ranges := {
+                                                {
+                                                    comparisonOperator                  := 0, // greaterThan
+                                                    limits := {
+                                                        vehicleWeightLimits := {
+                                                            vehicleMaxLadenWeight       := 0,
+                                                            vehicleTrainMaximumWeight   := 750,
+                                                            vehicleWeightUnladen        := 0
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                },
+                                driverCharacteristics          := omit,
+                                layoutId                       := omit,
+                                preStoredlayoutId              := omit,
+                                roadSignCodes := {
+                                    {
+                                        layoutComponentId := omit,
+                                        code := {
+                                            iso14823 := {
+                                                pictogramCode := {  
+                                                    countryCode := omit, 
+                                                    serviceCategoryCode := { 
+                                                        trafficSignPictogram := regulatory
+                                                    },
+                                                    pictogramCategoryCode := {
+                                                        nature := 5,
+                                                        serialNumber := 44
+                                                    
+                                                    }
+                                                },
+                                                attributes := omit
+                                            }
+                                        }
+                                    }
+                                },
+                                extraText := omit
+                            }
+                        }
+                    }
+                }
+            } // End of c_PICS_Z1_I1_POS1
+            
+        } // End of group ivimZone1 
+        
+        group ivimZone2 {
+            
+            const ReferencePosition c_PICS_Z2_I1_POS1_RP := {
+                latitude                                       := 435512756,
+                longitude                                      := 103002535,
+                positionConfidenceEllipse                      := c_PICS_IVIM_POSITION_CONFIDENCE_ELLIPSE ,
+                altitude                                       := c_PICS_IVIM_ALTITUDE
+            } // End of c_PICS_Z2_I1_POS1_RP
+            
+            const GlcPart c_PICS_Z2_I1_POS1_GP_1 := {
+                zoneId                                         := 1, 
+                laneNumber                                     := omit,
+                zoneExtension                                  := omit,
+                zoneHeading                                    := omit,
+                zone := {
+                    segment := {
+                        line := {
+                            deltaPositions := {
+                                {
+                                    deltaLatitude                  := -227,
+                                    deltaLongitude                 := -5
+                                },
+                                {
+                                    deltaLatitude                  := -146,
+                                    deltaLongitude                 := -1187
+                                },
+                                {
+                                    deltaLatitude                  := -109,
+                                    deltaLongitude                 := -1664
+                                },
+                                {
+                                    deltaLatitude                  := -141,
+                                    deltaLongitude                 := -1295
+                                },
+                                {
+                                    deltaLatitude                  := -233,
+                                    deltaLongitude                 := -2153
+                                }
+                            }
+                        },
+                        laneWidth                              := omit
+                    }
+                }
+            } // End of c_PICS_Z2_I1_POS1_GP_1
+            
+            const GlcPart c_PICS_Z2_I1_POS1_GP_2 := {
+                zoneId                                         := 2, 
+                laneNumber                                     := omit,