SUMO学习(二):

创建路网


学习内容:

  1. netconvert转换第三方源
  2. OSM Overpass API query page下载城市地图
  3. OSMWebWizard.py
  4. openstreetmap截取地图
  5. netedit手动画图
  6. 直接编写路网文件

1. netconvert转换第三方源:

该程序是在sumo安装文件夹中的bin文件夹中
在终端中进行打开可将第三方源下载的文件转换为sumo可读的格式

支持的第三方源有:
OpenStreetMap
PTV Vissim
OpenDrive
MATsim
ArcView
Elmar Brockfelds unsplitted and splitted NavTeq-data
RoboCup Rescue League folders

以vissim为例

netconvert --vissim-file=vissim.inpx --output-file=map.net.xml

2. OSM Overpass API query page下载城市地图:

可以直接下载某城市的地图。方法较为简单,但是文件较大下载速度慢。


3. OSMWebWizard.py:

该程序是在sumo安装文件夹中的tools文件夹中
直接运行即可
有可能会出现‘ImportError: DLL load failed while importing _ssl: 找不到指定的模块。’的问题,解决方案在发布的另一篇文章中

该工具的好处在于简单易提取。
通过select area 对区域进行截取之后,可在右边工具栏选择路网对象(车,行人等)生成,选择好之后,点击generate scenario进行下载,下载完成之后自动打开sumo。

不过有一个疑惑的地方,生成的这个地标是什么?


4. openstreetmap截取地图:

官网:openstreetmap.org
操作简单,选择想要的区域,进行截取,然后导出,可以得到osm文件

再将osm文件转换为sumo可读文件
1.打开终端cd到sumo/bin路径中(安装的地方)运行以下代码得到net.xml文件(到这转换结束,以下的都是路网对象的生成)

netconvert --osm-files map.osm -o map.net.xml

2.将终端cd到sumo/tools路径中,将net.xml文件剪切到tools中,运行以下代码得到trip.xml文件(生成车辆等数据)

python randomTrips.py -n map.net.xml -l -e 100 -o map.trips.xml

3.将终端cd到sumo/bin路径中,将net.xml文件和trip.xml文件剪切到bin中,运行以下代码得到rou.xml文件(rou.xml也可以自己编写)

duarouter -n map.net.xml -t map.trips.xml -o map.rou.xml --ignore-errors

4.最后创建sumocfg文件,导入之前生成的路网,并且创建一些路网对象

<?xml version="1.0" encoding="UTF-8"?>
<configuration><input><net-file value="map.net.xml"/><route-files value="map.rou.xml"/></input><time><begin value="0"/><end value="120"/></time>
</configuration>

5.最后将sumocfg拖入bin文件夹中的sumo-gui.exe即可运行


5. netedit手动画图:

该程序是在sumo安装文件夹中的bin文件夹中
功能不多,但是也够用


6. 直接编写路网文件:

后续进行学习


SUMO学习(二)创建路网相关推荐

  1. Mysql学习(二)创建数据库和表

    MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 ...

  2. 深度学习(6)TensorFlow基础操作二: 创建Tensor

    深度学习(6)TensorFlow基础操作二: 创建Tensor 一. 创建方式 1. From Numpy,List 2. zeros,ones (1) tf.zeros() (2) tf.zero ...

  3. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  4. python学习(二) ElementTree解析、读写、创建xml文件

    python学习(二) 读写xml文件 1.xml格式 将其存储为sample.xml  Tag:使用<>包围的部分  Element:被Tag包围的部分,例如22中的22  Attrib ...

  5. MATLAB强化学习实战(十二) 创建自定义强化学习算法的智能体

    创建自定义强化学习算法的智能体 创建环境 定义策略 自定义智能体类 智能体属性 构造函数 相关函数 可选功能 创建自定义智能体 训练自定义智能体 自定义智能体仿真 本示例说明如何为您自己的自定义强化学 ...

  6. 【SUMO学习】初级 Quick Start

    参考自官网教程:https://sumo.dlr.de/docs/Tutorials/quick_start.html 目录 一.Network 1. 节点和边的构建 2. 修改车道数 3. 修改道路 ...

  7. C#多线程学习(二) 如何操纵一个线程

    C#多线程学习(二) 如何操纵一个线程 原文链接:http://kb.cnblogs.com/page/42529/ [1] C#多线程学习(二) 如何操纵一个线程 [2] C#多线程学习(二) 如何 ...

  8. spring security 学习二

    spring security 学习二 doc:https://docs.spring.io/spring-security/site/docs/ 基于表单的认证(个性化认证流程): 一.自定义登录页 ...

  9. OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()

    OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack() 参考博客: Harris角点检测原理详解 Harri ...

最新文章

  1. MyBatis 一个简单配置搞定数据加密解密!
  2. 学号20175313 《实现Linux下cp XXX1 XXX2的功能(一)》第九周
  3. C/C++程序基础 (八)数据结构
  4. [数据结构与算法]平衡二叉树实现
  5. Linux使用parted进行分区及拓展实验
  6. Windows平台下使用Dokan实现文件系统的开发
  7. 显卡= GPU+显存(八)
  8. linux文本编辑命令vim查找,Linux编辑器vi中文本搜索与替换操作
  9. WIN7清理C盘空间垃圾的BAT脚本
  10. 破圈-从认知菜鸟到认知高手的四个境界
  11. win10任务栏透明_手把手教你把win10桌面变得逼格满满(任务栏可以透明哦)
  12. D2D与蜂窝系统间的干扰
  13. 笔记本电脑连接wifi显示无网络访问权限怎么办?
  14. Visio日程规划图——论文计划进度图
  15. 随记随提可行性分析报告
  16. R语言_函数的使用_rep
  17. 2018 年 CSDN 排名第一 [不出意外应该是永远的第一了]
  18. NFT背后的区块链之争:公链还是联盟链?
  19. 国外免费CDN CloudFlare申请教程
  20. 黑苹果用户必备 Hackintool 万能驱动神器

热门文章

  1. python 环境变量设置PYTHONPATH
  2. 《Cinema 4D + After Effects动态图形设计案例解析》——导读
  3. IOS:Warning: Attempt to dismiss from view controller xxxxxxxxxController: 0x13f6840e0
  4. Win7安装.zip(绿色版)MySQL
  5. (CV,Math)射影几何
  6. 人性的弱点的自我窥视
  7. 半导体功率器件测试系统
  8. 小米12的技术创新之一竟是散热系统,或反映骁龙8G1发热问题
  9. 基于Python绘制雷达图(非常好的学习例子)
  10. 计蒜客:Floppy Music