我创建了一个SUMO模拟,包括一个城市的小地图和一些围绕该地图行驶的车辆.
此外,我有一个空的Android项目,其中初始化了Google地图.在应用开始时,它只显示以该城市为中心的Google地图.
现在,我想将每辆车的遥测数据转发到我的Android应用程序.什么是最简单的方法?
我想在我的地图上看到一些漂浮的标记……
我已经阅读了关于TraCI在模拟过程中进行交互的内容,但我没有成功让它运行.
解决方法:
通过阅读SUMO page,它表示它以xml格式生成输出文件,并且使用python可以将这些文件转换为csv文件.
这两种格式可以被大多数编程语言解析,以提取您想要显示的值或作为您想要处理和显示的内容的输入.
您可以通过Web服务器将信息提供给移动应用程序作为web服务,例如可以在php,java或asp中完成.
为了使网络服务器能够传递信息,它必须提供数据.这可以通过以下方式完成:
>预处理生成的SUMO文件,并使用该文件将新文件上传到Web服务器
数据显示已准备好.在这种情况下,您可以选择生成JSON格式的文件,这些文件更易于使用,或保留XML / CSV格式.
>或直接上传原始文件(XML / CSV)并在服务器上安装Web应用程序
处理信息并提供结果.处理可以通过服务器上的某个cron作业自动执行,也可以作为您必须构建的webservice api的一部分手动触发.
在这两种情况下,您都可以使用服务器上的数据库来存储数据,并可能提供一些历史记录功能.在这里你应该看看如何使用数据,如果它只是为了下载熟食信息,也许像mongo db这样的No SQL数据库比传统的关系数据库如mysql更好,提到两个选项.
使用一些安全的ftp工具可以手动或自动上传文件.
对于地图上的标记,即移动应用程序侧的标记.这可以通过Google Maps API轻松实现.网络服务器所需的信息只是标记的纬度和经度.它也可以从一个地址完成,但在这种情况下,有一个额外的步骤将其解码为lat和long.