You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sumolib路网保存:能否自动保存已加载路网的修改?

如何用sumolib保存修改后的路网?

当然有办法啦!你想要的这种保存修改后路网的功能,sumolib其实已经内置了,和你设想的net.saveNet()非常类似,只是准确的方法名是write()。这个方法会完整保留路网原有的所有属性,同时把你做的修改也一并写入新的路网文件中。

基础使用示例

下面是一个完整的代码片段,演示加载路网、修改属性、保存的流程:

import sumolib

# 加载原始路网
net = sumolib.net.readNet("net.net.xml")

# 这里添加你的修改操作,举个例子:修改所有车道的限速
for edge in net.getEdges():
    for lane in edge.getLanes():
        lane.setSpeed(60)  # 将车道限速设置为60km/h

# 保存包含修改的完整路网
net.write("modified_net.net.xml")

一些实用细节

  • 自动处理格式:如果想保存为压缩格式(比如.net.xml.gz),直接把文件名改成"modified_net.net.xml.gz"就行,write()方法会自动完成压缩。
  • 精细控制保存(可选):如果你的需求比较特殊(比如只保存部分路网元素),可以用sumolib.net.NetWriter类来定制保存逻辑,但对于大多数常规修改场景,直接用net.write()就足够便捷。
  • 属性兼容性:sumolib中绝大多数可修改的属性(比如车道限速、车道长度、节点坐标等),修改后都能被write()正确序列化到输出文件里,不用额外担心丢失数据。

内容的提问来源于stack exchange,提问作者Jojko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:27:51