しらゆき号でいく新潟

来年3月に北陸新幹線の長野~金沢が開通するということで、

石川県・富山県あたりから関東方面への利便性が向上することが期待されている。

福井県はどうだろ? 米原経由といい勝負になるから、あえて北陸新幹線を使うほどでもないような気もするが、目的地次第かね。


それにあわせて在来線特急の運行形態も変更されるのだけど、

北陸新幹線 長野~金沢駅間開業に伴う運行計画の概要について (JR西日本)

  • はくたか は廃止(北陸新幹線の列車名に引き継がれる)
  • サンダーバード・しらさぎ・おはようエクスプレスの金沢から富山方面への運転取りやめ
  • サンダーバード・しらさぎの金沢~和倉温泉の運転をサンダーバードの1往復を除いて取りやめ
  • 金沢~福井で特急列車を3往復運転
  • 金沢~和倉温泉に特急列車を5往復運転
  • 北越・くびき野 を廃止
  • 新潟~上越妙高・新井に しらゆき を5往復運転
  • 新潟~新井に快速列車を2往復、新潟~糸魚川に快速列車を1往復運転

だいたい予想通りですかね。


まず、これまで金沢~越後湯沢を走ってきたはくたか号の廃止だが、

その役割は北陸新幹線に取って代わられるため、当然廃止となる。

これからも北陸新幹線の列車として北陸と関東を結ぶ列車の名前として使われ続けることになる。

もっとも新しいはくたか号は長野~金沢で各停の列車の名前なのが惜しいのだけどね。

関西方面から金沢から先、富山方面へは金沢で新幹線に乗り換えて移動することになる。そのために金沢~富山のつるぎ号が走るわけだし。

なので、サンダーバード・しらさぎ の金沢から先の運転がなくなるのは当然なのだけど、残念なのが高岡だよな。

高岡市には新高岡駅という新幹線の駅ができるが市街地からは離れているので、単純に新幹線で代替できないのよね。

数往復でも高岡発着のサンダーバードが残ればよかったんだけど、そういうわけにはいかんかったようで。

県境をまたぐ区間で、石川県と富山県で在来線の運営会社が違うということで、金沢~高岡の利便性がどれぐらい保てるのかなというの心配だ。


一方で能登半島、和倉温泉方面だが、こちらはサンダーバードが1往復残るとのこと。

あと金沢~和倉温泉だけの特急も走るとのことで、サンダーバード・しらさぎ、さらには北陸新幹線方面からの接続も考慮されるのではないかと。

金沢~福井のみ運転の特急も増発されるとのことだが、福井から北陸新幹線への接続を想定して、サンダーバードの走ってない時間帯に走るのかな。

現状でも1往復だけ福井発着のはくたか号があるので、その代替も兼ねているんだろうね。

新しい2つの特急列車の名前は明かされてないがどうなるんでしょうね。


多くの人にとって興味があるのはこの程度だろうが、他にも変更がある。

それが北越号の廃止でしょうね。

北越号は金沢~新潟で運転されている。元は大阪~新潟・青森の特急列車が金沢で分断されたものである。

金沢から上越市までの区間で新幹線と平行することになるので、この列車もそのまま走り続けることはないだろうと思われてきた。

上越市というか在来線の拠点は直江津駅で、新幹線の駅ができるのは直江津駅から長野側に進んだところにある脇野田駅(上越妙高駅に改名予定)なので、

単純に平行しているとは言えないのが複雑なところだが、金沢~直江津~長野は並行在来線として分離対象なのだから。

一方で、上越市から新潟までの区間は、北陸新幹線のフィーダー路線としての期待もある。

そこで、新井(脇野田駅よりさらに長野側の駅)~新潟で運転されている快速列車、くびき野号のルートを元にして、特急しらゆき号 が走ることになった。

5往復というのは北越号と同じ本数だから北越号の代替なのは明らかだが、ルートはくびき野号のルートそのものだ。

それとは別に新井~新潟で快速が2往復走るとのことだから、これは くびき野号の生き残りかな。


しらゆき号を新幹線接続で使うルートとして考えられるのが、関西から新潟へ向かう場合だ。

現状がサンダーバード+北越のところ、サンダーバード+新幹線+しらゆき になるということだ。

乗換は増えるが、金沢~上越市までの距離を考えると、多少の時間短縮効果は期待できそう。

とはいえ、大阪~新潟だと、金沢経由は6時間半ぐらい、新幹線の効果を考えても6時間ぐらいかと。

ところが遠回りではあるが東京で東海道新幹線と上越新幹線を乗り継ぐルートだと4時間半ぐらいで済むんだよなぁ。

北陸新幹線が関西に到達すれば、金沢経由のルートが最速になるんだろうかね。

けどやっぱり空を飛ぶのが最速でしょうけどね。


北陸新幹線というと福井県・石川県・富山県へのアクセスが注目されるけど、新潟県・長野県も通るのだ。

長野へも北陸経由が最速になるときが来るんかな。なんか違和感はあるけどね。

現在主流の中央道ルートも直線ルートからするとかなり南に回り込んでるので、北陸経由も言うほど遠回りではないのだろう。

長野県でも松本あたりだと相変わらずなんだろうけど。

北陸新幹線が関西まで到達すると、もちろん北陸は近くなる。けどそれだけではないのだ。

今回の開業区間にしても北陸と長野が近くなるということで注目を浴びている。

北陸新幹線は意外なところにも影響を及ぼしそうだ。

なにしろ東海道新幹線バイパスとしての期待もありますしね。

んなアホなと思われるかも知れないが、関東地方でも北側だと乗り通しありかもしれんぞ。


とかなんとか夢は広がるのですが、敦賀から西のルートはまだ決まってないんだよなぁ。

費用も利便性も優れる米原ルートが本命視されてはいるけど、東海道新幹線がパンク状態なので事情は簡単ではない。

関東側だけでもそれなりに効果はあるんだけど、両側からつながることでできることも多いのだ。

在来線の変更、具体的にはしらゆき号の運行にはそんな期待もあるのではないかと思うところ。

現状でとらえられる需要は限定的だろうが。

実在のアイドルも架空のアイドルもいる

