TraaS#
Caution
TraaS 不再维护。请改用 java bindings for libtraci 或 libsumo。
TraaS 是一个用于使用 TraCI 的 java 库。名称 TraaS 代表 TraCI as a Service。它由 Mario Krumnow 开发,并使用了现已停止开发的 Enrico Gueli 的 TraCI4J 项目的代码。从 1.0 版本开始,TraaS 在 SUMO 代码库的 <SUMO_HOME>/tools/contributed/traas 中进行维护。
TraaS 提供了以下三个部分,将在下文中解释。
- 一个 java traci 客户端,可用于直接编写 TraCI 脚本
- 一个 Web 服务,可用于以语言无关的方式将多个 Web 服务客户端连接到正在运行的 TraCI 实例。
- 一个 Web 服务客户端
与原生 TraCI 多客户端支持 相比,TraaS 不需要预先知道客户端的数量。它也不能对客户端命令执行施加任何顺序,这使得客户端同步需要在用户端进行管理。
Java 客户端#
该客户端提供的函数名称和签名与 python 客户端 相同。一个主要区别是,方法返回值必须在调用代码中进行强制类型转换:
double timeSeconds = (double)conn.do_job_get(Simulation.getTime());
示例#
示例必须使用以下命令编译:
javac -cp sumo/bin/TraaS.jar ExampleName.java
编译后,可以使用以下命令运行:
java -cp .:sumo/bin/TraaS.jar ExampleName
插入车辆并访问感应线圈数据#
<SUMO_HOME>/tests/complex/traas/simple/data/Main.java
连接多个客户端#
<SUMO_HOME>/tests/complex/traas/multiclient/data/MultiClient1.java
<SUMO_HOME>/tests/complex/traas/multiclient/data/MultiClient2.java
订阅变量#
<SUMO_HOME>/tests/complex/traas/subscription/data/Subscription.java
在模拟运行期间生成截图#
更改 TLS 程序#
获取 CO2 排放量#
Webservice#
Webservice 客户端#
文档#
TraaS 的 JavaDoc 可以在 https://sumo.dlr.de/javadoc/traas/ 找到。
构建 TraaS#
文件 <SUMO_HOME>/bin/TraaS.jar 包含在每个 SUMO 版本中。要在本地构建 TraaS,需要 Apache Maven。要构建,只需在 traas 文件夹中调用 mvn package,或者在配置了 cmake 构建的情况下调用 make traas。
