1、 文件结构

OpenDRIVE数据存储于XML文件中,文件拓展名为.xodr。OpenDRIVE压缩文件的拓展名为".xodrz"(压缩格式gzip)。

OpenDRIVE文件的结构符合XML规则;关联的模式文件在XML中得到引用。用于OpenDRIVE格式的模式文件可从以下链接中读取:

https://www.asam.net/standards/detail/opendrive/

元素被置于层级中。层级大于零(0)的元素是上一层级的子级,层级等于一(1)的元素则为主元素。

可通过用户定义的数据对每个元素进行拓展。此类数据被存储于“用户数据”元素中。

所有在OpenDRIVE中使用的浮点数均为IEEE 754双精度浮点数。为了确保XML表示法中对浮点数的表示精准,应使用已知的、保留最小的浮点数打印算法(比如[Burger96], [Adams18])的正确精度来进行执行,或者执行应该确保始终有17个有效十进制数字得到生成(例如使用the "%.17g" ISO C printf 修饰符)。在导入执行时,建议使用一个已知的正确精度来保留浮点数并读取算法(例如 [Clinger90])。可通过用户定义的数据对每个元素进行拓展。此类数据被存储于“用户数据”元素中。

2、 合并文件

可使用<include>标签在适当的位置对多个文件进行合并。解析该标签后,OpenDRIVE读取器须立刻开始读取作为标签属性的文件。用户有责任确保从包含文件中读取而来的内容与包含开始时的上下文一致。

<include>标签发生在父标签下,该父标签必须存在于父文件以及包含文件内。

示例:原始文件<planView>
<include file="planview.xml"/>
</planView>包含文件<planView>
<geometry x="-0.014" y="-0.055" hdg="2.88" length="95.89" s="0.0">
<arc curvature="-0.000490572"/>
</geometry>
<geometry x="-92.10" y="26.64" hdg="2.84" length="46.65" s="95.89">
<spiral curvStart="-0.000490572" curvEnd="-0.004661241"/>
</geometry>
</planView>

3、文件中使用的属性

3.1 封闭元素

文件的起始及结束元素是:

3.2 头文件

<header> 元素是<OpenDRIVE>中的第一个元素。

头文件元素的属性:

3.3 通用规则与假定

如无另外说明,都假定为靠右行车环境。

4、附加数据

4.1 用户数据

应在辅助数据所引用的元素附近对其进行描述。辅助数据包含OpenDRIVE中还未描述或出于特殊原因为某一应用所用的数据,如不同的道路纹理。

在OpenDRIVE中,辅助数据用 <userData> 元素来表示。它们可被存储在OpenDRIVE任意元素中。

4.2 包含数据

OpenDRIVE允许将外部文件包含在OpenDRIVE文件中,而如何处理该类文件则视应用而定。包含数据用<include>元素来表示,可被存储在OpenDRIVE里任意位置。

4.3 使用不同布局类型

可在OpenDRIVE中对用户生成的元素布局(如路标或标志)进行集成。这些附加的布局设计并不存储在OpenDRIVE中,而是存储在用户应用中。

在OpenDRIVE中,不同布局类型用 <set> 元素来表示,可存储在OpenDRIVE里任意位置。每个 <set> 元素之后都可以关联一个或多个对布局进行说明的<instance>元素。

4.4  数据质量描述

集成到OpenDRIVE的原始数据或来自外部资源的数据质量可能参差不齐。外部数据的质量和准确性可以在OpenDRIVE中得到描述。

对数据质量的描述用 <dataQuality> 元素来表示。它们可存储在OpenDRIVE中的任意位置。

集成到OpenDRIVE、源自于GPS等外部资源的测量数据可能存在误差。以[m]为单位的误差范围可在应用中被列出。

道路数据的绝对或相对误差在<dataQuality>元素中用 <error> 元素来描述。

某些基本元数据涵盖了被包括在OpenDRIVE中的原始数据信息,这些原始数据在 <dataQuality> 元素中用 <rawData> 元素来描述。

