
1. 用語の基礎
- TLS(Traffic Light System / Controller)
信号機を動かすコントローラ本体。1つのTLSが1つ以上の交差点を同時に制御できます。
InspectでJunctionを選ぶと出てくるtl
(ID) がそのコントローラ名。 - Phase(フェーズ/相)
「信号表示のパターン」をまとめたひと区切り。
例:相1=南北直進G・東西rを31秒、相2=南北yを3秒…のように並べます。
交通工学では青、黄、赤の3フェーズの1セットを1現示と呼ぶ。 - State(状態文字列)
フェーズごとに、各リンク(進行方向)へ与える信号色を文字で並べたもの。
よく使うのはこの4つ:G
… 青(優先。止まらず進める)g
… 青(譲り青。対向優先など、注意して進む)y
… 黄r
… 赤
- Link / Link Index(リンク/番号)
交差点のレーン間接続1本が1リンク。各リンクには番号がふられており、state
はその順に並べます。
表示:GUI右上の⚙アイコン → Junction表示 → show link tls index をオン。
2. かんたん操作
A. 交差点を「信号付き」にする
- Edit Traffic Lightモードに切り替える(ショートカットキー「T」)
- 信号を設置したい交差点をクリック
Createボタン → その交差点に信号が設定されます。

B. フェーズを作る・時間と色を入れる
1.まずExpandをクリックして右に表示を広げます。

2.一番左がフェーズの番号です。画面では0フェーズから3フェーズまであります。
(※デフォルトでは全赤時間が入っていないので、追加が必要です。。)
3.その右が「dur」つまりDuration、そのフェーズの秒数を表します。
4.その右がstate(状態文字列)です。「GGGggrrrrgGGgrrrr」というのが信号の色の表示内容です。
G … 青(優先。止まらず進める)
g… 青(譲り青。対向優先など、注意して進む)
y… 黄
r… 赤
変更する際はマップ上で進行方向の線(リンク)を右クリックして色を変えます。

5.フェーズを追加する場合は緑の+ボタン、フェーズを削除する場合は✕ボタン、順序を入れ替える場合は↑↓をクリックして順番を入れ替えます。

6.リンクをまとめてスッキリ(グループ化)
- Traffic LightsモードのGroup Signalsで、常に同じ表示にしたい複数リンクを束ねる。
→Stateの欄を見ると、同じ動きをするリンクが束ねられて、表示が短くなっています。
→Stateの一番下、Σ(シグマ)の行を見ると、Linksが13個あったのが、7個にまとめられて減っています。 - 解除は隣のUngroup Sig.をクリック。

7.最後は必ずSave!

3.【上級者編】センサー連動型(感応式)について
NetEditだけでは「固定サイクル」の信号しか編集できません。
しかし、SUMOのチュートリアルには 感応式(センサー連動型)信号 の方法が紹介されています。
設定ファイル(.add.xml)
テキストファイルに <tlLogic type="actuated">
を書いて保存し、SUMO実行時に追加ファイルとして読み込むと、検知器付きの感応式信号になります。
→ 車が続くと青を延長、途切れると切り替え、といった動きが再現できます。
(参考)設定ファイルは、メモ帳を使い、以下のコードをactuated.add.xmlなどのファイル名で保存します。
<additional>
<tlLogic id="TLS1" type="actuated" programID="P1" offset="0">
<param key="max-gap" value="3.0"/>
<param key="jam-threshold" value="30"/>
<phase duration="31" minDur="5" maxDur="45" state="GGggrrrrGGggrrrr"/>
<phase duration="3" state="yyggrrrryyggrrrr"/>
</tlLogic>
</additional>
TraCIによる制御
PythonなどからAPIを使い、シミュレーション中に直接フェーズを切り替えることも可能です。
→ 押しボタン式横断歩道や、夜間は点滅・昼間は通常動作、といった特殊な信号制御も表現できます。
など、まだ私は試したことが無いので、ニーズがあれば試してみてまたご紹介します。
以上、信号機の設定でした。
この設定の秒数ですが、皆さんどうしてますか?私は現地でストップウォッチで計ったりしました。ただし、時間帯によって秒数を変えているところが結構あるんですよね。コメントいただければ嬉しいです。
次回予告
いよいよ NetEdit 解説シリーズの最終回です。
テーマは 「横断歩道と交差点形状の変更」。
- 歩行者横断歩道の追加・削除・位置調整
- 交差点の角の丸み(radius)の変更
- ノード形状の調整で交差点を見やすく・リアルにする
- 実務でも重要な「歩行者動線」と「車の動線」の両立
今回までで学んだ「エッジ・レーン・信号」に加えて、
最後は 「人が渡る空間」と「交差点デザイン」 を整える操作を扱います。
NetEditの基本操作をひと通りマスターできる締めくくりになるはずです。
次回もお楽しみに!