【OpenDRIVE_Python】使用python脚本输出OD数据中含有隧道的道路ID和隧道信息

示例代码说明:

遍历OD数据中每条道路Road,若Road中存在隧道tunnel属性,则将该道路ID和包含的所有隧道信息输出到xml文件中。

复制代码
import xml.dom.minidom
from xml.dom.minidom import parse
from xml.dom import Node
import sys
import os
# 读取OpenDRIVE文件路径
xml_filepath = r'E:\OpenDRIVE.xodr'
# 得到文件对象
dom_obj = xml.dom.minidom.parse(xml_filepath)
# 得到xml文档对象
root = dom_obj.documentElement
roads = root.getElementsByTagName('road')
filepath = "D:\\tunnel.xml"
if (os.path.exists(filepath)):
    os.remove(filepath)
fp = open(filepath, 'a+')
for road in roads:
    tunnels = road.getElementsByTagName("tunnel")
    if (len(tunnels) > 0):
        print(road.getAttribute("id"))
        fp.write((road.getAttribute("id")))
        fp.write('\n')
        for j in range(len(tunnels)):
            print(tunnels[j].toxml())
            fp.write(tunnels[j].toxml())
            fp.write('\n')
fp.close()

OpenDRIVE文件示例:

xml输出结果示例:

相关推荐
用户277844910499310 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
JavaEdge在掘金12 小时前
ssl.SSLCertVerificationError报错解决方案
python
我不会编程55512 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
老歌老听老掉牙13 小时前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
满怀101513 小时前
Python入门(7):模块
python
无名之逆13 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
你觉得20513 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
啊喜拔牙13 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
__lost14 小时前
Pysides6 Python3.10 Qt 画一个时钟
python·qt