昨日から明日までの3日間、さいたま市のさいたまスーパーアリーナでAnimelo Summer Liveが開催されている。

Animelo Summer Live 2014 -ONENESS-

略してアニサマと言われている。むしろ正式名称を知らん人の方が多い? そんなことはないか。

主催者はMAGES.と文化放送、MAGES.はanimelo mixを運営するドワンゴの関連会社ですね。

調べてから気づいたけど、そういや、animeloって音楽配信サービスの名前でしたね。

なんでも世界最大のアニソンライブイベントとのことで、多くの出演者・観客でもって盛大に行われていることだろうと思う。


この出演者一覧を見ていて思ったのが、実在・架空問わずアイドルグループのようなものが多いことだ。

  • ももいろクローバーZ (2日目)
  • アフィリア・サーガ (3日目)
  • Wake Up, Girls! (1日目)
  • STAR☆ANIS (1日目)
  • μ’s (3日目)
  • アイドルマスター , アイドルマスター シンデレラガールズ , アイドルマスター ミリオンスターズ (2日目)

明らかに実在しているアイドルから、架空のアイドルに近づく順に並べたつもり。


ももいろクローバーZは言うまでもなし、アニメ関係の曲もいくつかあるようで、アニサマに出演するのもその都合だろう。

アフィリア・サーガはレストラン発祥のアイドルユニットのようだが、それだけだとさっぱり。

アフィリアとは? (王立アフィリア魔法学院)

そういう世界観にあるアイドルユニットととらえればよろしいんじゃないでしょうか。

次に書いた Wake Up, Girls! というのは、同名のアニメに出てきたアイドルユニットだ。

ただ、プロダクションと契約していない一般人を対象としたオーディションでキャスト選んで、

その決定したキャストに応じてキャラクターの設定をしたということで、単に架空のアイドルとも言えないものがあるように思った。

「二次元のキャラクターと三次元の声優をシンクロさせた、虚実混交な世界観設計となっている。」とプロフィールにある通り。


STAR☆ANIS もアイカツ!という主に女子小学生を対象としたゲーム・アニメに出てくるアイドルユニットなのだが、

実は作中で声を当てている声優とは別に、作中の歌を歌い、ステージでのパフォーマンスを行う実在のアイドルユニットとしての STAR☆ANIS がいるわけだ。

声と歌で人が違うというのは最近だと珍しいのかなと思う。声をあてている声優が歌も歌うことが多いですからね。

μ’sは以前も取り上げたがラブライブ!の作中に出てくるアイドルユニットだが、

その声をあてている声優によるユニットもμ’sであるとのこと。

アイドルマスターについては2年前ぐらいにBlogでも取り上げている。

7年目のアイドルマスター

ゲーム中に登場するアイドルはとても多いので、一部の参加であるということか、ひたすら出演者を列記してあるのがおもしろい。

これも作中のアイドルの声をあてている声優がステージに上がってパフォーマンスをする。


2年前にアイマスについてBlogで取り上げたときに、

当たり前だけど架空のアイドルがステージに上がるわけにもいかず、そのキャラクタの声をあてた声優がステージに上がっている。

と書いたが、架空と現実の間をさまよっているユニットが多いことがわかる。

Wake Up, Girls! はキャラクタの声をあてている声優がステージに上がってるんだといいつつも、

そもそもキャストを想定してキャラクタを作っているのだから、実在のアイドルに近いように思える。

一方で、STAR☆ANIS は声とは別にパフォーマンスを行うアイドルユニットが実際にいるのだとはいうものの、

それは作中の STAR☆ANIS ありきなのだから、架空のアイドルユニットを現実に再現していることそのものである。


去年のアニサマもこんな感じだったそうで、去年のアニサマの1日目に出演したアイドルユニットに注目したレポートがある。

【アニサマ2013】ももクロ、ミルキイ、アイマス…次元を超えた“アイドル”たちが競演!初日に集ったアイドルと探偵だけを濃密レポ (ウレぴあ総研)

それぞれのやり方の違いが見て取れるレポートではないかなと思う、


今回取り上げた以外でもアニメなどのキャラクタが出演者に入っているものは多いが、

アニサマが2005年に始まったときにはそうでもなかったらしく、

2006年以降、徐々に広がり、2010年代になり現在のような姿になってきたことが取り上げられている。

涼宮ハルヒ、アイマス、ラブライブ!…『アニサマ』で羽ばたいた“作品発ユニット”の歴史を振り返る (ウレぴあ総研)

実はかなり最近のことなんだね。


端から見たら似たようなものだと思ってたが、その位置づけの違いに個性があるなと思った。

アニサマにはいろいろな人が来るわけだけど、そこでうまくアピールできれば大成功だろう。

大学の研究室でやるとおもしろいことって?

研究室内である学生とボスが今後の研究のことで言い争いになっていた。

その中でボスが「金さえあれば実現できそうなことをやるのもおもしろくない」ということを言っていたのだが……

うーん。


なんで言い争いになったのかということだが、

当初、他の学生の開発しているシステムと組み合わせて使うシステムを開発して、とあることを実現しようということでスタートしたのだが、

この前、当初意図していたシステムがほぼ完成したのよね。

これをもって自分のやるべきことは果たしたということで、今後はこれまで開発したシステムを別方向に活用していきたいとなったわけである。

それで先日まで具体的にどう活用するかということを考えていたようだが、

いろいろ調査したところ、有用なシステムが作れそうだということが明らかになって、ではそちらに進んでいこうとなったわけである。

このことは直接指導をしてくれている教員も了承しているわけだが、

ボスは新しい取り組みについて最初に書いたような意見を述べていったわけである。


「金さえあれば実現できる」というのは世の中たいていのことに言えそうだよね。

既存の技術を積み上げて、それをうまく統合していけば、いろいろなシステムが作れてしまうだろうと。

もちろんそこにはいろいろなアイデアが詰まっているわけだけど、

それも技術者が順当に努力してやれば実現できるだろうなとは思う。

結局のところは積み木遊びのようなもんだよね。

突拍子もない画期的な取り組みについては必ずしもそうとは言えないわけだけど、

