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

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

地形の作成

マップエディタで地形を編集する場合、[Terrain]タブを開き、マウスで地形タイルをクリックするとその部分の地形が高くなったり低くなったりするので、その要領で山や丘、湖や沼地を作成します。ただ、この方法は架空のマップであれば気軽に使用できる方法なのですが、お絵かき感覚で地形の高低を決めているので、実際の街並みの作成に使用できるかというと難しいものがあります。
そこで、OMSIのマップエディタにはSRTMと呼ばれるスペースシャトルからレーダーを用いて取得した地球全体の標高データを使用して、マップデータの地形を自動生成するという機能を備えています(凄い!!)
デフォルトではSRTM用のインポートDLLしか付属していませんが、このDLLを開発すれば別の地理情報を読み込んで地形を自動生成することもできるようです。

以下に手順をメモします。

1)NASAのページにアクセスしてダウンロードに必要なアカウントを作成します。
https://urs.earthdata.nasa.gov/users/new/

2)地形を作成したい部分の緯度・経度をGoogleマップなどであらかじめ調べておきます。Googleマップの場合、マップ上で右クリックするとその地点の緯度・経度が表示されます。

3)以下のページにアクセスして地形を作成したい部分周辺のhgtファイルをいくつかダウンロードします。ちなみに、複数の種類のファイルがありますが、"xxx.SRTMGL3.hgt.zip"というものを使用します。
https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/

4)ダウンロードしたファイルはzipファイルなので展開してから、OMSIフォルダの\DEMImport\SRTM\Dataに入れます。

5)OMSIのマップエディタを開き、メニューの[Map]-[Convert to World Coordinates]をクリックするとダイアログが表示されるので、[Latitude]に緯度(北緯は正の数、南緯は負の数)、[Longitude]に経度(東経は正の数、西経は負の数)、そして[New Directory]に現在のマップ名とは別の新しいマップ名を入力し(現在のマップに地形データが反映されるわけではありません)、[Start Conversion]をクリックするとマップデータの生成が始まります。

※なお、[Map]-[Convert to World Coordinates]をクリックしても入力用のダイアログが表示されない場合は、メニューの[Extras]-[Options]-[Advanced]-[Load whole map at start]にチェックを入れてから再度試します。

6)マップデータの生成が無事完了したら、メニューの[Map]-[Change]から先ほど作成したマップを開きます。まだ、この段階では地形データの自動生成は行われていないので、[Tile]タブのDEMにあるドロップダウンから"SRTM\Import.dll"を選択して、[Run curr. Tile]をクリックします。そうすると、現在アクティブになっている地形タイルに対して標高データが適用されるので、別のタイルに対しても同様の操作で地形を生成していきます。

f:id:poplar1930:20210605130822j:plain

参考画像: 札幌市中央区にある円山