Oria

アプリ版製作中

走る・地図をつくる・コースを組むの3つを、ひとつのアプリにまとめます。 まだ配布していません。できあがったら、このページに置きます。

X で進みぐあいを見る

このサイトで使える「地図を作る」は、アプリ版の一部を無料のサーバーに載せたものです。 アプリ版が完全版で、速さ・範囲・解像度・持ち込みデータの制限がありません。 違いは 地図を作る のページに表で出しています。

なぜアプリなのか

無料のサーバーは 0.1 コア・512MB です。重い処理はどうしても載りません。

重さ 無料サーバーで動くか
地図をつくる 80〜140秒 動く(ただし1人ずつ・順番待ち)
コースの下ごしらえ 手元のPCで約5分 動かない(30分〜2時間かかる見込み)
紙の地図の読み取り メモリ2.5GB・約18分 載らない
3Dの森を描く 使う人の機械しだい サーバーの仕事ではない

手元の機械で動かせば、この制約が全部なくなります。 持ち込みのデータ(航空レーザ点群など、数百MB)も、置くだけで使えます。


走る

地図のとおりの森が3Dで立ち上がります。手元の7枚の地図で、実際に走りながら直しています。

いま作り込んでいるのは、走っていて気になるところです。木の太さと枝の付きかた、 林床の明るさ、下草の背丈、道の踏まれ具合、沢の深さ。 たとえば下草は、記号 407 が「見通し良好・走行可能度低下」を意味するので、 目の高さを塞がない、もも丈の笹として作り分けています。

コンパスと紙地図は本番と同じ作りにしました。現在地は表示しません。 地図はレッグごとに回り、コンパスはプレートが上に固定されて針が回ります。

地図をつくる

このサイトで動いているものと同じです。アプリ版では制限がありません。 地図を作る から今すぐ試せます。

コースを組む

地図を渡すと、コントロールを置く場所を探し、難易度に合わせてコースを丸ごと組みます。 種目(ロング/ミドル)とクラス(E・A・B・N)を選ぶだけです。

難しさは、コントロールではなく区間の性質

同じ「尾根」のコントロールでも、道沿いに寄せれば易しく、 何も無い斜面を横切らせれば難しくなります。コントロールに難易度を貼るのは間違いです。 区間ごとに、次の2つで測っています。

測り方
実行の難しさ まっすぐ進む線を刻み、手すり(道・沢・尾根線)から外れている割合が主。やぶと登りで足す
ルートチョイスの難しさ まっすぐ行く重さ ÷ 一番速いルートの重さ。1を超えた分で測る

尾根線を「手すり」と数えるときは、進む向きが線に沿っているかまで見ます。 尾根を直角に横切るのは手すりではなく、むしろ難しい部類だからです。

コントロールの候補は4つの出どころから

記号として描かれた点だけを使うと破綻します。手元の地図7枚を数えたところ、 ある地図では点記号の8割以上が大岩でした。それだけで組めば、大岩ばかりを回ることになります。

そこで、記号の点/線の特徴点(沢の合流・道の分岐・崖の端)/植生界の角/地形の形(尾根・沢) の4つから候補を出し、種類が偏らないように選びます。

実測

自動生成した地図(筑波・約16km²)に組ませたものです。

クラス コントロール 距離 候補の内訳 所要
E(上級) 14 4.94 km 地形4・植生4・道2・水系2・人工2 0.5秒
A 12 3.77 km 地形4・植生4・水系4 0.3秒
B 10 2.95 km 地形3・水系3・植生2・人工1・道1 0.2秒
N(初心者) 9 2.06 km 植生4・道2・水系2・地形1 0.1秒

コントロールの候補は3,466個(217個/km²)、その計算に1.7秒でした。 トップに載せた Gorropu のコース も、この仕組みが組んだものをそのまま出しています。

残っている課題

正直に書きます。まだ足りていません。

課題 中身
紙の地図を読めない いまは地図データ(.omap)しか受け取れません。紙の地図をスキャンした画像から読み取るところが本命ですが、これから作ります
岩が出ない 自動生成の地図には岩の情報が入りません(元データに無いため)。手描きの地図と比べると、候補の種類が偏ります
難易度が難しい側に偏る 道の少ない地図では、ほとんどの候補が「手すりから遠い」と判定されます。初心者向けの材料が乏しくなります

予定していること

対応する機械 Windows / Mac
置き場 GitHub の配布ページ(このページからリンクします)
費用 当面は無料。将来、高度な機能を有料にする予定です

いまサイトで使えるものが、いきなり有料になることはありません。

いまのところ限定配布です。使いたい場所や用途を書き添えて お問い合わせ からご連絡いただければ、こちらでも設定を手伝えます。