特に電気電子分野の技術者が作るものというのは、そういう傾向が強いのでは? と思っている。


そういう視点で見ると、当初の取り組みを継続することと方向転換することは対称的だ。

当初意図していたシステムはほぼ完成したと言うまでになったということは、

この先に進むべき事がさっぱりわからないということも含まれている。

少なくとも自分がこれまで担当してきたシステムについては行き詰まりを迎えている。

他の学生が担当している部分で進捗があればどうだか知らんが、現状で考えつくことでは完成といって差し支えないということだろう。

一方で新しい取り組みはある程度やるべきことははっきりしているし、これまでのシステムを活用できる。

そして実現できれば有用なシステムが完成するのだから、やる意味もはっきりしている。

ただし、現状ではどこに困難さがあるのが明確になっていないので、そこはよく検討する必要はあるが。


それにしても真の意味で大学じゃないとできない研究ってなんなんだろうね。

「金さえあれば実現できることをやっても――」ということを言ってきたのは、

大学と世の企業の役割分担を説いたものなのかもしれないが、工学においては明確ではないわな。

「新しい技術の方針を示すことが肝心である」と言えども、金を積んだとしても実現できる見込が立たないことをやっても無駄だし。

そこのギリギリを狙うとおもしろいんだろうけど、そんな課題はそうそうないわな。

PowerPointには上位互換も下位互換もない

おととい、研究室で作っていたPowerPointのスライドを編集しようと思い、

家のPCのMicrosoft PowerPointで開いたのだが、埋め込んだ動画に互換性がなかったようで、さてどうしたものか。


MS Officeのバージョンが上がるごとにいろいろ改良されているのはいいけど、

以前のバージョンとの互換性が保たれない機能も出てくる。

以前、困ったのが数式で、研究室で使っているPowerPoint 2013では数式ツールは内蔵されているのだが、

家で使っているPowerPoint 2007では数式ツールは内蔵されておらず、2013で作成した数式は図形に変換され、編集することはできない。

2007で数式を使う時はMicrosoft数式を埋め込んで使うが、こちらは2013でも編集できるので、上位互換はあった。


動画についてもどこかのバージョンでファイル内に動画を埋め込むように仕様が変わった。

以前は動画は別ファイルをリンクするようになっていたから、トラブルが起きやすかった。

ファイル1つで動画も埋め込めると言うことで利便性は向上したのだが、古いバージョンでは当然対応していない。

これも2013で埋め込んだ動画は2007では使えなかったようだ。


さてどうしたもんかなと。ファイル内に動画ファイルが入ってるから取り出さないといけない。

けど .pptx だとか、Office Open XML形式は各種のファイルをZIPでアーカイブしているものだから、

ZIPに拡張子を変えるなりして、そのファイルの中から探せば動画ファイルもあるはず。

というわけで探してみるとすぐ見つかった。mp4形式で。

あれ? 埋め込んだときはMPEG1だったのになぁ。どうもMPEG4 AVCに変換してたみたいね。

これをPowepoint 2007でリンクさせれば、と思ったらコーデックの都合か、埋め込んでも再生できない。

というわけでまたMPEG1にエンコードしなおして埋め込むはめになった。


これだけでも大概、無茶苦茶な話だが、これをPowerPoint 2013で開くと、

古い形式の動画だといって、2013の標準の動画埋め込みに変換する処理を行わないと再生できないようになっていた。

なんと上位互換もないのだ。確かに変換すれば再生できるのだが、旧来の機能の扱いはそんなものである。

多分、動画もMPEG1からMPEG4 AVCに変換してたんだろうな。あほらし。


PowerPoint 2013だけ使ってる分には以前のバージョンより便利になってるのは明らかなのだが、

古いバージョンに持っていたときの取扱いの悪さというのは問題だなぁと。

古いバージョンでもそれなりのことができるようになってればいいんだけどねぇ。

MS Office 2007ならOffice Open XML形式に対応してるのでなんとかなるかと思ってたんだけど、

こういう残念なことは多いのが現実である。特にPowerPointはねぇ。


しかし、そもそもの問題は家のPCのMS Officeのバージョンが古いことだ。

大学がMS Officeを無料で提供しているから、これを家のPCにインストールすればいいんですけどね。

ただ、学外のPCにインストールする手順がけっこうめんどくさくて、過去に挫折しちゃってるんですよね。

それでインストールするぞということで今日帰ってきてからやってたんだけど、失敗したんだよなぁ。

なんか手順を間違えたのか知らないけど、最初からやり直しかなぁ。

インストールの手順のうち、一部は学内限定なので、それが学外のPCにインストールする難しさの1つでね。

遠回りだけど仕方ない

今日は他の研究室に出かけるということで、心配事とかいろいろあるのだけど、
アホらしいなと思うのがそのルートなんですよね。
なにしろ直線距離で40km程度のところを110kmぐらいかけていくのだから。


直線距離のルートが存在するわけがないのは仕方ないとしても、
道路はそれに比較的近いルートがあって、道のりで60km程度、
自動車なら普通に使える道で、実際そのルートで今回の目的地近くへ向かっていったことはある。
自動車で行くのは比較的容易なのだ。


ところが公共交通ではそのルートは使えないんだよね。
いや、公共交通でもそれに近いルートはあるんだよ。
ところがいくつも乗り継ぎが必要で、その接続があまりよろしくない。
乗り物に乗ってる時間も問題だが、それ以上に待ち時間が問題だ。
その結果、2倍とまではいかないけど遠回りのルートをとったとしても、
最短ルートに近い公共交通のルートの7割ぐらいの所要時間で済む。
運賃面でのメリットもないし、近道を使う理由がない。


今回の場合は最短ルートに近い公共交通ルートは
使えないことはない程度には本数が確保されていたので比較できたが、
極端に流動が少ないルートだと公共交通が断絶することもしばしば。
その1つの例としてJRバスの近城線のことをかこう。


