SUMO利用OSM(OpenStreetMap)导出地图生成路网并生成交通流教程(超详细!!!)

2023-05-16

1 进入OSM,下载地图

OSM链接地址
在这里插入图片描述
我这里将输出的地图命名为GDUTmap.osm

2 将.osm格式转化成为sumo所接纳的.net.xml格式

将从osm上下载下来的GDUTmap.osm文件放置在一个文件夹下(不一定在sumo下载路径的文件夹),然后在其路径上直接输入cmd,回车,进入到命令行:
在这里插入图片描述

输入命令,对应代码如下:

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

代码块解释:
在这里插入图片描述
点击回车,出现success即为创建成功(有警告暂时不用理)

这样,我们发现在刚刚存放GDUTmap.osm的文件夹下就多出了一个GDUTmap.net.xml文件

在这里插入图片描述

3 生成路由文件.rou.xml(利用randomTrips.py)

成功创建了路网文件,按照之前的学习我们知道接下来就要创建路由了(这里选用创建路由多种方式之一的:randomTrips.py自动生成)

randomTrips.py存在的路径为:找到你下载的sumo位置进去:sumo/tools/randomTrips.py
如下图:
在这里插入图片描述
找到其所在路径后,我们需要把刚刚的GDUTmap.net.xml文件复制到该目录下,然后跟前面一样,在其路径上输入cmd,敲回车,进入命令行:
在这里插入图片描述
在这里插入图片描述
对应代码如下:

tools>randomTrips.py -n GDUTmap.net.xml -r GDUTmap.rou.xml -e 50 -l

出现success,代表成功创建路由文件,进入randomTrips.py的同级目录下,可看到产生了如下的文件:
在这里插入图片描述

4 生成仿真文件.sumocfg

将这3个文件复制出来,在桌面创建一个文件夹GDUTmap(或任意位置),将这三个文件以及一开始生成的GDUTmap.net.xml,一同放进去GDUTmap文件夹中。并且新创建一个GDUTmap.sumocfg文件:

如下图:
在这里插入图片描述
接下来我们需要在GDUTmap.sumocfg文件夹中引入我们前面所生成的路网信息以及路由信息,并设置仿真时间:

如下图:
在这里插入图片描述
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <input>
    <net-file value="GDUTmap.net.xml" />
    <route-files value="GDUTmap.rou.xml" />
  </input>
  <time>
    <begin value="0" />
    <end value="2000" />
  </time>
</configuration>

5 预期结果

以上工作都完成后,直接双击GDUTmap.sumocfg文件,进入到sumoGUI界面:

设置仿真时间等,即可出现预期的仿真效果:
在这里插入图片描述

