【Vissim仿真--车辆轨迹可视化】

本文介绍了如何在Vissim中导出.trj文件,使用SSAM处理并转换为CSV,然后用Python对数据进行预处理,最后实现轨迹的可视化,展示了在高速公路施工段的模拟结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vissim仿真导出.trj文件

菜单栏–>Evaluation–>files–>勾选Export,如图所示。然后运行仿真,得到仿真文件同名的.trj文件。
在这里插入图片描述

SSAM软件处理.trj文件

.trj文件无法用文本编辑器打开,需要使用SSAM软件进行编辑,如图所示,添加.trj文件,勾选“输出txt格式的trj文件”,然后“分析”,即可以在同目录下找到“同名_data.csv”文件。
SSAM软件的下载地址:https://codeload.github.com/OSADP/SSAM/zip/refs/heads/master
在这里插入图片描述
在这里插入图片描述

python可视化轨迹

首先对数据进行处理,将前14行删除,然后列名中的所有空格替换成“_”,保存文件,如下图所示。
在这里插入图片描述
数据文件处理好了,下面编程进行可视化,代码如下。

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import random

path = "C:/Users/11613/Desktop/test_data5.csv"
data = pd.read_csv(path)

Timestep = data["Timestep"]
Vehicle_ID = data["Vehicle_ID"]
front_pos = data[["Front_X", "Front_Y"]]
rear_pos = data[["Rear_X", "Rear_Y"]]

data_row = data.shape[0]
data_col = data.shape[1]

color = ["white", "red", "yellow", "black", "green", "blue", "plum"]

for i in range(int(Vehicle_ID[data_row-1])):
    v = data[data["Vehicle_ID"] == i+1]
    v_arr = np.array(v)
    v_track_x = []
    v_track_y = []
    for m in range(v_arr.shape[0]):
        v_track_x += [v_arr[m][4], v_arr[m][6]]
        v_track_y += [v_arr[m][5], v_arr[m][7]]
    plt.plot(v_track_x, v_track_y, color=color[random.randint(1, 6)], linewidth=0.4)
plt.xlim(-95, 85)
plt.xticks(range(-95, 85, 2))
plt.yticks(range(-4, 5, 1))
plt.gca().set_aspect(1)
plt.axhline(y=0, ls='--', c='black')
plt.axvline(x=-15, ls='--', c='black')
plt.axvline(x=21, ls='--', c='black')
plt.axhline(y=-3.75, ls='-', c='black')
plt.axhline(y=3.75, ls='-', c='black')
# plt.savefig('C:/Users/11613/Desktop/1.jpg', dpi=5000)
plt.show()

我做的是高速公路施工段上游过渡区仿真,可视化结果如下。
在这里插入图片描述
感谢阅读!如果对您有帮助,麻烦点个赞哦!原创不易,感谢支持!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值