Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kenkawakenkenke/sleeping_population
Script to estimate the % of the population of the world sleeping at any point in time
https://github.com/kenkawakenkenke/sleeping_population
Last synced: 2 days ago
JSON representation
Script to estimate the % of the population of the world sleeping at any point in time
- Host: GitHub
- URL: https://github.com/kenkawakenkenke/sleeping_population
- Owner: kenkawakenkenke
- License: mit
- Created: 2021-03-10T03:37:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-04-05T02:23:05.000Z (over 3 years ago)
- Last Synced: 2024-08-03T13:14:07.403Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.81 MB
- Stars: 21
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# いま世界で寝ているのは何%?
各日本時間に世界の何割が寝ているか計算するスクリプトです。
tl:dr;
- 日本時間 6 時に世界の 79%が寝ています
- 日本時間 21 時に世界の 2%が寝ています
(2020/3/11 更新:時間帯の処理をより正確にしたため結果を更新しました)![人口グラフ](rsrc/sleeping_population.jpg)
もともと[こちらのツイート](https://twitter.com/sobsin/status/1369397843350478852)で問われていた「歴史的に一番人が寝ていた瞬間っていつだったのかな」がとても面白い疑問だと思い、「歴史的に」の部分は飛ばして「日々、一番人が寝ている時間はいつだろう」を計算してみることにしました。
# 方法
「すべての人は(自分の現地時間の)22 時から 6 時の間に寝る」と仮定します。かなりの単純化ですが、大きく傾向の違いが出るほど乱暴ではないと考えています。
まず、[SEDEC の公開している、座標ごとの推定人口データ](https://beta.sedac.ciesin.columbia.edu/data/set/gpw-v4-population-count/data-download)を使い、経度毎の推定人口を算出します。
![経度毎の人口](rsrc/population_per_longitude.png)
これを使い、各時間帯の人口を計算します。
次に、ある(日本の)時刻において、各時間帯が寝ているか否かを上記仮定に基づき判定し、寝ている人口をプロットします。# 結果と考察
上記 tl:dr;にあまり追記することはありませんが、少し妥当性について語ります。
日本時間の朝 6 時には世界の 79%が寝ているというのは驚きの結果です。簡単な検算をしてみましょう:- [Wikipedia によると](https://en.wikipedia.org/wiki/List_of_continents_by_population)、アジア+アフリカ+ヨーロッパで全人口の 86%が占められています。
- 日本時間 6 時には、
- UTC+8(北京とか)が 5 時で寝ています。
- UTC+1(ヨーロッパの殆ど)が 22 時で寝ています。
- なので、日本時間 6 時にヨーロッパ、アフリカ、アジアの大半は寝ているということになり、79%が寝ているというのは結構妥当っぽいです。# 実行する
まずコードを用意:
```
git clone https://github.com/kenkawakenkenke/sleeping_population.git
cd sleeping_population
npm install
```その間に SEDEC のサイトで Gridded Population of the World (GPW), v4 2020 データをダウンロードしてください。メールアドレスの登録などが必要ですが、無料です:
https://beta.sedac.ciesin.columbia.edu/data/set/gpw-v4-population-count/data-downloadこの中の gpw-v4-population-count_2020.tif を"data"フォルダに置いてください。
最後に、スクリプトを実行:
```
node src/index.js
```すると、結果が出てきます:
```
0:00 9:00 4363479286.312379 0.5446038772262918
1:00 10:00 3148818571.495159 0.3930026224938636
2:00 11:00 2747465974.7750688 0.3429099863275248
3:00 12:00 2748184118.2527204 0.3429996174903358
...
```結構衝撃的な結果だったので、ぜひコードをよく読んで追試していただけると助かります。