这样就可以生成了以上的一个简单的交通流仿真。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SUMO利用OSM(OpenStreetMap)导出地图生成路网并生成交通流教程(超详细!!!) 的相关文章

  • Ubuntu截图工具flameshot的安装与快捷键设置

    https blog csdn net sexyluna article details 105884224
  • moveit配置过后gazebo加载不出来机械臂模型的问题

    我使用moveit setup assistant对dubot magician机械臂的urdf进行配置 xff0c 配置完成后发现运行gazebo launch可以打开gazebo xff0c 但是却什么也没有 xff0c 机械臂模型加载
  • 上传本地项目代码到GitHub的方法

    预备知识 xff1a 有一个GitHub账号 xff0c 然后知道怎么进GitHub网页 之前往GitHub上传代码都是现场百度找指令操作的 xff0c 从来不记 xff0c 这次干脆做个记录当个笔记吧 Git是一个版本控制软件 xff0c
  • 单片机之蜂鸣器

    蜂鸣器简介 无源蜂鸣器 xff1a 有绿色电路板的一种 有源蜂鸣器 xff1a 没有电路板用黑胶封闭的一种 其实蜂鸣器的种类有很多 例如 xff1a 电磁式蜂鸣器 xff1a 由振荡器 电磁线圈 磁铁 振动膜片及外壳组成 同时电磁式蜂鸣器也
  • Centos Stream 9 安装 Docker 23.0.2 社区版 官方安装教程

    目录 一 内核的版本必须大于3 10使用下面的命令来检查是否满足docker的要求 xff0c 进行依赖性检查 二 安装docker容器引擎 xff0c 需要一个具有sudo权限的账户登录进行操作 1 更新现有yum包 2 遇到提示请输入y
  • AttributeError: module numpy has no attribute int .报错解决方案

    在训练YOLO模型时突然发现这个报错 xff0c 后来发现是numpy版本问题 xff0c yolo官方给的是大于等于1 18 5 xff0c 当你执行pip install r requirements txt命令时 xff0c 他默认安
  • 单片机(嵌入式)程序分层架构

    目录 前言 嵌入式3层软件架构 嵌入式4层软件架构 1 驱动层 操作系统层 中间件层 应用层 嵌入式4层软件架构 2 硬件层 嵌入式微处理芯片 嵌入式存储器系统 嵌入式I O接口 中间层 系统软件层 RTOS 文件系统 GUI 应用层 嵌入
  • FreeRTOS笔记—第一章 FreeRTOS概述

    1 1 认识FreeRTOS 1 1 1 什么是操作系统 操作系统 xff08 Operating System xff0c 简称OS xff09 是管理计算机硬件与软件资源的计算机程序 简单说就是一种管理计算机资源的软件 目的是为了高效
  • 嵌入式工程师 面试题 集-C语言

    预编译 1 什么是预编译 xff0c 何时需要预编译 答 xff1a 预编译又称预处理 就是做些代码文本的替换工作 开头的指令 xff0c 比如拷贝 include 包含的文件代码 xff0c define 宏定义的替换 xff0c 条件编
  • 嵌入式工程师面试题集-MCU_STM32

    一 选择题 1 Cortex M处理器采用的架构是 xff08 D xff09 xff08 A xff09 v4T xff08 B xff09 v5TE xff08 C xff09 v6 xff08 D xff09 v7 2 NVIC可用来
  • 嵌入式工程师面试题集汇总

    主观问题 主观问题 介绍类 请自我介绍 xff1f 为什么不留在xx公司 xff08 为啥离职 xff09 xff1f 你5 10年职业规划是怎样的 xff1f 你还写代码吗 xff1f 从工程师到管理再到工程师你是怎样想的或能承受吗 把你
  • C++解决实际问题 ——a的三次方(accode)

    hello大家好 xff0c 在下 小侠雨落 xff0c 几天不见 xff0c 甚是想念啊 xff01 不说了 xff0c 上标题 a的三次方 咳咳 xff0c 题目描述输入一个整数 a xff0c 输出 a 的三次方 输入格式 一行 xf
  • [CVPR2018]Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

    Bottom Up and Top Down Attention 附 xff1a 论文下载地址 主要贡献 提出了一个新的LSTM组合模型 xff0c 包括了attention LSTM和language LSTM 两个组件 在这个组合模型的
  • python matplotlib绘图总结

    目录 1 画线 a 常规画线 xff1a matplotlib pyplot plot 1 xff09 线的颜色 风格 标记点形状 2 xff09 一图多线 xff0c 并加图例 b 非均匀画线 semilogy c 给特定的点打标签 2
  • mysql now的时间问题

    mysql now 函数调用系统时间不对修正方法 进入mysql命令行 查看时区设置 xff1a show variables like 39 zone 39 select 64 64 time zone 两者保持与系统时间一致 xff0c
  • 【谷粒学院】微信扫码支付(224~238)

    224 项目第十五天内容介绍 225 课程评论实现过程分析 226 课程支付功能需求分析 1 课程支付说明 xff08 1 xff09 课程分为免费课程和付费课程 xff0c 如果是免费课程可以直接观看 xff0c 如果是付费观看的课程 x
  • 故障转移集群搭建高可用文件共享服务器

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言 一 故障转移集群是什么 xff1f 二 什么是仲裁盘 xff1f 三 添加故障转移集群功能 四 故障转移集群的建立 五 配
  • HTTP的报文(详解)

    摘要 我们对于http的了解 xff0c 应该在于 xff0c 我们如果想请求一个资源或者访问一个页面 xff0c 客户端 xff08 我们 xff09 应该向服务器发送一个http请求 xff0c 然后得到响应 xff0c 才能出现我们想
  • Kubernetes部署

    文章目录 1 Kubernetes快速部署1 1 Kubernetes安装要求1 2 安装步骤1 3 准备环境1 4 所有节点安装Docker kubeadm kubelet1 4 1 安装Docker1 4 2 添加kubernetes阿
  • 如何从GitHub克隆带有子模块的仓库,比如FreeRTOS

    情形一 xff1a 首次克隆 git clone recurse submodules git 64 github com FreeRTOS FreeRTOS git 该命令会递归克隆该仓库及所有的子模块 工程目录下的 gitmodules

随机推荐