近城線の近は近江、城は山城、近江と山城、具体的には信楽駅と加茂駅を結ぶルートだった。
なんでこんな路線があったのかという話だけど、
国鉄信楽線(現在は信楽高原鉄道(SKR))の延長路線として想定されていたからではないかと。
とはいえ県境を越えた流動は少なく、JRバスは撤退してしまい、
京都府側の加茂駅~和束町の区間は奈良交通が、支線として存在していた加茂駅~浄瑠璃寺の区間は木津川市のコミュニティバスが、
信楽町内の区間と石山寺駅へ至る支線は信楽高原バス、すなわち甲賀市(元は信楽町)のコミュニティバスで代替されている。
が、県境の区間はまったくバスが存在していない。断絶してしまったのである。
不便に思っている人はそういないとは思うけど、最短ルートが生き残ることが難しいことはわかる。


もっとも高速道路の整備がきっかけで最短ルートとしての活用が広がったルートは多い。
たとえば鈴鹿越の東海道ルート、国道1号線なので元々それなりに整備されてはいたけれど、
険しい坂道で雨量規制もしばしば、三重県~京都・大阪への最短ルートとして注目を浴びることも少なかったのではないだろうか。
公共交通だとこの区間は近鉄特急が圧倒的だったはずで、
京都へは八木経由ということで地図で見るとかなり南に回り込んでいたが、それしか選択肢はなかった。
自動車にしても大阪方面だと名阪国道・西名阪自動車道がありましたからね。
それが新名神高速道路の開通で一気に注目されるようになり、名阪国道からの転移も相当だったよう。
三重県各地から京都への高速バスが走り始め、特に四日市~京都は好評で大阪への路線も設定されるほど。
どの程度の短絡効果があったのか?
四日市~京都は近鉄だと171kmのところ、バスは100kmを切っているとのこと。


最短ルートがほぼ未整備とかいうなら仕方ないなぁと思うけど、
こうして自動車だと使えるルートというのは悔しいな。
まぁたとえ自動車が使えたとしてもお酒飲んだら使えませんけどね。

クレジットカードの領収書+明細=?

「会計部門の担当者がAmazonや秋月で立替払で買い物したとき、いちいちクレジットカードの明細を要求されるのがたまらん」
と言っていて、なんともやっかいな話だなと思った。


クレジットカードで購入したときに発行される「領収証」って領収証ではないんだよね。
というのも、クレジットカードで決済したときの代金はカード会社が代わりに払うという扱いになる。
なので客とは直接お金のやりとりが生じない。だから領収証じゃないと。
そんなわけだから印紙税の対象でもなく、クレジットカード払いであることを明示すれば印紙税はかからない。
そして客が領収証を要求してきても応じる必要はない。発行する立場にないから。


他の決済方法では領収証は領収証だ。
デビットカードは即時決済なので領収書は課税文書になる。
ただし口座引落確認書は課税文書ではないから、領収書を出さずにこれで確認してというのはOKかな。
ただ、銀行振込の場合、銀行の発行する振込明細証が代わりになるから、
あえて領収証は発行しないのが普通だ。発行してもいいが印紙税が課税される。
とかなんとか、現金以外の支払方法だと別に領収書に代わるものがあるから店から領収書を受け取らないことも多い。
もちろん領収書を出してもいいんだけど。


おそらく担当者の意図としては現金以外で払ったのなら、
納品書+支払いを証明するものを提出するようにということだと思うのよね。
確かに銀行振込の場合はその2つがないと足りないことが多いはずだし、必ずしも間違った扱いではないと思う。
けどクレジットカードで必要かというとそれは疑問である。
店はクレジットカードで代金を支払ったという証明は普通に出してくれる。印紙税もかからないし。
それは客から代金を受け取った証明ではないけど、最終的には客が払うのだから実質一緒だ。
実際に代金が支払われた証明としてクレジットカードの明細を確認するのは、
理屈としては間違っていないが、無駄かなと思う。


「秋月で買い物すると、どうしても秋月で買わんとならんのかと文句を言われる」
とも言っていたが、まぁ担当者としてはそう言いたくなる気持ちも分かる。
秋月電子って後払いができないのよね。
普通は学校・会社が買い物するときって請求書払いにして、一括して会計部門に払ってもらうわけだけど、
それができないとなると立替払が必要になる。まぁ銀行振込で先払いという方法もあるが機動性に欠けるし。
まぁ高専の時は立替払という選択肢が基本的になかったようだし、
それを思えば立替払があるだけましとも言えるけど、お互いめんどくさいですからね。


「法人用カードがあればなぁ」と言っておられたがまったくその通り。
納品書さえ持って行けば、支払の事実はカードの明細から確認できるのだから手間がかからない。
ただ、残念ながらあまり普及していないのですよね。
まぁ運用が難しいのもあるのかもしれないけどね。

HTML5とJavascriptでお絵かき

1つのネタで3つも記事を書くのはいかがなもんかという話もあるが、

HTML5のcanvasの話を。

経由便シミュレータ (cf. ここ経由するとこれぐらい遠回り)

これを実装するのに使ったやつね。


HTML5については思うところはあるのだが、Flashが使えないiOS・Androidではどうしても使わないといけない技術だからねぇ。

HTML5に導入されたcanvas要素を使うことでブラウザだけで、いろいろな描画をすることができるんだけど、

iOS・Android向けのWebページでかつてFlashを使って描画していたものは、

現在はHTML5のcanvas要素とJavascriptでほぼ代替されているはずだ。

PC向けの場合、現在もFlashが幅をきかせているわけだけど、それもどうだろうかね。


まず、HTML5の使い方から。

HTML5のDTD宣言にあたるものは、

<!DOCTYPE html>

である。こんなのDTD宣言じゃないだろという話だけど、もうDTD宣言は意味をなしていないという考えである。

それでcanvas要素だが、img要素と似ているが空要素ではないようで。

<canvas id="mapcanvas" width="1080" height="568"></canvas>

これだけではなにも描かれていない空間ができる。ここに描くのはJavascriptの出番である。


まず、canvas要素に描画するためのコンテキストを取得する。

var canvas  = document.getElementById('mapcanvas');
if ( !canvas || ! canvas.getContext ) {
  return false;
}
ctx = canvas.getContext('2d');

2Dがあれば3Dもあるのかというと今のところはないらしい。

このコンテキストを使っていろいろ描画する。


