【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输出结果示例:

相关推荐
zh15702314 小时前
如何编写动态SQL存储过程_使用sp_executesql执行灵活查询
jvm·数据库·python
2401_8242226914 小时前
SQL报表统计数据量巨大_分批统计策略
jvm·数据库·python
X566114 小时前
mysql如何处理连接数过多报错_调整max_connections参数
jvm·数据库·python
m0_6091604915 小时前
MongoDB中什么是Hashed Shard Key的哈希冲突_哈希函数的分布均匀性分析
jvm·数据库·python
Ulyanov15 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》 开发环境搭建与工具链极简主义 —— 拒绝臃肿,构建工业级基座
开发语言·python·qt·ui·架构·系统仿真
wuxinyan12315 小时前
大模型学习之路03:提示工程从入门到精通(第三篇)
人工智能·python·学习
如何原谅奋力过但无声15 小时前
【灵神高频面试题合集01-03】相向双指针、滑动窗口
数据结构·python·算法·leetcode
WHS-_-202215 小时前
Rank-Revealing Bayesian Block-Term Tensor Completion With Graph Information
人工智能·python·机器学习
技术钱15 小时前
Modal组件及使用技巧
python
Ulyanov15 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:QML 声明式语法与霓虹按钮 —— 当 Python 遇见现代美学
开发语言·python·ui·qml·系统仿真·雷达电子对抗仿真