花火大会の花火を見る最適な距離感を考えた話

スポンサーリンク
コスパ
スポンサーリンク

はじめに

花火大会は駅が混雑しますね。

でも夏は花火大会を楽しみたいですよね。

この2つの間にある最適解を最近、考えていました。

電車の混雑にも合わないような最適な花火大会を楽しめる距離を。

隅田川花火大会でベストな範囲の一人当たりのスペース

花火大会の最適な距離は500m~600mで、1.5kmまでならキレイに観える範囲内と以下の記事に書いてありました。

鑑賞にベストの距離は!? 花火がキレイに見える場所と天気
大きな花火大会があちこちで開催される時期がやってきました。花火がキレイに見える場所や距離感、天気などについて、花火写真家の金武さんを取材しました。

花火の大きさにもよるので、大きい花火だと、近すぎる場合は見えずらく、さらには近すぎると首も痛くなりがちですね。

今回は半径400m~1.5km内で考えてみます。

2024年の東京の隅田川で行われた、かの有名な「隅田川花火大会」の来場者数は約91万人だそうです。

91万人が半径400m~1.5kmに入る場合の密度は

外側の円(半径1500m)の面積は以下

$$ {Area}_{outer}=\pi×(1500)^{2}=7,068,583  m^{2} $$

内側の円(半径400m)の面積は以下

$$ {Area}_{inner}=\pi×(400)^{2}=502,655  m^{2} $$

円環(外側から内側を引いた領域)の面積は以下

$$ Arearing=7,068,583−502,655=6,565,928 m^{2} $$

この領域で91万人の人口密度を求めると、

$$ Density=\frac{910,000}{6,565,928}≒0.1386人/m^{2} $$

よって一人当たり約7.215$m^{2}$のスペースとなります。

これはビルや川が無い完全な平地の場合です。

本来はこれよりも狭いです。

特に東京は建物が多い分、実質もっと人が要れるスペースは少ないです。

1/3のスペースだと考えると約2.4$m^{2}$となります。

畳1枚当たりの広さは1.62平方メートルなので、1畳半のスペースとなります。。

隅田川花火大会で考えるベストな駅

そして、更なる問題は花火大会が終わった後の駅の混雑です。

上記の通り、半径400m~1.5km内が花火鑑賞の適度な距離と仮定し、今回は花火の鑑賞は1kmほどの距離とします。

そして、帰る際の駅は1.5km~2kmにある駅にした方がよさそうですね。

さて、実際にその駅を求めてみましょう。

今回は駅すぱあとのAPIとpythonを使ってその駅を求めてみました。

●km以内の駅を求めるプログラムを作りました。

プログラムは以下です。

import requests
import json
import math

# Haversineの公式を使って2点間の距離を計算する関数
def haversine(lat1, lon1, lat2, lon2):
    R = 6371  # 地球の半径 (km)
    
    # 度からラジアンに変換
    lat1_rad, lon1_rad = math.radians(lat1), math.radians(lon1)
    lat2_rad, lon2_rad = math.radians(lat2), math.radians(lon2)
    
    # 差を計算
    dlat = lat2_rad - lat1_rad
    dlon = lon2_rad - lon1_rad
    
    # Haversineの公式
    a = math.sin(dlat / 2) ** 2 + math.cos(lat1_rad) * math.cos(lat2_rad) * math.sin(dlon / 2) ** 2
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
    
    return R * c  # 距離を返す (km)

endpoint = "https://api.ekispert.jp/v1/json/station"
api_key = "xxxxxxxxxx" # ★駅すぱあとのAPIキー

# リクエストパラメータ
params = {
    "key": api_key,
    "prefectureCode": 13, # 東京都の駅を求めるようにしている
}

response = requests.get(endpoint, params=params)

data = response.json()

base_lat = 35.716867
base_lon = 139.805278
nearby_points = []
radius = 2  # 半径2km

for station_item in data["ResultSet"]["Point"]:
    distance = haversine(base_lat, base_lon, float(station_item["GeoPoint"]["lati_d"]), float(station_item["GeoPoint"]["longi_d"]))
    if distance <= radius:
        nearby_points.append(
            {
                "station_name": station_item["Station"]["Name"],
                "lat": float(station_item["GeoPoint"]["lati_d"]),
                "lon": float(station_item["GeoPoint"]["longi_d"])
            }
        )

print(nearby_points)

半径1.5km以内の駅にも、半径2km以内の駅にも含まれている駅を除くと、以下の2つの駅が求められました。

「荒川一中前」駅

「入谷」駅

まとめ

以上をまとめると、

隅田川花火大会は1kmぐらいの距離で見て、駅は「荒川一中前」と「入谷」を使うと良さそうですね。

ただし、鑑賞時は1畳半のスペースになるかもしれないです。

タイトルとURLをコピーしました