簡単に四角形を描画するためにはfillRectメソッドを使う。塗りつぶしの場合はfillRect、線だけの場合はstrokeRectである。

ctx.fillStyle='red';
ctx.fillRect( x-3 , y-3 , 7 , 7 );

予めfillStyleで塗りつぶしの色を指定する。線の色はstrokeStyleで指定する。

そして起点のx,y座標と縦横の大きさを指定してやれば四角形はすぐ書ける。

このfillStyleの指定方法だが、色名で指定することも出来るが、RGBで指定することも出来る。

ctx.fillStyle='rgb(255,0,0)';

さらに透明度の指定も出来る。今回、画像の上に距離の増分に応じて色を塗っているが、これは透明度を指定している。

ctx.fillStyle='rgba(255,0,0,0.2)';

四角形を描く場合はこうしてメソッド1つで出来てしまうが、任意の画像を描くのはもうちょっとめんどくさい。

今回、大圏航路の軌跡を描いているが、これは折れ線で描かれている。

var route=new Array();
//routeに座標を格納
first=true; ctx.strokeStyle='black';
for(i=0;i<route.length;i++){
  if(i>0 && Math.abs(route[i][0]-route[i-1][0])>=360){
    ctx.stroke(); first=true;
  }
  if(first){
    ctx.beginPath(); ctx.moveTo(route[i][0],route[i][1]); first=false;
  }else{
    ctx.lineTo(route[i][0],route[i][1]);
   }
}
ctx.stroke();

まず、線を引き始める前にbeginPathメソッドを実行しておく必要がある。

そして起点へmoveToメソッドで移動する。そこからlineToメソッドで線を引いていく。

2度目からは前回の終点から指定座標までの直線が引かれる。

だから起点の座標だけ指定方法が違うわけだ。forで座標をたどっていくときは要注意だな。

そして終点にたどりついたらstrokeメソッドで線を引く。塗りつぶしの場合はfillメソッドだ。


今回は使っていないが円を描くときは、

ctx.beginPath();
ctx.arc(x,y,10,0,2*Math.PI);
ctx.fill();

四角形はfillまたはstrokeまで一体としたメソッドがあるけど、円はそういうのはない。

円弧のパスを描くメソッドだけあるのでbeginPathとfillまたはstrokeで挟んで使う。

arcメソッドは中心座標と起点・終点の角度を指定すればよい。1周描くときも角度は指定しないとならん。

ただ、確かに汎用性は高いのかもね。というのも、

ctx.moveTo(x,y);
ctx.arc(x,y,10,Math.PI/4,Math.PI*7/4);
ctx.closePath();

とかすれば、中心→円弧→中心とたどれることになり、扇形が描けるわけだし。


これで図形は描けるわけだが、既存の画像を貼るためにはどうすればよいのだろう。

map = new Image();
map.src = "./flyviamap.png";
ctx.drawImage(map,0,0);

と、画像のオブジェクトを生成してから、drawImageメソッドで貼ればよいわけだが、

しかし、このコードには1つ問題がある。

それは画像の読み込みが完了しておらず、オブジェクトが完成していない状態でdrawImageメソッドが実行される可能性があるのだ。

そこで今回、一連の描画処理を定義したdraw関数の外にImageオブジェクトの生成を記述し、

map.onload=function(){ draw(); }

と、読み込み完了時に描画処理を行うように設定した。

複数の画像を読み込むときは? ちゃんと複数の読み込み完了を待つ方法があるらしいので調べてもらったらと。


あと、canvasをクリックされたときの座標取得だけど、

