基于openstreetmap数据的SUMO路网生成路线

2023-05-16

一、一步到位:基于SUMO自带工具smWebWizard.py

使用SUMO自带的osmWebWizard.py脚本(sumo-tools)进行下载,脚本执行后会打开一个操作网页,可以按照需要选定地图区域,下载地图并直接转换成SUMO的net.xml文件。珠三角区域转换结果如下:

 

优点:快速便捷。

缺点:转换过程无法编辑,只能对转换后的结果进行编辑操作,而且细节不理想。

二、分步进行

(一)OSM路网下载

方法一:官网自带工具下载(直观,使用OSM的openAPI工具能够获得大规模路网)

方法二:QGIS自带工具下载(直观,可下载地图规模受限)

方法三:JOSM工具下载(直观,可下载地图规模受限)

https://josm.openstreetmap.de/wiki/Zh_CN%3AWikiStart

方法四:SUMO脚本工具osmget.py和osmbuild.py(使用坐标区间下载,不直观,不限大小)

(二)OSM数据处理

方法一:QGIS处理(方便,功能丰富,但无法导出OSM格式数据)

方法二:JOSM处理(工具简单,个人不熟练,可以导出OSM格式数据)

(三)OSM数据转换(基于OSM格式数据)

基于NetConvert工具进行

 

(四)细节介绍:

细节操作:

  • QGIS基于OSM道路类型进行筛选,图层右键filter选项,其中筛选框输入"highway" = 'primary' or "highway" = 'primary_link'可以筛选出主干路,高速路如是;
  • Netconvert的语句为:

netconvert --osm-files berlin.osm.xml -o berlin.net.xml  --geometry.remove --ramps.guess --junctions.join --tls.guess-signals --tls.discard-simple --tls.join --tls.default-type actuated

其中,各操作的含义如下:

--geometry.remove : Simplifies the network (saving space) without changing topology

--ramps.guess : Acceleration/Deceleration lanes are often not included in OSM data. This option identifies likely roads that have these additional lanes and causes them to be added

--junctions.join : See #Junctions

--tls.guess-signals --tls.discard-simple --tls.join : See #Traffic_Lights

--tls.default-type actuated : Default static traffic lights are defined without knowledge about traffic patterns and may work badly in high traffic

 

  • 进行大规模路网生成时,NetConvert可以添加筛选功能:

--keep-edges.by-type 

 highway.motorway,highway.motorway_link,highway.trunk,highway.trunk_link,highway.primary,highway.primary_link

以上语句为保留高速路和主干路,剔除其他道路

 

三、路线总结

 

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

