参考文件类型 | 相关描述 |
---|---|
由 NETGENERATE 或 NETCONVERT 构建的SUMO网络文件 SUMO network file | |
由 DUAROUTER 或 JTRROUTER 或 手工建立 的SUMO路由文件 SUMO routes file | |
SUMO边缘类型文件 SUMO edge type file,手动构建或下载 | |
从 OpenStreetMap 导出的 OpenStreetMap 文件 |
参考Installing
SUMO由许多用于不同模拟任务的独立程序组成。只有程序sumo-gui.exe SUMO-GUI 具有图形用户界面(GUI)。 其他程序必须从命令行调用。
首先,必须打开命令行。在Windows上,启动“cmd.exe”,出现一个黑色的窗口,即命令行。
命令行允许通过键入程序名称后跟程序选项来启动程序。由于这可以自动化,因此对于重复性任务可能比使用GUI更舒适。命令看起来像这样
netconvert --node-files=hello.nod.xml --edge-files=hello.edg.xml --output-file=hello.net.xml
这里netconvert是程序的名称,其余的命令设置了该程序的选项。
方法一(start-command-line.bat):
在下载的SUMO文件夹中,有一个目录bin。 该目录包含名为 start-command-line.bat 的批处理文件,该批处理文件启动命令行并确保您可以执行SUMO程序。
1)双击执行 start-command-line.bat
2)使用命令cd(更改目录)导航到包含配置和网络文件的目录
3)输入一个命令,如下
netconvert --node-files=hello.nod.xml --edge-files=hello.edg.xml --output-file=hello.net.xml
方法二(命令行):
要使用命令行,请执行以下步骤
1)开始 - >运行,键入cmd并按Enter键。
2)使用命令cd(更改目录)导航到包含配置和网络文件的目录
3)输入一个命令,如下
netconvert --node-files=hello.nod.xml --edge-files=hello.edg.xml --output-file=hello.net.xml
如果您收到错误,如 command not found 您的计算机不知道去哪里找 netconvert.exe
如果SUMO版本的文件位于C:\ sumo-0.12.2您可以输入netconvert.exe的完整路径,如下所示:
C:\sumo-0.12.2\bin\netconvert --node-files=hello.nod.xml --edge-files=hello.edg.xml --output-file=hello.net.xml
如果您觉得这种方式比较麻烦,但要从命令行轻松运行程序,您必须配置PATH变量、SUMO_HOME变量。许多工具都需要将 环境变量SUMO_HOME 设置为sumo安装的基本目录,即包含文件夹bin和tools的目录。操作如下:
右键单击“我的电脑”,然后单击“属性”。
单击“高级”选项卡。
单击环境变量。
在用户变量下选择PATH,然后单击编辑。如果不存在此类变量,则必须使用New-Button创建它
将 C: \Program Files\sumo-1.0.1\bin 附加到PATH值的末尾(不要删除现有值!)
在用户变量下选择SUMO_HOME,然后单击编辑。如果不存在此类变量,则必须使用New-Button创建它。
将 C: \Program Files\sumo-1.0.1 设置为SUMO_HOME变量的值
注意:用您的sumo目录替换 C: \Program Files\sumo-1.0.1
SUMO应用程序是普通的可执行文件。 只需从命令行键入其名称即可启动它们。例如,程序NETGENERATE在windows下被调用,如下:
netgenerate.exe
这只是启动应用程序。 由于没有给出参数,应用程序不知道该怎么做,只打印自己的信息:
每个应用程序都有一组程序选项,用于定义应处理或生成哪些文件、或定义应用程序行为的选项。 通常,应用程序至少需要两个参数: 输入文件和输出文件,但总是有更多参数用于细粒度控制。 每个应用程序的选项都在应用程序的描述中进行了描述。
SUMO相关Option
在命令行上设置选项
在命令行中设置参数选项由两部分组成:选项名称、选项的值。 例如,如果想要模拟加载某个道路网络“mynet.net.xml”,则必须编写以下内容:
–net mynet.net.xml
前面的 “–” 表示该选项的名称是紧随的 “net” 。 在空格之后,必须给出选项的值。 也可以使用’=’ 代替空格:
–net=mynet.net.xml
一些经常使用的选项可以缩写。 –net 的缩写是 -n。 以下与上述两个示例具有相同的效果:
-n mynet.net.xml
请注意:缩写用单个“ - ”表示,非缩写用两个“-”即“–”表示。
由于选项列表可能会很长,因此引入了配置文件。
可以设置一个配置文件,其中包含要启动应用程序的所有参数。您必须使用此配置文件启动应用程序。
配置文件是具有名为configuration的根元素的XML-file。
选项写为元素名称,所需值存储在 value(或v)中;
例如,命令行中给出的选项 –net-file test.net.xml 将在配置文件中变为 net-file value =“test.net.xml”/
对于上面的示例,配置文件(test.sumocfg)如下所示:
<configuration>
<input>
<net-file value="test.net.xml"/>
<route-files value="test.rou.xml"/>
<additional-files value="test.add.xml"/>
input>
configuration>
一个不那么冗长但等效的版本如下:
<configuration>
<n v="test.net.xml"/>
<r v="test.rou.xml"/>
<a v="test.add.xml"/>
configuration>
相应的SUMO执行调用:
sumo.exe -c test.sumocfg
这意味着我们只需要使用选项 –configuration-file 或 -c 来代替参数。如果您不想在命令行上提供其他选项,则可以省略“-c”:
sumo.exe test.sumocfg
配置文件的命名约定
根据目标应用程序,配置文件具有不同的扩展名。对于使用SUMO-GUI的仿真配置只能读取名为 * .sumocfg 的仿真配置。
配置文件 vs 命令行参数
除了配置文件之外,还可以在命令行上给出进一步的命令行参数。
如果在配置文件中设置参数的同时,也在命令行上给出了参数,则使用命令行上给出的值(覆盖配置文件中的值)。如果要禁用配置文件中启用的布尔选项,则需要在命令行上显式给出“false”值,如–verbose false
由其中一个SUMO应用程序写入的文件会自动接收适当的模式声明。 从头开始编写输入文件时,必须手动将模式声明添加到根元素,如下所示:
其中 ROOT_ELEMENT 和 SCHEMA_FILE 应根据下表进行设置:
可以在SUMO安装的
否则,文件将从 http://sumo.dlr.de/xsd/SCHEMA_FILE 加载,这可能会降低应用程序的速度(如果没有Internet连接,则会失败)。
各种官方案例教程参考Tutorials,包括初学者教程案例、高级教程案例、TraCI教程案例等。