opendrive文件结构相关推荐

  1. OpenDRIVE文件格式详解

    1 OpenDRIVE概要 ASAM OpenDRIVE描述了自动驾驶仿真应用所需的静态道路交通网络,并提供了标准交换格式说明文档.该标准的主要任务是对道路及道路上的物体进行描述.OpenDRIVE说 ...

  2. android 定义集合长度,Android Dex文件结构解析

    Java源文件通过Java编译器生成CLASS文件,再通过dx工具转换为classes.dex文件. DEX文件从整体上来看是一个索引的结构,类名.方法名.字段名等信息都存储在常量池中,这样能够充分减 ...

  3. 1 字节的 utf-8 序列的字节 1 无效_字节码文件结构详解

    点击上方" Java资料站 ",选择"标星公众号" 优质文章,第一时间送达 陈建源  |  作者 urlify.cn/INFrUr  |  来源 "一 ...

  4. Nginx入门笔记之————配置文件结构

    在nginx.conf的注释符号位# nginx文件的结构,这个对刚入门的同学,可以多看两眼. 默认的config: #user nobody; worker_processes 1;#error_l ...

  5. Class类文件结构、类加载机制以及字节码执行

    一.Class类文件结构 Class类文件严格按照顺序紧凑的排列,由无符号数和表构成,表是由多个无符号数或其他数据项构成的符合数据结构. Class类文件格式按如下顺序排列: 类型 名称 数量 u4 ...

  6. 深入理解java虚拟机之类文件结构以及加载

    我们都知道,java是一种平台无关的语言.java代码通过java编译器(如javac等),将.java文件编译成字节码,也就是.class文件.字节码是运行在jvm虚拟机之上的.而不同的平台则 有不 ...

  7. 修改class文件_VM实战(六) - 通过案例深入学习class文件结构原理

    0 更多干货关注 JavaEdge 公众号 1 什么是JVM的"无关性"? Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在 ...

  8. nginx模型概念和配置文件结构

    一. nginx模型概念: Nginx会按需同时运行多个进程: 一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加载器进程(cache loader)和缓存管理器进程( ...

  9. Xamarin XAML语言教程XAML文件结构与解析XAML

    Xamarin XAML语言教程XAML文件结构与解析XAML XAML文件结构 在上文中,我们创建XAML文件后,会看到类似图1.16所示的结构 图1.16  结构 其中,.xaml文件和.xaml ...

  10. C++/C的文件结构

    C++/C的文件结构 对于C++/C的程序开发员来说,文件结构这一内容是很重要的一块,我们知道,每个C++/C程序通常分为两个文件.一个为头文件,用于保存程序的声明(declaration).另一个为 ...

最新文章

  1. 前端学习(2467):在前端页面中引入百度地图
  2. python基础(十三)
  3. 安卓用于组件传递参数的对象是_入门篇:7.组件2:Android Service-service的数据传递与通信...
  4. 高德地图怎么搜索marker_2018-07-06 高德地图搜索定位,滑动地图显示周边信息,根据地址搜经...
  5. Gaze Estimation笔记——data normalization
  6. vue.js路由配置vue-router的基础学习 - 概念篇
  7. 机器学习实战6-sklearn训练决策树实现分类和回归
  8. (转)Spring Boot(十八):使用 Spring Boot 集成 FastDFS
  9. 区块链需要学习哪些东西_区块链主要学习哪些知识?
  10. 3Dslicer中 PET/CT 模块:PET Standard Uptake Value Computation
  11. oracle里面的degree,收集统计信息degree不生效的问题
  12. 2020 年开源项目
  13. 学科前沿技术专题第九章
  14. 美男子的JavaScript笔记,望能助君留住秀发
  15. ORC File文件结构
  16. 网易交互设计师微专业 C1 揭开交互神秘面纱
  17. OLED SH1108 STM32 8080接口实际使用
  18. windows简单命令
  19. 游戏中BUFF的实现
  20. 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)

热门文章

  1. 伍德里奇计量经济学导论pdf_伍德里奇 计量经济学导论 第三章第三节-1 MLR1-MLR4...
  2. 100个最常用的PHP函数(建议收藏)
  3. 软件工程用的15种图
  4. Labview 做二维码识别
  5. 【第157期】游戏策划:给@Archer的简历分析
  6. 成为一名初级游戏策划
  7. 常见芯片封装类型介绍
  8. IR2104驱动原理--恩智浦智能车电机驱动
  9. 游戏开发中常见的10种编程语言
  10. FLUENT 流体计算应用教程