路線バス運転シミュレータ開発記

OMSIを使って路線バスの運転シミュレータを製作しています。備忘録的にゆるーく書いていきたいと思いますので、お付き合いいただければ幸いです。

道路の配置

地形データを生成出来たら、次は道路の配置です。道路を配置すればこれを基準としてバス停や沿道の建物をどの辺りに置くか決めることができます。しかし、地形だけを基準に道路を配置するというのは難しいので、地図と地形を対比させて距離感をつかみながら作成するという方法も考えられますが、これでも実在の路線を再現するには実用的ではないと思います。
そこで、OMSIの地形タイルが1つ300m×300mのサイズであることに着目して、地図画像をテクスチャとしてそこに貼り付け、それをトレースするように道路を配置していくとうまくいきそうです。ただ、ここで問題なのはタイル間でテクスチャがシームレスにつながっていないと広い範囲のマップを作ろうとしたときに誤差がどんどん増えていってしまいます。
ではどうすれば良いのか、私なりに海外のサイトなどで調べたところ(日本語サイトではそれについて言及されているところがなかった)OMSIのマップエディタはSRTMによる標高データだけではなく、ネットの地図サービスの画像を地形タイルに表示させる機能があり、新しいタイルを作成すれば既存のタイルの地図画像とシームレスにつながるようになっていることがわかりました(凄い!!)

つまりは、この機能を利用すればわざわざ地図画像をコピーして既定の大きさに切り取り、テクスチャにして手動で貼り付けるという作業がいらなくなります。

以下に手順をメモします。
(すでに編集したいマップには緯度・経度の情報が設定されている前提で進めます。それらが設定されていないとマップエディタもどの場所の地図画像をロードすればよいのかわからずエラーになります。)

1)OMSIフォルダ直下にあるoption.cfgにある[Editor_LinkAerial]セクションに地図サービスのURLを入力し上書きします。ただし、これはタイル単位で地図画像を読み込むためのURLなので通常のブラウザで閲覧する場合のURLとは異なります。例えばOpenStreetMapの場合は以下の通りです。

http://b.tile.openstreetmap.org/~z/~x/~y.png

※また、このタイル画像取得用のURLは地図サービスごとにURLは異なりますので、特に使用したいサービスがあればタイル画像の取得が可能かどうかについてお調べください。

2)次に、OMSIフォルダの\maps内に\aerialsというフォルダが存在するか確認してください。もし存在しない場合はこのフォルダがないと次の作業で失敗しますので作成してください。なぜ、作業に必須のフォルダがデフォルトで存在していないのか謎です。このことが分かるまでかなり苦労しました。

3)マップエディタを起動して編集するマップを開き、[Tile]タブを開きます。そこの[Aerial Download]グループにある[Use tile aerials]チェックボックスにチェックを入れます。あとは地形データのときと同じ要領で、地図画像を読み込ませたいタイルに移動して[Dnl. current Tile]をクリックすると地図画像が読み込まれます。

4)地図画像を消して元々のテクスチャを表示したいときは、[Use tile aerials]チェックボックスのチェックをはずせば完了です。

参考例として前回の円山の地形データに対して、地図画像を貼り付けるとこのようになります。

f:id:poplar1930:20210605161928j:plain

OpenStreetMapを使用した場合

OpenStreetMapの場合、往路復路ともバス停の位置が青い四角でマークされているのでとても助かります。(複数のバス停をまとめて表記している地図も多いです)

私が確認したところでは、OpenStreetMap以外にも以下のサービスが使えることを確認しています。

 

国土地理院 (リンク先にタイル取得用のURL一覧が掲載されています)
https://maps.gsi.go.jp/development/ichiran.html

地理院タイルは種類によってカバーしている地域が違うためすべてを利用できるわけではありません。

また、地理院タイル取得用のURLに{x}/{y}/{z}という記述がありますが、OMSIの設定ファイルに入力するときはそれぞれ~x/~y/~zと置き換えてください。

f:id:poplar1930:20210605162616j:plain

地理院タイル(標準地図)を使用した場合

f:id:poplar1930:20210605162825j:plain

地理院タイル(航空写真)を使用した場合

航空写真を使えば、地図とはまた違う情報が読み取れると思います。(ちなみにこの画像をそのまま山などのテクスチャとして使えるわけではないので注意が必要です)

あとはストリートビューを使って沿道の様子を詳細に調べたり、過去の住宅地図やYoutubeにアップされている過去のドライブレコーダー映像などを活用して時代考証を行ったりすれば良いかと思います。

そのほかGoogleマップを活用することもできますのでURLを載せておきます。

Googleマップ

https://mt1.google.com/vt/lyrs=m&x=~x&y=~y&z=~z