document.getElementById('mapcanvas').onmousedown=function(e){
  e = e || window.event;
  canvas  = document.getElementById('mapcanvas');
  x=e.pageX-canvas.offsetLeft; y=e.pageY-canvas.offsetTop;

window.eventと||を取ってるのはIE対策らしい。

onmousedownの発生時に得られるオブジェクトにクリック位置が入ってるから、そこからキャンパスの位置を差し引けばよいと。

これはcanvasに限らないが、canvasは特にクリックに応じて動作することも多いだろうから書いておく。


クライアントサイドでこれだけのことがHTMLとJavascriptだけで書けるというのは画期的だなと思った。

今回のアイデアを実装するのにHTML5とJavascriptを使ったのはBlogのネタにするためというのは大きな理由ではあるんだけど、

それとともに、こういうシステムを作る一番手軽な方法じゃないかなとも思ったわけだ。

確かに手軽だった。TerapadとFirefoxだけで作れちゃうわけだからな。

しかも、完成したらブラウザで動かし放題、PCはもちろんタブレットでも使えてしまう。当然にクロスプラットフォームなわけだ。

HTML5とJavascript、やり手だなと思った。

大圏航路をメルカトル図法に描く

昨日、経由地シミュレータを作っていたわけだけど(ここ経由するとこれぐらい遠回り)、

それには必然的に大圏航路の距離を求める必要があり、

あとこのツールでは大圏航路を図示もするようにもしたから、大圏航路の軌跡を描く必要がある。

そのための幾何的な話を書こうと思う。


大圏航路の距離は公式がありまして、

緯度をθ、経度をφとすると、(θ11)から(θ22)の最短距離は、
d=R cos-1( sinθ1 sinθ2 + cosθ1 cosθ2 cos(φ12) ) (Rは地球半径)と表すことが出来る。

じゃあこれはどうやって求めたのだろうか?


軌跡の描き方を調べていたときに、これはわかりやすいなという方法を見つけた。

大圏コースの軌跡の求め方 (ビーチバリヤーの情報科学メモ)

中心と起点・終点へのベクトルを考えてみて、これを結ぶ直線を求める。

その直線は大圏航路の円弧に対応する弦ということだから、

中心となす角度を調べて、円弧の長さを求めればよいわけだ。

さらに起点と終点のベクトルを組み合わせて内分点のベクトルを求めることができる。

このベクトルの指す緯度・経度を求めて地図にプロットすれば大圏航路を図示することができる。


というわけで起点・終点を表すベクトルを(x,y,z)で表す。簡単に半径は1として考える。

R1=( cosθ1 cosφ1 , cosθ1 sinφ1  , sinθ1 ), R2=( cosθ2 cosφ2 , cosθ2 sinφ2  , sinθ2 )

ここで二点を結ぶ直線の距離は |R1R2| で求められる。簡単に見えるね。

これを計算するとけっこうコンパクトに収まって、
|R1R2| = √[ 2( 1 –  sinθ1 sinθ2 – cosθ1 cosθ2 cos(φ12) ) ]

最初に書いた式になんとなく似てるね。答えに近づいているようだ。

ここで弦の中心角を求めるわけだけど、中心角をαとすると弦の長さというのは 2sin(α/2) となる。

ここで倍角の公式を持ってくると、cosα=1-2sin2(α/2) という関係があるわけだから、
sin(α/2)=|R1R2|/2 を代入すると、cosα=sinθ1 sinθ2 + cosθ1 cosθ2 cos(φ12) と。

arccosでラジアンの角度に変換して、半径をかければ円弧の長さが得られる。こうして大圏航路の距離の公式は出てきているわけだ。


大圏航路の軌跡の求め方だが、起点と終点の内分点、すなわち弦の上に乗る点を表すベクトルCは、

C=kR1 + (1-k)R2 (0≦k≦1) で表すことができる。

それで直交座標で内分点のベクトルを求めといて、これを球座標に変換して、緯度・経度を調べりゃいいわけだ。

直交座標で(Cx,Cy,Cz)のとき、球座標の緯度はθC=tan-1( Cz/√(Cx2+Cy2) ) 、経度は tan-1(Cy/Cx) で求まる。

というわけでめでたしめでたしと。


Google Mapsにプロットするならこれで緯度・経度を指定して線を結べばしまいなのかもしれないけど、

今回は自分で用意したメルカトル図法の地図にプロットするために、

これをメルカトル図法での座標に変換する必要がある。この話もついでに書いておこうと思う。


中学校だったかな、いろいろな地図を勉強したとき、

正積図法(モルワイデ図法のことかな)は高緯度でも面積が一緒になるようにしてあるんですよとか、

正距方位図法なら距離も方位も正しいけど、中心を決めないといけないから不便だねとか、

メルカトル図法も紹介されるわけですが、面積も距離も正しくないと聞くわけですよね。

けどなぜメルカトル図法がよく使われるのか。そこにはちゃんと理由がある。

実はメルカトル図法は正角図法という図法で、地図に現れる方角が常に等しくなるようにしてあるわけだ。

メルカトル図法で直線となる航路、これを等角航路というが、大圏航路に比べると遠回りだが、

常に1つの方角を目指して進むだけでよいので操舵が簡単なんですね。なので昔は等角航路が重宝されてきた。

今はGPSもあるし、等角航路にこだわらず、大圏航路だとか効率の良いルートを選んで進めるわけだけど。

そんなわけで昔の船乗りにとって重要なのがメルカトル図法だったと。

ただしメルカトル図法では極付近が縦に広がりすぎるという難点があり、適当なところで切らないといけない。

船の場合、極付近はどうせ航行できないしね。今になって北極海を航行できるようになってきたわけだけどさ。


それで緯度θ,経度φの点をメルカトル図法へ投影したときの座標は (x,y)=(rθ,r ln(tan(π/4+φ/2) )となる。

rは投影元の球の半径で、投影後の赤道での長さは 2πr となる。

今回の地図は赤道の長さが720pxになるように生成したので、r=360/π[px] ということになる。

逆にメルカトル図法の地図でクリックされた点(x,y)を緯度・経度に変換するときは、(θ,φ)=(x/r, 2tan-1(exp(y/r)) -π/4 ) となる。

この変換さえすればメルカトル図法の地図を使いこなせる。

あんまりそういう需要はないような気がするけど。


ところでここまでの話は全て地球を半径6378kmの球として扱っている。

実際の地球は完全な球ではないが……そんなこと気にしても仕方ないよね。

そんなささいなことよりも、風の都合の方が大切さ。

ここ経由するとこれぐらい遠回り

さて、昨日は飛行機の直行便の限界の話をした。

飛行機はどこまで飛べる?

16000km超の航続距離をフル活用した路線も出たものの、

結局は14000km程度が限度になっているようだと言った。


直行便がなければどこかの空港で乗り継ぎをしないといけない。

日本からだと地球の裏側にあたるブラジルへの直行便はどうがんばっても飛ばせないので、

必然的に乗り継ぎが必要になるのだけど、どこで乗り継ぐのがいいのだろうか?

いろいろ選択肢はあるけど、どれがいいのだろう?


ところで、地球上の2点の最短ルートを知るためには、よくあるメルカトル図法だかの地図で直線を引いてもわからない。

一番手軽な方法は地球儀を用意して、2点にピンと糸を張る方法かな。

この地球儀での最短ルートを大圏航路といい、飛行機での飛行ルートは大圏航路が基本となっている。

風の向きやら政治的な事情で大圏航路から変わる部分もあるんだけど、基本はこれだ。

地球儀と糸を用意できる人なら、それを片手に見てくれてもいいんだけど、地球儀を持ちながら見ている人はそうそういないと思う。

そこで、便利なツールがこれである。

Googleマップで大圏航路を表示する (地理@沼津高専)

昨日紹介したの等距圏・方位線を表示するのと同じところにある。


あらかじめ関空とサンパウロを設定しておいたわけだけど、最短ルートはどこを通っているだろうか。

アメリカの東側の大西洋を通るルートで、線の上にちょうど乗っかる経由地はなさそうだけど、アメリカ東海岸のニューヨークあたりがよさそう。

実際、JALは成田空港からニューヨーク経由でサンパウロへ至る路線を運航していた。

ほぼ最短ルートで飛んで行けるニューヨーク経由というのは合理的だったのだろうが、

しかし、この路線が廃止されてしまった理由の1つはニューヨーク経由だったことがあるのだ。

というのもアメリカって入国せずに通過するということができなくて、

それでも日本人ならビサ免除で通過できるけどブラジル人にとってはビサが必要で不便だったそうだ。

確かにニューヨーク経由のサンパウロ線は最短ルートには近かった、けど制度上使いにくかったのだ。


結局、JALのサンパウロ線は廃止されてしまったのだけど、

アメリカ以外に経由地を変えて利便性を向上させる案もあったらしい。

変更後の経由地としてはヨーロッパのどこかを想定していたようだが。

しかし、結局実現せず、現在はエミレーツ航空でドバイ経由で行くか、カタール航空でドーハ経由で行くか、

中東経由のルートが一般的となっている。

ヨーロッパ経由のルートを使っている方もおられるだろうし、JAL撤退後もアメリカ経由のルートを使っておられる方もおるかもしれないが。


北アメリカ経由? ヨーロッパ経由? 中東経由? バラバラにもほどがある、と思われた方もいるかもしれない。

僕もそう思ってたんだけど、ブラジルは地球のほぼ裏側、最短ルートの真逆に回ったとしてもそんなに変わらない。

だから世界中どこでも経由地の候補になりうるわけだ。

確かにアメリカ東海岸経由は最短ルートに違いないが、やや遠くなっても高々知れているのだ。


で? どれぐらい差があるの? そんなことが気になってこんなものを作ってみた。

経由便シミュレータ

HTML5のcanvas要素とJavascriptを使って作った。

一応、Mozila Firefox・Google Chrome・Internet Explorer 11ではちゃんと動くことを確かめてある。

動かない人もおられるかもしれないからキャプチャも置いておく。

大阪-ドバイ-サンパウロのシミュレーション

開くと、起点に関空、終点にサンパウロを設定してある。それで世界地図に大圏航路が描かれていて、色が塗られている。

この色は経由地ごとの最短からの距離の増分を塗り分けてある。

飛行機の乗り継ぎを想定しているから起点からも終点からも14000km以内のところしか塗らないようにしているが。

赤の範囲で乗り継げば距離の増分は500km以内、黄色の範囲で乗り継げば増分は1000km以内ということだ。

赤の範囲には北アメリカ全体、ヨーロッパも大半が含まれる。北アメリカ経由もヨーロッパ経由も最短距離に近いことには差はないと。

ここでドバイを経由地に設定してある。地図中では青の点で見えている。

赤の範囲には収まっていない。最短経路に対する距離の増分は左下にも表示されているが1074kmとやや長い。

けどジェット機って時速1000kmぐらいでは飛ぶわけだから、所要時間で言うと1時間ぐらいの差でしかないのよね。

それなら乗り継ぎの利便性の方がずっと重要だ。北アメリカ経由、ヨーロッパ経由ほど最短距離に近くはないが、そこまで悪くないのだ。

他の経由地だとどんなもんか知りたければ、経由地のラジオボタンを選んでから、地図をクリックするか、プリセットにある空港を選べばよい。

南北アメリカからニューヨークを選んでみると、増分はわずか48km、ほぼ最短ルートであることがわかる。

ヨーロッパだとどうか。ロンドンを選んでみると、増分は222km、最短でも19000km近い旅にとっては誤差のようなもんだね。


起点のラジオボックスを選んでから、起点→終点とクリックするかプリセットから選んだらいろいろ試せるので、

オーストラリア~ヨーロッパとか、シンガポール~アメリカとか、地球の裏側へ近い旅行を調べてみるとおもしろい。

オーストラリア~ヨーロッパはシンガポール経由が一般的だ。けど実は香港経由の方がやや近い。たいした差ではないが。

けど、オーストラリアのカンタス航空はドバイ経由なんだよなぁ。これはカンタス航空とエミレーツ航空が提携したからなんだけど。

シドニー~ロンドンをシンガポール経由だと最短ルートに対して+148km、ドバイ経由だと+513km、どっちでもいいのかな。

シンガポール~アメリカは直行便の限界に挑戦していたという話を書いたが、今は経由便しかない。

シンガポール~ニューヨークで調べてみると、中国経由が割に近そうに見える。けどこのルートは主流じゃないみたいね。

実際にはやや遠いけど、東京経由がメインなんかな。+847kmと出てくるが。

シンガポール航空はフランクフルト経由のルートで飛ばしているが、これだともうちょっと遠回りで+1203kmとなる。


ここでタイムスリップして、直行便が飛んでなかった時代の日本~ヨーロッパを考えてみよう。

東京からロンドンあたりにしてみますか。ボーイング747以前の航続距離は9000km程度だったようだから、そこも変えておこう。

あと昔は諸々の事情でだいぶ迂回して飛んでたので、色塗りの間隔も1000km間隔にしてもらえればと。

東京-アンカレッジ-ロンドンのシミュレーション

それで東京~ロンドンを見てみると最短で10000kmぐらいだから、直行便はちょっと厳しい。

かつて、日本~ヨーロッパの路線は東南アジアや中東の空港をいくつか経由するルートで飛んでいた。南回りヨーロッパ線というやつですね。

特に重宝されていたのがパキスタンのカラチだとか。今となってはさっぱり聞かんが歴史的に重要らしいのでプリセットに入れておいた。

東京~カラチ~ロンドンで飛ぶと最短距離に対して+3700kmとなる。(実際には他の空港にも寄ってたかもしれないが)

なぜ遠回りの南回りルートで日本~ヨーロッパを結んだか? それは空港がたくさんあるからだろうな。

もっと飛行機の航続距離が短かった時代は、1回・2回どころかもっと給油しないといけなかった。そうなると南回り以外の選択肢はなかった。


ただ、性能が上がって来れば、そんなに1回ぐらいの給油で飛べるようになるわけだから、南回りにこだわる必要もない。

そうなればモスクワあたりを経由して飛べばちょうどよさそうだ。それなら+400kmで済むし。

ところが、その時代は冷戦真っ只中、なかなかソ連上空を通るルートは難しかった。

そんな中で生み出されたのがアンカレッジ経由の北回りヨーロッパ線だった。

アンカレッジってアメリカのアラスカね。北極近くを通ると言うことで難しさはあったようだが、ソ連領空を避けてヨーロッパに行けるようになった。

アンカレッジ経由だと最短ルートに対して+3185kmと出てくるな。長いのは長いが、1回の経由で飛べるならたいしたもんだ。

その後、モスクワ経由のルートも開拓されたようだが、ソ連のアエロフロートが独占していたようで、

サービスに難ありということで、アンカレッジ経由がメインの時代は長く続いたらしい。

その後、他の航空会社もソ連上空を通過できるようになり、モスクワ経由が主流になった。

さらに時間が経ち、飛行機の性能が上がってヨーロッパ各地への直行便が飛ぶようになったのだけど、

航続距離9000kmの時代でも飛べたヨーロッパがあった。それがヘルシンキだったそうで、

ソ連以外へのヨーロッパ直行便としては早めにできた路線のようで。


現在はアンカレッジ経由もモスクワ経由もないわと思うわけだけど、それは旅客便の話で貨物便は今でもアンカレッジ経由で飛んでいる。

えらい遠回りな気もするが、アンカレッジで給油することで積み込む燃料を減らせる、すなわち荷物を増やせるわけだ。

現在のアンカレッジ空港は貨物に特化しているので好都合というのもあるのだろう。


こんなツールはないのかなと思って探して見あたらなかったから作ってみたわけだけど、

地図に大圏航路を描いたとしても見えてこない事柄がいろいろ見えてきたので、作ってよかったなと。

このツールを使って、こんな乗り継ぎルートがあればなぁとか、このルートなかなかよさそうだなとか、そういう想像ができるのは面白い。

シンガポール~ニューヨークは中国経由が実は最短ルートというのは新鮮な発見だったな。

実際には諸々の事情により選ばれていないわけだけどさ。

飛行機はどこまで飛べる?

日本から地球のほぼ裏側にあたるブラジルまで直接飛行機で飛ぶことは出来ないのはよく知られた話だが、

じゃあ、今の飛行機はどこまで直行便を飛ばせるのだろうか。


答えはおよそ17400km、これはボーイングの777-200LRの航続距離である。

これに近い距離を飛べる飛行機はエアバスも出していて、

A340-500の航続距離は16000kmで、こちらの方が登場はやや早い。

ちなみに777-200LRは試験飛行では21600km飛んだ実績があるそうで、

地球の裏までも飛べないことはないらしい。ちゃんと人・荷物を載せて飛べるかは別問題だけど。


しかし17400kmだとか16000kmってどんなもんなんでしょうね?

Googleマップで等距圏・方位線を表示する (地理@沼津高専)

中心は関空に設定してある。後で標準だと成田空港になってることに気づいた。

中心点から等距離になる線が2000km間隔で引かれている。

ブラジル沖に点で見えているところが20000kmの点で地球の裏にあたる。

この20000kmの点から数えて2本目の輪が16000kmを表す線だ。ここまでは飛べるということだ。

ブラジルはやはり厳しいのだが、ペルーのリマぐらいなら16000km程度だからなんとか飛べるということがわかる。

南アメリカへの直行線は全く不可能というわけではないのだ。


このような長距離航行できる飛行機をフル活用した路線はいくつかあった。

その1つがシンガポール航空のシンガポール~サンフランシスコ・ニューヨーク線である。

シンガポールからの等距圏・方位線

シンガポールにとってちょうど地球の裏側というのは南アメリカのあたりで、北アメリカもかなり厳しい。

けど16000km飛べるA340-500があれば、14000km程度のサンフランシスコはもちろん、ニューヨークまでもなんとか飛べる。

というわけで、2004年にシンガポール航空はA340-500を使い、

これまで経由便しかなかったサンフランシスコとニューヨークへの直行便をそれぞれ運航することにしたのだった。

この2路線は全席ビジネスクラスということで、経由便より単価は高めで、高付加価値を狙った路線だったことがわかる。

けどこの2路線は2013年に廃止されてしまった。その理由は経由便にA380を導入した代替と言われている。

以前から、ロサンゼルスには東京(成田)経由で、ニューヨークへはフランクフルト経由の便があって、

それは直行便があったときも飛んでたんだけど、現在はいずれもA380で運航されている。


他に、エアインディアがムンバイ~ニューヨークで777-200LRを使った直行便を飛ばしていたそうだけど、これも現在は経由便になっている。

現在、最長の航空路線はカンタス航空のシドニー→ダラス(シドニー行きはブリスベン経由)で、これは13800kmとのこと。

使用機材はボーイング747-400、航続距離は14000km程度で、かつては画期的な航続距離だったのだが、

現在はこの程度の航続距離に対応できる機材はいろいろありまして、今や普通に飛ばせる距離になっている。


確かに16000km以上の距離をノンストップで飛べる飛行機はあるのだけど、

しかし、結局は活用されておらず、14000km程度の路線が現実的な直行便の限界となっているようだ。

これぐらいの距離なら他にもいくつか路線はあるようだけど。


以上のことを踏まえて、最初に示した関空を中心とした等距圏を描いた地図を改めて見てみよう。

14000kmというと地球の裏側から数えて3本目の線にあたる。

南アメリカは完全に抜けているが、アフリカならほぼどこでも飛ばそうと思えば飛ばせそうなことがわかる。

ヨハネスブルグでも直行便が飛ばせる範囲にあるというのはちょっとした驚きだ。

実際には日本からはエジプトのカイロへの便ぐらいしかアフリカ便はないんだけどね。(それも現在は政情悪化のため一時運休中)

ちなみに日本発の最長路線はアエロメヒコ航空の成田~メキシコシティ線、これで12000km弱のはず。

ただし、メキシコシティ→成田の便はメキシコ国内で給油のため一旦着陸するので、直行便かというと微妙なところ。

距離がよさそうでも往復飛べるかは難しいんだね。今は機材が変わったからノンストップで行こうと思えばいけるんじゃないの? という話もあるけどどうなんだろ?


直行便が飛べないところに行こうと思えばなんしか経由地を決めて飛んでいかないといけないわけだけど、

それでどれぐらい遠回りになるのか?

最短ルート上にある空港を経由地とすれば離発着と乗り継ぎ時間だけのロスで済むが、最短ルートに都合のいい空港があるかは別問題だ。

それでどれぐらい遠回りになるかというのを図示したいなと思ったのだけど、

そのことはまた明日にでも。図示できるプログラムを作りたいのだ。