TraceExporter

概述#

traceExporter.py 用于将 SUMO 的 fcd 输出 转换和过滤为不同的“轨迹文件”格式:OMNET、Shawn、ns2/ns3、PHEM。

  • 目的: 轨迹文件转换/生成
  • 系统: 可移植(已在 Linux/Windows 上测试);在命令行运行
  • 输入(必填): SUMO fcd 输出
  • 输出: 一个或多个“轨迹文件”及其他补充文件
  • 编程语言: Python

简介#

不同的应用程序读取“车辆轨迹”,即主要包含随时间变化的车辆位置的文件。 traceExporter.py 通过将 SUMO 的 fcd 输出 转换为几种受支持的格式来生成此类文件。可以生成以下文件,按应用程序分类:

  • OMNET: 移动性轨迹 (.xml)
  • Shawn: 快照文件 (.xml)
  • ns2/ns3: 轨迹文件、活动文件和移动性文件 (均为 *.tcl)
  • PHEM: .dri 文件、.str 文件、.fzp 文件、.flt 文件
  • GPSDAT csv 轨迹 (id,date,x,y,status,speedKMH)
  • GPX
  • KML
  • Kepler-JSON
  • IPG 轨迹 (实验性)
  • SSAM 轨迹
  • POI (可在 sumo-gui 中可视化 GPS 失真和采样)
  • fcd 输出 (用于将文件限制在特定区域或时间间隔)

安装#

traceExporter.py 随 SUMO 一起提供,位于 <SUMO_HOME>/tools/ 目录下。必须安装 Python。

使用说明#

您可以使用如下命令将给定的 fcd 输出 转换为特定格式:

traceExporter.py --fcd-input myFCDoutput.xml --omnet-output myOMNETfile.xml

在上面的例子中,将为 OMNET 构建一个文件。

下面将描述命令行选项。

输入选项#

traceExporter.py 通常只需要 fcd 输出 作为输入。在某些情况下,必须提供获取 fcd 输出 时使用的网络。 如果所需的输出需要额外的文件(如网络),但未指定此类文件,traceExporter.py 会给出错误消息。定义输入文件的选项如下:

选项 描述
--fcd-input <FILE>
-i <FILE>
要转换的 fcd 输出文件(如果给定数值,则解释为要监听的端口)
--net-input <FILE>
-n <FILE>
使用的网络文件;主要用于导出网络

所有只需读取一次输入的输出都支持从套接字读取。为此,只需提供一个数字作为文件名,脚本将打开一个端口进行监听。之后,您可以启动 sumo 并将相应的端口作为输出,例如:traceExporter.py --fcd-input 43214 ... 后面需要跟上 sumo --fcd-output localhost:43214。这至少适用于 OMNET、Shawn、GPSDAT、GPX、POI 和 fcd 过滤。

输出选项#

以下是 traceExporter.py 的输出选项,按应用程序分类。

PHEM#

选项 描述
--dri-output <FILE> 生成名为 <FILE> 的 PHEM .dri 文件
--str-output <FILE> 生成名为 <FILE> 的 PHEM .str 文件;注意,必须使用 --net-input 选项提供仿真期间使用的 SUMO 网络
--fzp-output <FILE> 生成名为 <FILE> 的 PHEM .fzp 文件
--flt-output <FILE> 生成名为 <FILE> 的 PHEM .flt 文件

OMNET#

选项 描述
--omnet-output <FILE> 生成名为 <FILE> 的 OMNET 移动性轨迹

Shawn#

选项 描述
--shawn-output <FILE> 生成名为 <FILE> 的 Shawn 快照文件

ns2/ns3#

选项 描述
--ns2config-output <FILE> 生成名为 <FILE> 的 ns2 配置文件
--ns2activity-output <FILE> 生成名为 <FILE> 的 ns2 活动文件
--ns2mobility-output <FILE> 生成名为 <FILE> 的 ns2 移动性文件

GPSDAT#

选项 描述
--gpsdat-output <FILE> 生成名为 <FILE> 的 GPSDAT 文件

GPX#

选项 描述
--gpx-output <FILE> 生成名为 <FILE> 的 GPX 文件

PoI#

选项 描述
--poi-output <FILE> 生成名为 <FILE> 的 SUMO PoI 文件

KML#

选项 描述
--kml-output <FILE> 生成名为 <FILE> 的 KML 文件

IPG#

选项 描述
--ipg-output <FILE> 生成名为 <FILE> 的 IPG 文件

SSAM#

选项 描述
--trj-output <FILE> 生成名为 <FILE> 的 SSAM 轨迹文件
--trj-veh-width <FILE> 用于轨迹生成的车辆宽度
--trj-veh-length <FILE> 用于轨迹生成的车辆长度

fcd#

选项 描述
--fcd-filter <FILE> <FILE> 读取过滤设置
--fcd-filter-comment <STRING> 包含在 fcd 文件中的额外注释
--fcd-filter-type <STRING> 将所有写入车辆的车辆类型修改为 <STRING>

过滤文件是一个简单的 csv 格式,给出 begin;end;bounding_box;outfile,其中 bounding_box 是 x1,y1,x2,y2,定义了要提取区域的左下角和右上角。坐标格式需要与输入格式匹配(因此如果输入具有地理坐标,则边界框也需要具有地理坐标)。目前无法为不同的过滤行指定相同的输出文件。

过滤文件示例:

0;50;500,400,600,500;out.xml
50;100;550,450,600,500;out2.xml

处理选项#

有几个选项可以微调处理过程。

选项 描述
--persons <BOOL> 是否在轨迹中包含行人;默认值:False
--penetration <FLOAT> 0 到 1 之间的浮点数,定义车辆包含在输出中的概率;默认值:1
--gps-blur <FLOAT> 定义在导出车辆位置之前应用的随机偏移量的浮点数;默认值:0
--boundary <FLOAT>,<FLOAT>,<FLOAT>,<FLOAT> 将边界框定义为 'xmin,ymin,xmax,ymax'
--delta-t <TIME>
-d <TIME>
定义时间采样,如果给定;仅导出每个 <TIME> 时间步长。
--begin <TIME>
-b <TIME>
<TIME> 之前的时间步长不导出。
--end <TIME>
-e <TIME>
<TIME> 之后的时间步长不导出。请注意,此处已知存在一些问题。
--seed <INT>
-s <INT>
要使用的随机数生成器种子。
--base-date <INT>
-s <INT>
自纪元(1970-01-01 00:00:00)以来的秒数为基准的日期,默认为当前本地时间。

附加选项#

选项 描述
--help
-h
显示帮助屏幕。

另请参阅#

Seventh Framework Programme COLOMBO project SUMO 的这一部分是在 "COLOMBO" 项目中开发、重构或扩展的,该项目由欧盟委员会在 第七框架计划 内共同资助。