― 自動に経路探索する場合とルート指定して走らせる場合 ―
交通シミュレーションSUMOにおける車両の経路指定には、大きく分けて2通りの方法があります。
- 起点と終点を指定して、自動で最短経路を計算して走行させる(自動経路探索)
- あらかじめ決めたルートを走行させる(明示ルート指定)
NetEditの「Routeモード」と「Route Distributionモード」は、この2つ目の「明示ルート指定」に対応する機能です。
でも、実際には1.の自動経路検索でシミュレーションすることが多いです。
最短ではない経路を指定したいときや、バス路線など固定路線などを指定して、指定したルート通りを走らせるためのルート設定モードです。
Routeモード

概要
Routeモードは、ネットワーク上でクリックしてルートを作成するシンプルな機能です。
- 始点から終点まで、通過するエッジを順番に選択
- Enterキーで確定、ESCキーでキャンセル

左側のパネル(属性エディタ(Attributes Editor))の設定
Route mode

non-consecutive edges は、途中の接続がないエッジを含めたり、始点と終点のみを指定したりできる自由度の高いモードですが、経路の不整合やルートファイルのエラーのリスクもあります。
consecutive edges は、ネットワーク上で物理的に隣接してつながった道を順番に選んでルートを作成するモードです。経路が途中で離れていないため、シミュレーション中の不整合が少なくなります。

Routeパネルの2番目のドロップダウンは、ルートを走行する車両クラス(vClass)を設定する部分です。ここで『passenger』『bus』『pedestrian』などを選ぶことで、そのルートを走れる車種や交通規制の扱いが決まります。
Internal attributes

「Internal attributes」ではルートの基本的な属性を設定します。
- id:ルートの識別子
- color:GUIでの表示色
- repeat:ルートの繰り返し回数(0なら1回のみ)
- cycleTime:ルートをサイクル的に繰り返す場合の時間設定(秒)
Parameters

「Parameters」セクションでは、ルートに対して任意のパラメータ(key–value 形式)を付与できます。これはSUMO本体が直接使うものではなく、ユーザーやスクリプトが独自に利用するための拡張情報です。例えば priority=high
などと書いておけば、後で解析や制御時にタグ付けのように活用できます。
Netedit attributes

これは外部のルートファイルを参照するためのものですが、現時点では公式ドキュメントの説明も少なく、使い方もよくわかりません。
Route creator

Route creator の表示内容
- Selected edges
いままでにクリックして選択したエッジ(道路リンク)の数。
→ どのくらい選択しているかを確認できます。 - Path edges
実際にルートに含まれているエッジの数。
→ Selected edges との違いは「候補として選んだけれど経路に繋がらなかった」場合に出ます。 - Length
現在のルートの全長(メートル単位)。
→ ルート距離を大まかに把握できます。 - Average speed
選択されたルート上のエッジの制限速度を平均したもの(km/h)。
→ シミュレーション上で想定される走行スピードの目安になります。
操作用ボタン
- Finish route creation
選択中のエッジ列をルートとして確定します。
→ 押すと<route>
が生成され、IDを入力して保存できます。 - Abort route creation
ルート作成を中断します。
→ 選択していたエッジはキャンセルされます。 - Remove last edge
直前に選択したエッジを取り消します。
→ クリックミスしたときに便利。
表示オプションとショートカット
- Show candidate edges
チェックを入れると、次に選択できる候補エッジが色付きで表示されます。
→ ルートの分岐先が視覚的に分かるので、基本的にはオン推奨。 - SHIFT-click: ignore vClass
車両クラス(vClass)の制限を無視してエッジを選べます。
→ 例えば「歩行者専用道路に passenger 車両を通す」など。検証用に利用。 - CTRL-click: force add
通常は繋がっていないエッジでも強制的に追加できます。
→ ネットワーク修正中や特殊ルートの作成に使用。 - BACKSPACE: undo click
最後に選択したエッジを取り消します。
→ Remove last edge ボタンと同じ機能ですが、キーボードショートカットなので素早く操作できます。
Route Distributionモード

概要
routeDistribution
は SUMO の公式チュートリアルによると、ルートファイル( .rou.xml)
に含まれる正式な構文であり、複数のルートを確率で割り当てて選ばせる機能である。と書いてあります。が、、

まだ不完全な機能か
色々試してみましたが、どうにも動きません。私のバージョンはNetEdit1.24.0です。
XMLファイルを手書きで修正して、強引に設定をしてみたりも試してみましたが、読み込むとエラーで強制終了してしまいます。結果、よくわかりません。
今後の改善に期待
SUMOは今も活発に開発が進んでいるプロジェクトです。
公式フォーラムや開発者の発言でも、GUIサポートの強化やPerson/Flowとの連携強化が検討されています。
将来的にはNetEditで直感的に操作できるようになることを期待しましょう。
おわりに
ルートを作っただけでは車は走らない?
ここまででルートの作成方法を見てきましたが、ひとつ注意点があります。
ルートを設定しただけでは、まだ車両は走りません。
あくまでも「この道順を使いますよ」と指定しただけの状態です。
実際に車を走らせるには、次のステップである Vehicleモード に進みます。
ここで作ったルートを、車両やフローに割り当てることで、初めてシミュレーション上で車が動き出します。
👉 ということで、次回は 超重要モード「Vehicleモード編」
作成したルートをどのように車に割り当てて動かすのか、実際に走るシーンを見られるようになります。
どうぞお楽しみに! 🚗💨