雨量
このエンドポイント群は、中央気象署の雨量観測点の 10 分、1 時間から 3 日までの積算雨量を提供します。約 10 分に 1 件で、3 日保持します。別に、単一観測点の直近 24 時間または 7 日の雨量の推移があります。雨量の地図、大雨の順位、雨量のグラフに向きます。共通形式(フィールドごとの配列、差分の時刻リスト、サーバーの選び方)は気象 API の概要を参照してください。
データライセンス
Section titled “データライセンス”推奨表記データ出典:中央気象署、ExpTech Studio(exptech.dev)
- 中央気象署:中央気象署のデータ利用規約(政府データオープンライセンスなど)も適用されます。気象・地震情報は中央気象署の発表を正とします。
表記の場所、例、商用利用の申請はデータの利用条件と出典表記をご覧ください。
現在は API Token は不要です。
観測点一覧を取得
Section titled “観測点一覧を取得”観測点 ID に対応する名称、県・市、郷鎮、標高、座標です。形式は天気の観測点一覧と同じです。
curl "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/station"const res = await fetch("https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/station");if (!res.ok) throw new Error(`HTTP ${res.status}`);const data = await res.json();console.log(data);import requests
res = requests.get( "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/station", timeout=10,)res.raise_for_status()print(res.json())成功
{ "C0TB40": { "n": "崇德", "c": "花蓮縣", "t": "秀林鄉", "alt": 8, "lat": 24.1661, "lon": 121.6574 }, "C0SD20": { "n": "富山", "c": "臺東縣", "t": "卑南鄉", "alt": 21, "lat": 22.8224, "lon": 121.1908 }}データは変わっていません(If-None-Match が一致)。body なしレスポンスボディなし
試してみる
レスポンスのフィールド
Section titled “レスポンスのフィールド”レスポンスはオブジェクトで、key は観測点 ID です。
| フィールド | 型 | 説明 |
|---|---|---|
{站號}.n | string | 観測点名 |
{站號}.c | string | 県・市 |
{站號}.t | string | 郷鎮市区 |
{站號}.alt | number | 標高(m) |
{站號}.lat | number | 緯度。小数第 4 位 |
{站號}.lon | number | 経度。小数第 4 位 |
一覧は最新の 1 件のスナップショットから取るため、その 1 件に含まれる観測点だけが並びます(注意事項を参照)。まだデータがないときは {} を返します。
最新の雨量を取得
Section titled “最新の雨量を取得”最新の 1 件の雨量スナップショットです。フィールドごとの配列で、各フィールドは ids と同じ添字で揃います。
curl "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain"const res = await fetch("https://api.core-tnn1.exptech.dev/api/v5/meteor/rain");if (!res.ok) throw new Error(`HTTP ${res.status}`);const data = await res.json();console.log(data);import requests
res = requests.get("https://api.core-tnn1.exptech.dev/api/v5/meteor/rain", timeout=10)res.raise_for_status()print(res.json())成功
{ "time": 1794635400, "ids": [ "C0TB40", "C0SD20" ], "now": [ 12.5, 0 ], "10m": [ 1.5, 0 ], "1h": [ 6, 0 ], "3h": [ 11, 0 ], "6h": [ 12.5, 0 ], "12h": [ 20, 0 ], "24h": [ 48.5, 0.5 ], "2d": [ 52, 0.5 ], "3d": [ 52, 3 ]}データは変わっていません(If-None-Match が一致)。body なしレスポンスボディなし
試してみる
レスポンスのフィールド
Section titled “レスポンスのフィールド”雨量の単位はすべて mm で、小数第 1 位です。
| フィールド | 型 | 説明 |
|---|---|---|
time | number | 観測時刻。Unix 秒 |
ids | string[] | 観測点 ID。他の配列はすべてこの順に揃います |
now | number[] | 本日の積算雨量(中央気象署のデータの定義に従います) |
10m | number[] | 過去 10 分の積算雨量 |
1h | number[] | 過去 1 時間の積算雨量 |
3h | number[] | 過去 3 時間の積算雨量 |
6h | number[] | 過去 6 時間の積算雨量 |
12h | number[] | 過去 12 時間の積算雨量 |
24h | number[] | 過去 24 時間の積算雨量 |
2d | number[] | 過去 2 日の積算雨量 |
3d | number[] | 過去 3 日の積算雨量 |
値は出典のデータをそのまま使います。雨量は負にならないため、負の値(よくあるのは -99)は有効な観測がないことを示します。まだデータがないときは {} を返します。
スナップショットの時刻リストを取得
Section titled “スナップショットの時刻リストを取得”現在照会できる雨量スナップショットの時刻です。差分符号化の Unix 秒で、古い順です。復元方法は差分の時刻リストを参照してください。
curl "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/list"const res = await fetch("https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/list");if (!res.ok) throw new Error(`HTTP ${res.status}`);const data = await res.json();console.log(data);import requests
res = requests.get( "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/list", timeout=10,)res.raise_for_status()print(res.json())成功
[ 1794376800, 600, 600, 600]データは変わっていません(If-None-Match が一致)。body なしレスポンスボディなし
試してみる
レスポンスのフィールド
Section titled “レスポンスのフィールド”| フィールド | 型 | 説明 |
|---|---|---|
[0] | number | 最も古いスナップショットの時刻。Unix 秒 |
[i](i ≥ 1) | number | 直前の 1 件との時間差(秒) |
スナップショットがないときは [] を返します。
指定時刻の雨量を取得
Section titled “指定時刻の雨量を取得”指定時刻の雨量スナップショットです。構造は最新の雨量を取得と同じです。static.core だけで提供し、api.core はこのパスに 404 を返します。
timeパスパラメータ。スナップショットの時刻。10 桁の Unix 秒。/list に出た値でなければなりません
curl "https://static.core-tnn1.exptech.dev/api/v5/meteor/rain/<time>"const res = await fetch("https://static.core-tnn1.exptech.dev/api/v5/meteor/rain/<time>");if (!res.ok) throw new Error(`HTTP ${res.status}`);const data = await res.json();console.log(data);import requests
res = requests.get( "https://static.core-tnn1.exptech.dev/api/v5/meteor/rain/<time>", timeout=10,)res.raise_for_status()print(res.json())成功。構造は最新の雨量と同じ
{ "time": 1794634800, "ids": [ "C0TB40" ], "now": [ 11 ], "10m": [ 2 ], "1h": [ 5.5 ], "3h": [ 9.5 ], "6h": [ 11 ], "12h": [ 18.5 ], "24h": [ 47 ], "2d": [ 50.5 ], "3d": [ 50.5 ]}データは変わっていません(If-None-Match が一致)。body なしレスポンスボディなし
time が整数ではない、またはその時刻にスナップショットがない(保持期限を過ぎたときも同じ)。body なしレスポンスボディなし
試してみる
レスポンスのフィールド
Section titled “レスポンスのフィールド”最新の雨量を取得のレスポンスフィールドと同じです。
単一観測点の雨量推移を取得
Section titled “単一観測点の雨量推移を取得”単一の雨量観測点の、直近 24 時間または 7 日の「過去 1 時間雨量」の系列です。雨量のグラフに向きます。
idパスパラメータ。観測点 ID。例:C0TB40
rangeクエリパラメータ。字面どおりの 7d だけが 7 日を返します。それ以外の値、または省略したときは 24h です
curl "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/trend/<id>"const res = await fetch("https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/trend/<id>");if (!res.ok) throw new Error(`HTTP ${res.status}`);const data = await res.json();console.log(data);import requests
res = requests.get( "https://api.core-tnn1.exptech.dev/api/v5/meteor/rain/trend/<id>", timeout=10,)res.raise_for_status()print(res.json())成功
{ "id": "C0TB40", "range": "24h", "ts": [ 1794549600, 600, 600 ], "rain": [ 0, 0.5, 1 ]}データは変わっていません(If-None-Match が一致)。body なしレスポンスボディなし
この観測点 ID には、範囲内にデータ点が 1 つもありません。body なしレスポンスボディなし
試してみる
レスポンスのフィールド
Section titled “レスポンスのフィールド”| フィールド | 型 | 説明 |
|---|---|---|
id | string | 観測点 ID |
range | string | 実際に使った範囲。24h または 7d |
ts | number[] | データ点の時刻。差分符号化の Unix 秒 |
rain | number[] | 各時刻の、過去 1 時間の積算雨量(mm) |
24h:直近 24 時間にこの観測点が現れた各スナップショット(約 10 分に 1 点)です。tsは観測時刻です。7d:直近 7 日、1 時間に 1 点です。tsはその時の正時で、値はその時の最後の 1 件です。その時の積算雨量に近くなります。
- 時刻はすべて Unix 秒です。
- 各スナップショットに含まれるのは、観測時刻がちょうどその時刻である観測点だけです。出典データでは観測点ごとに観測時刻が揃わないことがあるため、1 つのスナップショットの観測点数は、全観測点より少ないことがあります。観測点ごとの最新値が必要なときは、直近の数件のスナップショットを古い順にマージしてください。
- スナップショットは 3 日保持します。7 日の推移は、別の 1 時間ごとの集計から取ります。
- データ出典:中央気象署のオープンデータの雨量観測です。
- サーバーの選び方は気象 API の概要を参照してください。タイムスタンプ付きスナップショットは
static.core、それ以外はapi.coreです。TNN-1 の URL を直接使うことを推奨します。
