以下のMATSimのplans.xmlの内容を説明して下さい。
以下のMATSimのplans.xmlの内容を説明して下さい。
<?xml version="1.0" ?>
<!DOCTYPE plans SYSTEM "http://www.matsim.org/files/dtd/plans_v4.dtd">
<plans xml:lang="de-CH">
<person id="1">
<plan>
<act type="h" link="1" end_time="06:00" />
<leg mode="car">
</leg>
<act type="w" link="10" dur="00:00:10" />
<leg mode="walk">
</leg>
<act type="w" link="11" dur="00:00:05" />
<leg mode="car">
<!-- ここは書かない(MATSim に任せる) -->
</leg>
<act type="h" link="11" />
</plan>
</person>
<person id="2">
<plan>
<act type="h" link="10" end_time="06:00" />
<leg mode="car">
<route> </route>
</leg>
<act type="w" link="11" dur="00:00:10" />
<leg mode="walk">
<route> </route>
</leg>
<act type="w" link="100" dur="00:00:05" />
<leg mode="car">
<!-- ここは書かない(MATSim に任せる) -->
</leg>
<act type="h" link="11" />
</plan>
</person>
</plans>
以下は、提示された MATSim の plans.xml の内容を、構造・意味・挙動の3点から整理して説明する。
1. ファイル全体の位置づけ
-
person
→ エージェント(個人) -
plan
→ その人の1日の行動シーケンス -
act(activity)
→ 滞在行動(自宅、職場など) -
leg
→ 活動間の移動 -
act と leg は必ず交互に出現する
3. person id="1" の行動計画
(1) 最初の自宅活動
<act type="h" link="1" end_time="06:00" />
-
type="h"
→ home(自宅) -
link="1"
→ network.xml の link id=1 上で活動 -
end_time="06:00"
→ 06:00 に出発
(2) 自宅 → 職場(車)
<leg mode="car">
</leg>
-
移動手段:
car -
<route>が書かれていない
→ MATSim が network.xml と travel time を使って経路を自動生成
(3) 職場活動①
<act type="w" link="10" dur="00:00:10" />
-
type="w":work(職場) -
link="10" -
dur="00:00:10"
→ 10秒だけ滞在 -
end_timeではなくdurが指定されている点に注意
→ 開始時刻+滞在時間で終了時刻が決まる
(4) 徒歩移動
<leg mode="walk">
</leg>
-
徒歩移動
-
経路は MATSim が内部で処理
(多くの場合、距離÷歩行速度の単純計算)
(5) 職場活動②(短時間)
<act type="w" link="11" dur="00:00:05" />
-
別リンク(11)での職場活動
-
滞在時間は 5秒
(6) 再び車移動(経路指定なし)
<leg mode="car">
<!-- ここは書かない(MATSim に任せる) -->
</leg>
-
車移動
-
経路は再計算対象
-
replanning が有効なら、反復ごとに経路が変わりうる
(7) 帰宅
<act type="h" link="11" />
-
自宅活動(終了時刻なし)
-
シミュレーション終了まで滞在
4. person id="2" の行動計画の特徴
person 2 は、person 1 と似ているが、route タグが明示的に存在する点が重要。
(1) 車移動(空の route)
<leg mode="car">
<route> </route>
</leg>
-
<route>タグは存在するが中身は空 -
この場合:
-
初期状態では意味のある経路情報はない
-
MATSim は 初回の routing で上書きする
-
-
実質的には
<route>を書かない場合とほぼ同等
(2) 徒歩移動(空 route)
<leg mode="walk">
<route> </route>
</leg>
-
徒歩でも route を書けるが、
-
多くのケースで MATSim は 詳細なリンク列を保持しない
-
travel time は内部計算
-
(3) 行動リンクの違い
<act type="w" link="100" dur="00:00:05" />
-
person 1 とは異なるリンク構成
-
network 上での空間的な差異を与えている
5. この plans.xml が意味する「本質」
(1) これは OD を完全に固定した計画ではない
-
出発時刻・滞在時間・モードは指定されている
-
しかし:
-
経路(link 列)は未確定
-
travel time はシミュレーション中に決定
-
(2) walk leg の扱い
-
多くの場合:
-
network を厳密に辿らない
-
link ベースの距離計算 or 直線近似
-
-
そのため:
-
正確な歩行経路ログは events.xml に残らないことが多い
-
(3) RCM / 共時空間解析への影響
-
act の
linkとtimeは明示されている
→ 滞在の共時性は評価可能 -
leg(特に walk)の詳細な軌跡は失われやすい
→ 移動中の「出会い」解析には不向き
6. まとめ(要点)
-
この plans.xml は
「行動の骨格だけを与え、移動の詳細は MATSim に委ねる」 設計 -
routeを書かない/空にするのは一般的 -
車移動はネットワークに基づくが
徒歩移動は簡略化される -
接触機会を「活動滞在ベース」で評価する用途向き
-
移動中の微細な接触解析には構造的制約がある