こぼれネット

なぜ MATSim では「実際の緯度・経度を使った network.xml のサンプル」がほとんど存在しないのか

MATSim の network.xml では、緯度・経度(WGS84)をそのまま使わず、投影座標(メートル単位)を使うことが原則だからです。

1. 根本理由:MATSim は「距離」と「速度」をメートル・秒で計算するため

MATSim のルーティング(移動距離、速度、リンク長、渋滞計算など)は
すべてメートル単位の直交座標を前提にしています。

緯度・経度を直接入れると、

という問題が起きます。

→ だから「WGS84 をそのまま network.xml に使う」ことは MATSim では非推奨。


2. 公式ツール(OSMImporter, MATSim-PT, Via)も “必ず投影変換してから” network.xml を出力する

MATSim の公式ツールはすべて、

よって、ユーザーが緯度・経度をそのまま見る機会がほぼありません。


3. 公式サンプルやチュートリアルも “投影座標前提”

MATSim のチュートリアルで使われるネットワークは、

など すべて投影座標です。

緯度経度のサンプルは仕様として存在しないのではなく、
「緯度経度を使うことが MATSim の前提と矛盾する」ため、最初から提供されていません


4. 緯度経度をそのまま使うと何が起きるのか

もし network.xml に緯度経度を直接書くと:

MATSim が正しく動きません。


5. では実際の緯度経度はどう処理すればよいか?

通常手順は次のとおりです:

(1) OSMの緯度経度 → 投影座標に変換

例:Fukuoka around Tenjin
→ EPSG: 3099 (JGD2011 / Japan Plane Rectangular CS XVI)

(2) network.xml はこの投影座標で作成

<node id="1" x="137000" y="503200"/>
<node id="2" x="137450" y="503800"/>

(3) 可視化するときだけ、QGISで WGS84に戻して表示する

内部計算は投影座標で、
可視化時だけ緯度経度で OK。


結論

MATSim の philosophy(内部計算仕様)として、network.xml は投影座標で作るのが前提のため、
「緯度経度そのままのサンプル」は存在しない。
存在しないのではなく、理屈上提供できない。

もしかしたら、MATSimって、OSMとの相性がめちゃくちゃに悪くないか? いずれにせよ、

今日一日の努力が全くの無駄であったことが判明した・・・心底、疲れた。

誰が悪いって、ChatGPTが悪い。やつが、緯度・経度版の、network.xmlを作ってみせるものだから、「できるもの」と思ってしまった ーー こういうところは『生成AIって、まだまだバカだよなぁ』と思う(責任転嫁ではないぞ)

モバイルバージョンを終了