bilawalsidhu/gods-eye-view
ブラウザの3D地球儀に、いま飛んでいる機体や船を実データで重ねる
どういうものか
ブラウザの中に3Dの地球儀を出し、その上に13種類の実時間データを重ねて見るものです。旅客機、軍用機、衛星、地震、山火事、公開されている街頭カメラ、ラジオ放送。地球儀そのものは CesiumJS と Google の写実的な3Dタイルで描かれていて、その上を実際に動いているものが流れていきます。
データ源はそれぞれ別です。航空機は OpenSky、衛星は CelesTrak、地震は USGS、火災は NASA FIRMS。取得の間隔は15〜30秒ほどと粗いので、ブラウザ側でその間を補間して、滑らかに動いているように見せています。船舶(AISStream)と火災は無料のキーが要り、Google Maps は従量課金のキーが必要です(月1,000回までの無料枠があります)。
鍵の扱いが層ごとに分かれているのが、構造上いちばん注意の要るところです。OpenAI・AISStream・TomTom などのキーはサーバー側で仲介され、ブラウザには渡りません。一方で Google Maps と Cesium ion のキーは、意図的にブラウザ側へ出す設計です。README も、この2つはプロバイダ側で利用制限をかけるように念を押しています。音声で地図を動かす機能もありますが、そちらは OpenAI を使う部分で、キーがブラウザに触れない形になっています。
どんなときに使うか
公開されている実時間データが、実際どれだけあるのか見たいとき
「そういうデータが公開されている」と聞くのと、地球儀の上で動いているのを見るのとでは、掴み方がまったく違います。しかも13層のうち10層は認証なしで動きます。何が取れるのかを一望する入口になります。
地図の上にデータを重ねる作りの実例がほしいとき
取得間隔の粗いデータを滑らかに見せる、鍵をサーバーに置いてブラウザに渡さない、といった判断が実物として読めます。似たものを自分で作るときの下敷きになります。
注意点
使ってはいけない用途が README に明記されています。 特定個人の検索・顔認証・個人の追跡は実装しない方針であること。飛行、海上航行、緊急対応、医療の判断といった実運用に使ってはいけないこと。データには遅延・欠け・推定値が含まれうること。名前の印象とは逆に、そこは慎重に線を引いてあります。
ライセンスが一枚岩ではありません。 コードは MIT ですが、README に載っている映像素材(GIF17本・PNG2本)は作者が撮影したもので MIT の対象外だと書かれています。データ源ごとの利用規約も別途あります。当サイトのライセンス欄も「NOASSERTION(判定不能)」と表示されます。素材を持ち出すときは、README の但し書きを確認してください。
作者ひとりのプロジェクトです。 貢献者は1人。YouTube で広く見られたシリーズ「God’s Eye View」が元になったプロジェクトだと README に書かれています(README の表記は「5M+ on YouTube」で、何の数かまでは書かれていません)。長く保守される保証は、いまのところ読み取れません。