世界を動かす技術を、日本語で。

HNを表示: ニューヨーク市地下鉄シミュレーターおよびルートデザイナー

概要

  • NYC在住者 による地下鉄サービス可視化ツールの開発
  • 地下鉄の運行状況を 視覚的に把握 できる機能
  • 列車の発車、停車、 追突防止 の動作シミュレーション
  • カスタムルート設計 機能の実装
  • フィードバックや感想の募集

NYC Subwayサービス可視化ツールの紹介

  • 長年 New York City に住んでいる経験を活かした開発
  • 多くの記事で提案される地下鉄サービスの改善案を 視覚的に理解 できるツール
  • 列車が 始発駅から発車 し、各駅に停車する挙動の再現
  • 前方の列車に 接近しすぎた場合の減速 アルゴリズムの実装
  • ユーザー自身が 線路を組み合わせてカスタムルート を設計できる機能
  • 楽しみながら操作できる インタラクティブな体験
  • 使ってみた感想や改善案など、 フィードバックの受付

Hackerたちの意見

すごくクールだね!ルートを編集して「<- 追加」ボタンをクリックすると、「Uncaught Error: coordinates must be an array of two or more positions」ってコンソールエラーが出て、ページが真っ白になっちゃうことがあるんだ。

ありがとう!これはおそらく、向かい合った2つのトラックを追加したせいだね、つまり -->-->-- --<--<-- こんな感じ。こういう選択肢が出ないようにロジックを追加するよ。

すごくいいね!プロジェクトの構造について、もう少し情報がREADMEにあったら嬉しいな。例えば、他の都市にどう適応するかとか :)

ちょっと試してみたよ。これ、OpenStreetMapのデータを使ってるから、他の都市にも簡単に適応できるよ。すべての入力データとスクリプトはsrc/dataにあるから、2つのOverpassクエリを実行して、ニューヨークを好きな都市に置き換えれば、インフラやサービスのJSONデータが手に入るよ。既存の2つのJSONファイルを置き換えて、2つの変換スクリプトを実行すれば、完了だよ。

僕はMTAに仕事を外注してるんだけど、特に彼らのAI/イノベーションチームにね。今日はこれを見せるつもりだよ、ただの遊びで。彼らも楽しむと思うよ。

MTAにおけるAIやイノベーションについてもっと知りたいな。あなたたちの仕事は公開されてるの?

ベイリッジからニュージャージーのクリントンまでのルートをどうやって追加するか分からないんだ。それが僕の理想の地下鉄なんだけど、マンハッタンを通らずにブルックリンからニューアーク空港に行けるやつ。編集:実際にはクリフトンはNYにあって、グーグルマップで遊んでみたら、スタテンアイランドからNJへの公共交通機関はゼロだったよ、マンハッタンを通らないと無理みたい!だから僕のアイデアは役に立たないね、ゴーサルズブリッジを越えてその地下鉄が延伸されない限り。

ブルックリン住民として心から同意するよ。残念ながら、これはトラックデザイナーというよりサービスデザイナーの仕事で、既存のインフラにしか対応してないんだ :(

スタテンアイランドからNJへの公共交通機関ゼロ 島から見える橋は3つだけ。どれか歩けるの?ホーボーケンのライトレールはバイヨンにあって、そんなに遠くないよ。

ついに、公園を横断する地下鉄を作るぞ!

92丁目とブロードウェイ、CPW、5番街、レキシントン、2番街、アストリア大通りを通ってグランドセントラルからLGAに行くのは簡単すぎるよ。

これを愛したいけど、ビジュアルがちょっと使いづらいな。トラックと電車の色を路線の色(123は赤)に合わせて、電車の状態(停車中、駅にいる、など)を示す視覚的なインジケーターを使ったらどうかな?例えば:選択中:黒の塗りつぶし 通常運行:100%不透明のカラー塗りつぶし 減速中:70%不透明 停車中:ストライプ塗りつぶし、50%不透明 駅にいる:脈動する不透明度

それいいアイデアだね。トラックの色を追加したところだよ。今、電車の見た目を再デザインしてる最中なんだ。

カスタムルートをデザインする意味って、楽しみ以外に何かあるのかな?NYCは新しいルートを作ることは絶対にないだろうし。

実はそれがアイデアなんだ。このシミュレーターでは、既存のトラックで運行するサービスをデザインするんだ。NYCの地下鉄は、たくさんの相互接続や四重トラックがあるから、新しいものを作らなくてもシステムの効率を改善するチャンスがたくさんあるんだよ。

大好き!素晴らしい仕事だね。もし可能なら、少しタイムトラベルできるスライダーもあったらいいな。

デフォルトの停車時間がめちゃくちゃ短いよ。高キャパシティのシステムでは、電車の停車時間が乗客のキャパシティを制限する要因になるんだ。30秒が一般的にシステムが管理できる最小の停車時間で、20秒は需要が低い時期に可能かもしれないけど、それ以上は難しいと思うよ。ロンドンのビクトリア線はピーク時に90秒の間隔で運行していて、中央区間では最高でも24秒の停車時間だけど、ほとんどの駅では30〜40秒が現実的だよ。停車時間には、乗客の乗り降りだけじゃなくて、ドアを開ける時間、閉める時間(2〜3秒の視覚的・音響的警告を含む!)、必要な安全チェック、そして最終的に出発する時間も含まれるからね。これらの運行要素が「人が乗り降りする」という駅の停車の核心部分を挟んで、結構な秒数になるんだ。https://www.researchgate.net/figure/Dwell-Time-and-Passenger... ちなみに、NYCの地下鉄は固定自動ブロックシステムを使っていて、あなたのシミュレーションが使っているのは移動ブロックシステムみたいだね。移動ブロックシステムは固定ブロックシステムよりもはるかに効率的なんだけど、NYCの地下鉄の正確なブロック位置をどうやって手に入れるかは全然わからないよ。

ニューヨークの地下鉄は固定自動ブロックのシステムを使ってるんだ。動くブロックシステムじゃなくて、CBTCを使ってる路線はL線、7号線、E、F、M、Rの一部だよ。

どうやってそんなこと知ってるの?

いくつかの停車時間の要素は並行して行えるよ。ドアを開ける時の警告は必要ないし、ドアを閉める時の警告は乗客が乗り込むのと重なるからね。とはいえ、デフォルトの10秒は短すぎるから、もっと妥当な30秒以上に簡単に変更できるよ。

これめっちゃいいね!交通オタクのためのサンドボックスだわ(笑)夫が絶対好きになる。停車時間とシミュレーションレートのスライダーがすごく楽しいし、電車が重なった時の混雑指標やボトルネックフラグを使って色々できるから、悪いルーティングの決定をストレステストするのも面白いよ。