【问题标题】:Converting Veins Coordinates to GPS将静脉坐标转换为 GPS
【发布时间】:2016-02-03 09:08:53
【问题描述】:

我正在使用从 OpenStreetMap 导入的真实街道网络来模拟 Veins,例如来自 Lara Codeca 的 Luxembourg scenario。现在,为了准备可视化(使用 Google 地球),我想将模拟中的车辆位置从 SUMO 或 OmNET 坐标导出到 GPS 坐标。

作为材料,我有用于生成场景的 OSM 文件,包括那里所有节点的 GPS 位置。我希望找到从模拟坐标到 GPS 坐标的简单映射,例如,通过知道边界框和模拟操场角的 GPS 坐标。

有没有一种简单的方法来进行这种转换,如何找到 OSM 转换在生成 Playground 时使用的实际角?

【问题讨论】:

  • 如果您使用 netconvert 从 .osm 文件创建 .net.xml,网络将存储所用投影的详细信息。您可以通过在 GUI 模式下运行 SUMO 模拟来快速检查:如果投影信息可用,您应该在窗口的右下角看到鼠标指针的位置为 x/y 和 lon/lat。
  • @ChristophSommer 我只在 3e5/5.5e6 附近看到另一组 x/y,.net.xml 文件包含以下行: 这应该得到我开始了,我会检查 SUMO 文档。有没有办法使用 traci 从 SUMO 读取投影信息?
  • 您可能在没有 PROJ 或 GDAL 支持的情况下构建了 SUMO 二进制文件。 SUMO 将无法为您反转投影。我刚刚尝试运行 Veins 示例场景:至少对于这种场景,traci->getLonLat(mobility->getCurrentPosition()) 返回像 11.0313, 49.5739 这样的合理坐标
  • @mwil.me 你能解释一下你是如何进行可视化的吗?

标签: openstreetmap omnet++ veins


【解决方案1】:

转换工作如下:

1。从 OmNET 访问位置信息

// Adapt your path to the mobility module here  
Veins::TraCIMobility* mobility =
  check_and_cast<Veins::TraCIMobility*>(
    getParentModule()->getSubmodule("veinsmobility"));

Veins::TraCICommandInterface* traci = mobility->getCommandInterface();

Coord currPos = mobility->getCurrentPosition();
std::pair<double, double> currLonLat = traci->getLonLat(currPos);

getLonLat()为我返回了绝对二维坐标,所以需要一个转换步骤。

2。寻找转换

SUMO 的 .net.xml 文件包含所需的转换。 &lt;location&gt; 标记包含需要的属性netOffsetprojParameters

对于卢森堡场景,这些是

netOffset="-285448.66,-5492398.13"
projParameter="+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"

3。反转变换

PROJ.4 可用于进行反转。还提供 Python 接口 (pyproj)。

import pyproj

projection = pyproj.Proj(
  "+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")

# x, y obtained from OmNET
lon, lat = projection(x, y, inverse=True)

如果只有相对位置信息可用,则必须首先通过添加 netOffset 值来调整 x、y 值。

编辑

在构建 SUMO --with-proj-gdal 支持时只需要第一步,getLonLat() 的结果将立即为所需格式。

【讨论】:

  • 我能够从 OSM 地图创建一个 SUMO 网络,并且能够在 OMNet++ 上运行 Veins 模拟,但模拟游乐场不显示多边形形状。看到你已经解决了这个问题,如果你遇到过类似的问题,可以告诉我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-19
相关资源
最近更新 更多