V2X消息层——MAP信息的解读

  • Post author:
  • Post category:其他

转载自:V2X消息之MAP消息解读_fantasyYXQ的博客-CSDN博客_map消息

注:MAP信息以Link为单位,从上游指向下游节点,MAP信息中的Node为下游节点

解析MAP信息:

Node:下游节点ID,

Link:连接的上游节点,和Node这个下游节点组成一段道路

Lane:Link上的车道信息,规定从上游节点向下游节点的方向,从左到右依次为1/2/3

数据元素的解释:《YDT 3709-2020 基于LTE的车联网无线通信技术 消息层技术要求》

《基于LTE的车联网无线通信技术 协议一致性测试控制接口规范_202107.pdf》


下面是信通院提供的MAP消息:


MapData ::= {
    msgCnt: 44
    timeStamp: 12
    nodes: NodeList ::= {
        Node ::= {
            id: NodeReferenceID ::= {
                region: 16
                id: 1
            }
            refPos: Position3D ::= {
                lat: 301234567
                long: 1201234567
            }
            inLinks: LinkList ::= {
                Link ::= {
                    name: 'ramp' Link 1
                    upstreamNodeId: NodeReferenceID ::= {
                        region: 0
                        id: 0
                    }
                    speedLimits: SpeedLimitList ::= {
                        RegulatorySpeedLimit ::= {
                            type: 1 (maxSpeedInSchoolZone)
                            speed: 1000
                        }
                    }
                    linkWidth: 500
                    points: PointList ::= {
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1201234567
                                    lat: 301234567
                                }
                            }
                        }
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1202234567
                                    lat: 302234567
                                }
                            }
                        }
                    }
                    movements: MovementList ::= {
                        Movement ::= {
                            remoteIntersection: NodeReferenceID ::= {
                                region: 1
                                id: 2
                            }
                            phaseId: 2
                        }
                    }
                    lanes: LaneList ::= {
                        Lane ::= {
                            laneID: 0
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                        Lane ::= {
                            laneID: 1
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Link ::= {
                    name: 'ramp' Link 1
                    upstreamNodeId: NodeReferenceID ::= {
                        region: 16
                        id: 1
                    }
                    speedLimits: SpeedLimitList ::= {
                        RegulatorySpeedLimit ::= {
                            type: 1 (maxSpeedInSchoolZone)
                            speed: 1000
                        }
                    }
                    linkWidth: 500
                    points: PointList ::= {
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1201234567
                                    lat: 301234567
                                }
                            }
                        }
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1202234567
                                    lat: 302234567
                                }
                            }
                        }
                    }
                    movements: MovementList ::= {
                        Movement ::= {
                            remoteIntersection: NodeReferenceID ::= {
                                region: 1
                                id: 2
                            }
                            phaseId: 2
                        }
                    }
                    lanes: LaneList ::= {
                        Lane ::= {
                            laneID: 0
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                        Lane ::= {
                            laneID: 1
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        Node ::= {
            id: NodeReferenceID ::= {
                region: 16
                id: 1
            }
            refPos: Position3D ::= {
                lat: 301234567
                long: 1201234567
            }
            inLinks: LinkList ::= {
                Link ::= {
                    name: 'ramp' Link 1
                    upstreamNodeId: NodeReferenceID ::= {
                        region: 0
                        id: 0
                    }
                    speedLimits: SpeedLimitList ::= {
                        RegulatorySpeedLimit ::= {
                            type: 1 (maxSpeedInSchoolZone)
                            speed: 1000
                        }
                    }
                    linkWidth: 500
                    points: PointList ::= {
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1201234567
                                    lat: 301234567
                                }
                            }
                        }
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1202234567
                                    lat: 302234567
                                }
                            }
                        }
                    }
                    movements: MovementList ::= {
                        Movement ::= {
                            remoteIntersection: NodeReferenceID ::= {
                                region: 1
                                id: 2
                            }
                            phaseId: 2
                        }
                    }
                    lanes: LaneList ::= {
                        Lane ::= {
                            laneID: 0
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                        Lane ::= {
                            laneID: 1
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Link ::= {
                    name: 'ramp' Link 1
                    upstreamNodeId: NodeReferenceID ::= {
                        region: 16
                        id: 1
                    }
                    speedLimits: SpeedLimitList ::= {
                        RegulatorySpeedLimit ::= {
                            type: 1 (maxSpeedInSchoolZone)
                            speed: 1000
                        }
                    }
                    linkWidth: 500
                    points: PointList ::= {
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1201234567
                                    lat: 301234567
                                }
                            }
                        }
                        RoadPoint ::= {
                            posOffset: PositionOffsetLLV ::= {
                                offsetLL: Position-LLmD-64b ::= {
                                    lon: 1202234567
                                    lat: 302234567
                                }
                            }
                        }
                    }
                    movements: MovementList ::= {
                        Movement ::= {
                            remoteIntersection: NodeReferenceID ::= {
                                region: 1
                                id: 2
                            }
                            phaseId: 2
                        }
                    }
                    lanes: LaneList ::= {
                        Lane ::= {
                            laneID: 0
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                        Lane ::= {
                            laneID: 1
                            laneWidth: 200
                            laneAttributes: LaneAttributes ::= {
                                laneType: 07
                            }
                            maneuvers: 40 00 (4 bits unused)
                            points: PointList ::= {
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1201234567
                                            lat: 301234567
                                        }
                                    }
                                }
                                RoadPoint ::= {
                                    posOffset: PositionOffsetLLV ::= {
                                        offsetLL: Position-LLmD-64b ::= {
                                            lon: 1202234567
                                            lat: 302234567
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

参考文章:CSAE V2X应用层MAP消息解读 – 灰信网(软件开发博客聚合)

建议参考上面连接中的含义说明。

MAP消息以Node作为开头:

inLinks给出了以当前节点为下游节点的集合。如果一个下游节点对应多个上游节点,会形成多条Link,也就是inLinks,会生成多段Link。

对于每一段Link来说:会对这段Link进行Lane属性的定义,以及与这段Link进行连接的下游Link的定义,这段Link每条车道允许的驾驶行为等。

借鉴一位大佬提供的链接:RSU上报RSI_路网数字化服务 DRIS_API参考_API_设备侧MQTT接口参考_消息上报_华为云

车辆基础安全信息(bsm)_路网数字化服务 DRIS_API参考_API_应用侧API参考_数据转发_华为云


版权声明:本文为qq_39224221原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。