基于openstreetmap数据的SUMO路网生成路线 的相关文章

  • 如何通过 PHP 访问 RESTful API

    我对 PHP 以及使用 RESTful API 的整个过程还很陌生 我现在想要做的就是成功发出一个简单的 HTTP GET 请求 这开放街道地图 API 我正在使用tcdent 的简单 PHP REST 客户端我基本上了解它的功能 我在 O
  • 如何获得一个国家的城市边界

    我想从芬兰的 OSM 中提取城市特定数据 我有芬兰的数据 但我只需要 5 个城市的数据 赫尔辛基 埃斯波 万塔 考尼亚宁和 Siuntio 我可以提取赫尔辛基所需的数据 但我需要其余城市的城市边界 这样我可以制作一个多边形 如果我有多边形
  • 如何从 BigQuery 中的 Openstreet 地图数据集中提取所有国家/地区几何图形

    我正在使用此查询使用 OSM 提取所有国家 地区的几何形状 它工作正常 但我确信 它正在创建重复项 因为我使用国旗作为参考 有些地方有国旗 但它们并不是真正的国家 地区 SELECT feature type osm id osm time
  • ImageMagick 将大图像裁剪为 xyz 块

    我有一个大的 jpg 其分辨率为 x 256 x 256 我想将此图像剪切成 256x256 的图块 命名约定为 zoom x y jpg 过去我使用 ZoomifyExpress Converter 来进行剪切和缩放 我还想要 6 种不同
  • CDN 库在 Chrome 中被屏蔽

    我在网站上使用传单 OSM 制作小地图 该网站本身可通过 HTTPS 访问 而传单库 据我所知 只能通过 HTTP 连接检索 现在 Chrome 不包含该库 并在控制台中显示以下消息 blocked The page at https ex
  • 从地图 API 获取建筑物的高度

    是否有任何公共地图 API 谷歌 微软 openstreet 可以返回某些点的屋顶高度 想象一下 您请求一些地址 API 返回坐标 一些信息和建筑物的高度 如果有 OpenStreetMap 有一个身高标签 http wiki openst
  • 如何在 Android 应用程序中使用 OSM 地图?有没有关于在 android 中使用 OSM 的教程?

    我正在寻找教程 手册或步骤 将开放街道地图包含到我的 Android 应用程序中 我发现的只是一个具有更多功能的大项目 否则很多问题都没有关于 如何 的正确结论 有没有合适的博客 网站或文档可供新手参考 我不知道有任何教程 但这是我使用 O
  • 如何下载地图选定部分的 OSM 图块

    我想使用 Openlayer OSM 图层以单个缩放级别离线下载地图的选定部分的地图 我有地图的四个角 即地图的显示部分 但需要获取所有图块图像或四个角之间的图块 我回顾了一些例子 Openlayers获取鼠标下图块的图片url https
  • 如何使用 overpass-api 获取我所在点附近的兴趣点?

    我正在使用 Overpass API 我无法找到我的地点附近 大约 100 200 英里 的一些兴趣点 咖啡馆 医院 学校 我只有纬度和经度 Overpass API 提供了使用您的地名获取 POI 的机会 但我没有 我只有坐标 我怎样才能
  • 适用于 Android 和 iOS 的应用程序 OpenStreetMap [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想使用 OpenStreetMap 制作一个移动本机应用程序 Android 和 iOS 我需要离线
  • 如何使用 Python 显示 OSM 图块?

    我正在使用generate tiles py 生成图块 我想编写一个Python 应用程序来显示它们 而不是使用Web 界面 是否已经存在类似的东西 或者是否有关于如何自己编写此类应用程序的信息 您可以使用 Tilemill 或 QGIS
  • 我收到一条错误消息,指出套接字绑定失败:/var/run/renderd/renderd.sock 如果我是普通用户,否则一切正常?

    我正在尝试按照 switch2osm org 上的说明手动构建地图服务器 我已经配置了一切 我有一个由用户 mayank 拥有的数据库 mayank 我正在尝试使用 renderd 但我收到此错误套接字绑定失败 var run render
  • 如何在不使用 Mapbox 的情况下使用 OpenStreetMap?

    我想使用 OSM OpenStreetMap 数据 但有一种方法 Mapbox 可以使用吗 如果有其他解决方案可以在不使用 MapBox 的情况下使用 OSM OpenStreetMap 那对我会有帮助 由于这是用 Swift 标记的 我假
  • 如何获取OSM节点或路径的城市和国家?

    我正在解析 OSM 数据的国家 地区摘录 我想要的是获取该点或方式所属的城市和国家的名称 这可能吗 我怎样才能获取这些信息 要检索此信息 您需要地理编码器 除非该节点具有相关的地址标签 https wiki openstreetmap or
  • Veins 中汽车和行人之间的通信

    我想知道如何在 Veins 中创建汽车和行人之间的无线通信 V2P 感谢您的关注 Veins 允许为其从 SuMO 获得的车辆类型指定模块 静脉 多种车辆类型的多种应用 https stackoverflow com questions 4
  • 使用 OpenLayer3 显示标记、弹出窗口

    我试图了解如何使用 openlayers3 在 osm 地图上显示标记 弹出窗口 我在 ol3 网页上的示例中找到了示例 但是 是否有更多使用 javascript 或 jquery 编码标记 弹出窗口的示例 最好是类似的this http
  • 打开街道地图 (osmdroid) 在 PC 中显示灰色瓷砖而不是地图

    我正在使用 osmdroid 在我的应用程序中获取开放的街道地图 我已经使用所需的 jar osmdroid 构建了我的项目 并在清单中添加了所有需要的权限 但是当我尝试在 android 模拟器 adt eclipse 中调试我的应用程序
  • Leaflet:突然我收到此错误消息:无法加载资源:服务器响应状态为 403 ()

    突然我收到此错误消息 这对我来说很奇怪 因为我没有接触过地图部分 Failed to load resource the server responded with a status of 403 在寻找线索时 我发现了这个过时的信息 ht
  • 从 openstreetmap 获取城市边界

    我正在开发一个网站 我需要根据用户输入获取某个区域的所有边界 例如 用户想知道名为 x 的城市的边界 我应该如何从 openstreetmap 获取它 我听说过 xapi 和 osmosis 但在任何地方都找不到任何例子 谢谢 我在这里尝试
  • 检测 Android 中 OSM Mapview 是否仍在加载

    我已将 Open Street Maps 包含在我的 Android 应用程序中 在地图视图中 用户应该能够在地图完全加载后捕获屏幕 但目前 即使地图视图仍在加载 用户也可以捕获图像 有人可以告诉我如何检测地图视图何时完全加载吗 下面是我加

随机推荐