如何用Netconvert将OpenDRIVE xodr转为SUMO net.xml并解决负速度错误
解决Netconvert转换OpenDRIVE文件时的负速度错误
直接忽略速度错误(可行)
Netconvert自带跳过速度校验的参数,在转换命令中加入--ignore-errors speed即可强制忽略负速度相关错误,避免进程退出。完整命令示例:netconvert --opendrive input.xodr --output output.net.xml --ignore-errors speed该参数会跳过所有速度校验类错误,不影响路网结构的转换生成。
手动修复OpenDRIVE文件中的负速度值
若不想忽略错误,可直接修改源文件:- 用文本编辑器打开目标xodr文件
- 搜索包含
speed属性的标签(如<speed>或<limit>),定位数值为负的条目 - 将负数值替换为合理的正速度值(比如城市道路设为50km/h,高速设为120km/h)
- 保存后重新执行转换命令
设置默认速度兜底
可结合--speed.default参数为无合法速度的路段指定默认值,搭配忽略错误参数使用,确保转换后速度规则更合理:netconvert --opendrive input.xodr --output output.net.xml --ignore-errors speed --speed.default 50
关于是否可以忽略速度设置?完全可以,--ignore-errors speed就是专门用于跳过速度校验的参数,转换后的net.xml会采用SUMO默认速度规则或你指定的默认值填充,不会影响路网结构,仅速度限制可能需要后续在SUMO中调整,或提前用默认参数配置好。
内容的提问来源于stack exchange,提问作者MedaBoy
相关产品推荐
相关产品推荐

