计算机技能

简介#

使用 SUMO 需要一些基本的计算机技能(由于 Linux 用户可能已经熟悉这些,所有说明均针对 MS-Windows):

使用 文本编辑器#

SUMO 需要配置文件和数据文件才能正确执行。这些文件可以使用文本编辑器创建和编辑。

在 Windows 上,您可以通过以下方式打开基本的文本编辑器:

开始 -> Windows 附件 -> 记事本

或者按 Win + R 键并输入 notepad

记事本是一个非常基础的文本编辑器。您可以切换到功能更多的编辑器来提高舒适度和工作效率。考虑使用 Notepad++vim,也可以查看此文本编辑器比较

Note

SUMO 使用的文件通常以 .xml.sumocfg 变体结尾(这些称为文件扩展名)。在 Windows 资源管理器中双击可能不会打开您喜欢的文本编辑器。请从文本编辑器内部打开文件,或者学习如何更改文件关联。

使用文件和文件夹#

要处理 SUMO 所需的各种文件,您必须能够在文件系统上找到它们。初学者可以在此处此处此处学习如何使用 Windows 资源管理器。

从命令行运行程序#

SUMO 由许多独立的程序组成,用于执行不同的模拟相关任务(所有独立程序的参考可以在此处找到,附加工具列表在此处)。只有 sumo-gui (sumo-gui.exe) 和 netedit (netedit.exe) 具有图形用户界面 (GUI)。所有其他程序都必须从命令行调用。

首先,您必须打开命令行。在 Windows 上,您必须启动 "cmd.exe"(开始 -> Windows 系统 -> 命令提示符)。您也可以按 Win + R 键并输入 cmd,或者在任务栏的 Windows 搜索框中搜索 cmd

应该会出现一个黑色窗口。这就是您的命令行。从版本 0.12.3 开始,您也可以双击文件 start-command-line.bat(另请参阅下文)以打开设置了有用环境变量的命令行(它可以在与所有其他 sumo 可执行文件相同的文件夹中找到)。使用 Linux 时,您必须启动终端(如 xterm)。

命令行允许您通过键入程序名称后跟程序选项来启动程序。由于这可以自动化,对于重复性任务,它可能比使用 GUI 更方便。命令如下所示:

netconvert --node-files=hello.nod.xml --edge-files=hello.edg.xml --output-file=hello.net.xml

这里 netconvert 是程序的名称,命令的其余部分为该程序设置选项。

以下 GIF 显示了命令行执行(这是一个非常基础的 sumo 模拟):

以下部分应足以让您开始使用 SUMO。有关命令行的更多信息,请参阅基础/使用命令行应用程序。也可以查看此处

SUMO 0.12.3 及更高版本#

在您的 SUMO 发布版(您下载的所有 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

然后按 enter

SUMO_HOME#

许多工具需要将环境变量 SUMO_HOME 设置为 sumo 安装的基本目录。这是包含 bintools 文件夹的目录。设置环境变量的方法如下所述。

Note

此变量也用于查找用于输入验证的 xsd 模式文件。如果未设置该变量,模式文件将从互联网下载,如果服务器 sumo.dlr.de 不可访问,这可能会失败。

配置路径设置#

为了从命令行舒适地运行程序,您必须配置 PATH 变量和 SUMO_HOME 变量。

Windows#

Note

如果您通过 Windows 的 .msi 安装程序文件安装了 SUMO,这会自动完成。

  1. 在 Windows 搜索框(在任务栏上)中搜索 environment。最佳匹配结果应为“编辑系统环境变量”选项。打开它。
  2. 应出现一个小窗口。在用户变量下选择 PATH(或 Path - Windows 环境变量不区分大小写)并点击编辑。如果不存在此类变量,必须使用新建按钮创建它。
  3. ;C:\Program Files\sumo-1.25.0\bin 附加到 PATH 值的末尾(不要删除现有值!)
  4. 用户变量下,现在选择 SUMO_HOME 并点击编辑。如果不存在此类变量,必须使用新建按钮创建它。
  5. C:\Program Files\sumo-1.25.0 设置为 SUMO_HOME 变量的值。

Note

C:\Program Files\sumo-1.25.0\ 替换为您的 sumo 目录。

Caution

您必须关闭并重新打开任何现有的命令行窗口,以使新的变量设置生效。

Linux#

临时解决方案#

要临时设置环境变量,可以在终端中使用以下命令:

export SUMO_HOME="/your/path/to/sumo/"

这将设置环境变量,供您在当前 shell 会话中启动的任何程序或脚本使用。这不会影响任何其他 shell 会话,并且仅在您结束会话之前有效。

Note

/your/path/to/sumo/ 替换为您的 sumo 目录。

永久解决方案#

要永久设置环境变量,请按照以下步骤操作:

  1. 打开您选择的文件资源管理器并转到 /home/YOUR_NAME/
  2. 使用您选择的文本编辑器打开名为 .bashrc 的文件。(您可能必须在文件资源管理器中启用显示隐藏文件)
  3. 将代码 export SUMO_HOME="/your/path/to/sumo/" 放置在文件中的某处并保存。(不要删除任何现有内容!)
  4. 重新启动计算机。(或者,注销您的帐户并重新登录。)

环境变量现在将被您使用当前用户帐户从命令行启动的任何程序使用。

Note

YOUR_NAME 替换为您的用户名;将 /your/path/to/sumo/ 替换为您的 sumo 目录。

使用预打包版本的 SUMO#

当使用包管理器(即 apt)附带的 sumo 版本时,SUMO_HOME 变量必须设置为工具文件夹的基本路径。在 Ubuntu 上,这是:

/usr/share/sumo

macOS#

首先,您需要确定您当前正在使用哪个 shell(bashzsh)。在终端中,键入 ps -p $$(这应该可以让您在 CMD 下看到您正在使用的 shell)。macOS Catalina 中的默认 shell 是 zsh

针对 ZSH#

在终端中,执行以下步骤:

open ~/.zshrc

这将在 TextEdit 中打开 .zshrc 文件。将以下行添加到该文档中:

export SUMO_HOME="/your/path/to/sumo"

确保将 /your/path/to/sumo 替换为您指向 sumo 的实际路径。 在 TextEdit 中保存该文档。现在您需要通过输入以下命令来应用更改:

source ~/.zshrc

在终端中。您完成了!要测试环境变量是否设置正确,可以将其打印到终端:

echo $SUMO_HOME

您应该能够在那里获取最近添加的路径。

针对 Bash#

在终端中,执行以下步骤:

open ~/.bash_profile

这将在 TextEdit 中打开 .bash_profile 文件。将以下行添加到该文档中:

export SUMO_HOME="/your/path/to/sumo"

确保将 /your/path/to/sumo 替换为您指向 sumo 的实际路径。 在 TextEdit 中保存该文档。现在您需要通过输入以下命令来应用更改:

source ~/.bash_profile

在终端中。您完成了!要测试环境变量是否设置正确,可以将其打印到终端:

echo $SUMO_HOME

您应该能够在那里获取最近添加的路径。

使用命令行的技巧#

复制和粘贴#

标准的复制和粘贴热键在命令行中不起作用。您可以通过右键单击命令行窗口来访问用于复制/粘贴的编辑菜单。为了增加便利性,您还可以右键单击命令行窗口的标题栏并选择属性。然后在选项选项卡下选中快速编辑模式复选框。现在,您可以使用鼠标左键选择文本,并使用右键单击进行复制。另一个右键单击用于粘贴复制的文本。

重复之前的命令#

箭头按钮可以让您浏览先前输入的命令的历史记录。您可以编辑这些命令,或者只需按回车键再次执行它们。