リアルタイムの波浪データを取得するには
リアルタイムの波浪データを取得するには、ECMWFのAPIや他の無料で提供されているAPIを利用することが一般的です。以下はECMWFのERA5波浪データを取得するためのPython関数の例です。ただし、ECMWFのAPIは無料枠がありますが、一定の制限があるため注意が必要です。
import requests
import pandas as pd
def get_wave_data(latitude, longitude):
# ECMWF APIのアクセス情報
api_url = "https://api.ecmwf.int/v1"
resource = "data"
product_type = "reanalysis"
dataset = "era5"
stream = "moda"
variable = "swh" # 有義波の有義波高
date = "2023-11-25/to/2023-11-25"
# APIキーの取得(ECMWFのウェブサイトでアカウントを作成し、APIキーを取得してください)
api_key = "YOUR_API_KEY"
# APIにリクエストを送信してデータを取得
request_url = f"{api_url}/{resource}/{product_type}/{dataset}/{stream}/{variable}?latitude={latitude}&longitude={longitude}&date={date}"
headers = {"Content-Type": "application/json"}
params = {"key": api_key}
response = requests.get(request_url, headers=headers, params=params)
if response.status_code == 200:
# レスポンスデータをPandas DataFrameに変換
data = response.json()["data"]
df = pd.DataFrame(data)
return df
else:
print(f"Error: {response.status_code}, {response.text}")
return None
# 例として東京湾の座標を使用
latitude = 35.6895
longitude = 139.6917
# データ取得
wave_data = get_wave_data(latitude, longitude)
# 結果表示
if wave_data is not None:
print(wave_data)
このコードでは、ECMWFのERA5データセットから指定した緯度・経度の有義波高(significant wave height)データを取得します。APIキーはECMWFのウェブサイトでアカウントを作成し、APIキーを取得してください。また、APIの制限に注意してください。
この記事が気に入ったらサポートをしてみませんか?