変更履歴 2014-02-16 API の検索パラメータが追加されました。
JSON 形式で応答を返す Web API です。以下の URL にパラメータを付加して GET してください。
指定したパラメータと値によってデータベース内の気象庁防災情報 XML を検索し、一致するものへのリンクが返されます。
http://api.aitc.jp:80/jmardb/search
使用可能なパラメータは以下のとおりです。パラメータの名前はすべて小文字です。
実際の各パラメータの値がどのようなものかは、トップページで検索した結果の一覧を見ると把握できると思います。
また、文字列の検索は部分一致でなく完全一致であることに注意してください。
| status | 気象庁防災情報 XML の status の値を指定します。 |
|---|---|
| infotype | 気象庁防災情報 XML の infotype の値を指定します。 |
| title | 気象庁防災情報 XML の title の値を指定します。これは Control 要素配下にある title で、情報の種類を表す名称です。 |
| headtitle | 気象庁防災情報 XML の title の値を指定します。これは Head 要素配下にある title で、情報の種類よりもやや詳しい名称です。 |
| eventid | 気象庁防災情報 XML の eventid の値を指定します。情報の種類によっては値がありません。 |
| areaname | 気象庁防災情報 XML の Area 要素配下にある Name の値を指定します。ほとんどは地名ですが、異なるものもあります。 これは Head 要素配下にある Area で、情報の種類に関わらず共通です。ただし、存在しない場合もあります。 |
| areacode | 気象庁防災情報 XML の Area 要素配下にある Code の値を指定します。どのような値があるかは気象庁防災情報XMLフォーマット技術資料で公開されている情報を参照してください。 これは Head 要素配下にある Area で、情報の種類に関わらず共通です。ただし、存在しない場合もあります。 |
| areaname_mete | 気象庁防災情報 XML の Area 要素配下にある Name の値を指定します。ほとんどは地名ですが、異なるものもあります。 これは Body 要素配下にある Area で、気象に関する情報の場合に含まれます。 |
| areacode_mete | 気象庁防災情報 XML の Area 要素配下にある Code の値を指定します。どのような値があるかは気象庁防災情報XMLフォーマット技術資料で公開されている情報を参照してください。 これは Body 要素配下にある Area で、気象に関する情報の場合に含まれます。 |
| datetime | 気象庁防災情報 XML の datetime の値を指定します。これは Control 要素配下にある DateTime で、情報の配信日時を表しています。 このパラメータは2つ1組で付加します。指定した日時に囲まれた範囲にある情報が結果として返されます。日時は YYYY-MM-DD HH:mm:ss の形式にしてください。 |
| reportdatetime | 気象庁防災情報 XML の reportdatetime の値を指定します。これは Head 要素配下にある ReportDateTime で、情報の公式な発表時刻です。 このパラメータは2つ1組で付加します。指定した2つの日時に囲まれた範囲にある情報が結果として返されます。日時は YYYY-MM-DD HH:mm:ss の形式にしてください。 |
| targetdatetime | 気象庁防災情報 XML の targetdatetime の値を指定します。これは Head 要素配下にある TargetDateTime で、情報の対象となる時刻です。 このパラメータは2つ1組で付加します。指定した2つの日時に囲まれた範囲にある情報が結果として返されます。日時は YYYY-MM-DD HH:mm:ss の形式にしてください。 |
| validdatetime | 気象庁防災情報 XML の validdatetime の値を指定します。これは Head 要素配下にある ValidateDateTime で、情報が失効となる時刻です。 このパラメータは2つ1組で付加します。指定した2つの日時に囲まれた範囲にある情報が結果として返されます。日時は YYYY-MM-DD HH:mm:ss の形式にしてください。 |
| limit | この検索 API が1度に返す件数を指定します。省略した場合は 20 件です。 |
| offset | この検索 API が返す検索結果の開始位置を指定します。省略した場合は 0 です。 |
| order | この検索 API が返す検索結果の順番を指定します。 new または old を指定します。 省略した場合は old で、古いものから順番に返します。 |
実行例は以下のとおりです。実際にはリクエストパラメータの値に URL エンコードを施しますが、以下はエンコードしていない状態で例示しています。
日時は範囲の開始と終了の2つを指定する必要があることに注意してください。
また limit と offset については、結果に含まれる paging のリンクを利用すれば計算をする必要がありません。
http://api.aitc.jp:80/jmardb/search?datetime=2013-01-01 00:00:00&datetime=2013-02-01 00:00:00&areaname=桜島
{
"data": [
{
"datetime": "2013-01-02 03:41:01",
"headline": [
"火 山:桜島\n日 時:2013年01月02日03時35分(011835UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/67f1f2fa-c9a9-4747-9c65-5f4aca4fefa2",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 03:46:31",
"headline": [
"火 山:桜島\n日 時:2013年01月02日03時35分(011835UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/3dd6e44c-a7b2-4a9b-97be-4d2e4476b46c",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 08:29:14",
"headline": [
"火 山:桜島\n日 時:2013年01月02日08時25分(012325UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/ae35ffa0-3b4e-4418-8720-55625b21e87c",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 08:31:44",
"headline": [
"火 山:桜島\n日 時:2013年01月02日08時25分(012325UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/1d6d6f2b-1110-43b8-9cba-69f782ad71ae",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 08:52:01",
"headline": [
"火 山:桜島\n日 時:2013年01月02日08時47分(012347UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/90bfa228-64bd-4a5e-ab5b-22733afe5bfb",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 08:55:28",
"headline": [
"火 山:桜島\n日 時:2013年01月02日08時47分(012347UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/a4fe901b-b935-4791-a0c4-be4d559d59d5",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 15:47:06",
"headline": [
"火 山:桜島\n日 時:2013年01月02日15時43分(020643UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/bfdcd218-8100-4828-8002-144e0247d9a5",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-02 15:49:25",
"headline": [
"火 山:桜島\n日 時:2013年01月02日15時43分(020643UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/e334acdf-0ccb-4bce-b62d-e3c153097083",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-04 10:18:27",
"headline": [
"火 山:桜島\n日 時:2013年01月04日10時11分(040111UTC)\n現 象:噴火"
],
"link": "http://api.aitc.jp:80/jmardb/reports/d3eabd9b-1611-484d-b514-27da04ae26e8",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-04 16:00:24",
"headline": [
"<火口周辺警報(噴火警戒レベル3、入山規制)が継続>"
],
"link": "http://api.aitc.jp:80/jmardb/reports/0a10b476-931b-45d0-8969-96527158ff0e",
"title": "火山の状況に関する解説情報"
},
{
"datetime": "2013-01-05 03:25:00",
"headline": [
"火 山:桜島\n日 時:2013年01月05日03時20分(041820UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/5576aef2-a5e5-49ab-bb10-bc904ed9f3a4",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-05 03:33:46",
"headline": [
"火 山:桜島\n日 時:2013年01月05日03時20分(041820UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/a1997c8a-4991-4432-9cf1-2f9bd54017e0",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-05 07:00:20",
"headline": [
"火 山:桜島\n日 時:2013年01月05日06時54分(042154UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/945512ea-0818-4fd7-9dc8-42657adcdc9c",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-05 07:04:58",
"headline": [
"火 山:桜島\n日 時:2013年01月05日06時54分(042154UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/9070380e-c6b4-4b68-b511-12b2ae2c34cd",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-05 07:40:12",
"headline": [
"火 山:桜島\n日 時:2013年01月05日07時33分(042233UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/a066029e-b75e-416a-8ad8-ab10dd66cd82",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-05 07:43:40",
"headline": [
"火 山:桜島\n日 時:2013年01月05日07時33分(042233UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/5fd6d300-d577-4737-b537-56dd73a6112a",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-06 23:53:11",
"headline": [
"火 山:桜島\n日 時:2013年01月06日23時49分(061449UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/8e15e84f-1bb2-4e7a-8b13-715779bde867",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-06 23:59:11",
"headline": [
"火 山:桜島\n日 時:2013年01月06日23時49分(061449UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/dd6cbada-8600-448f-9925-360a8febdaab",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-07 01:06:51",
"headline": [
"火 山:桜島\n日 時:2013年01月07日01時02分(061602UTC) 第1報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/3fa658cc-e418-45a4-99af-ceaf64ce4e1a",
"title": "噴火に関する火山観測報"
},
{
"datetime": "2013-01-07 01:13:49",
"headline": [
"火 山:桜島\n日 時:2013年01月07日01時02分(061602UTC) 第2報\n現 象:爆発"
],
"link": "http://api.aitc.jp:80/jmardb/reports/761ef459-a93d-4b46-8cd6-c2d13ec4a85c",
"title": "噴火に関する火山観測報"
}
],
"paging": {
"next": "http://api.aitc.jp:80/jmardb/search?datetime=2013-01-01+00%3A00%3A00&datetime=2013-02-01+00%3A00%3A00&areaname=%E6%A1%9C%E5%B3%B6&limit=20&offset=20",
"previous": null,
"totalCount": 229
}
}
実行結果に含まれるリンクで、気象庁防災情報 XML の元データを参照できます。
URL の末尾に ".json" を付け加えることで JSON 形式のデータも参照できますが、これは当サイトで適当に生成したもので、公式フォーマットではありません。
さらにパラメータ path を追加することで元データの一部を参照できます。以下の例を試してみてください。
http://api.aitc.jp:80/jmardb/reports/761ef459-a93d-4b46-8cd6-c2d13ec4a85c.json?path=/report/head
JSON は元データである XML とは異なり、単語の先頭は小文字で統一されています。
JSON の場合は親オブジェクトの名前を順に指定する、いわゆるパスのような記述を受け取ります。
JSONPath のような特別な特別な構文は持っていません。
JSON 形式で応答を返す Web API です。以下の URL にパラメータを付加して GET してください。
指定した座標に近い、気象庁防災情報 XML の Area 情報が返されます。
※ この機能の作成にあたり 日本の郡・市区町村(2013年9月) を利用しました。公開に感謝いたします。
http://api.aitc.jp:80/jmardb/area
使用可能なパラメータは以下のとおりです。パラメータの名前はすべて小文字です。
| longitude | 経度の値を指定します。 |
|---|---|
| latitude | 緯度の値を指定します。 |
| limit | 何件の結果が必要か指定します。デフォルトは 3 件です。 |
実行例は以下のとおりです。 code には 7 桁のものと 6 桁のものがあります。どのコードが使われるかは気象庁防災情報 XML の種類によって異なります。
http://api.aitc.jp:80/jmardb/area?longitude=139.7512247&latitude=35.6199114
{
"data": [
{
"jisx0402": "13109",
"longitude": 139.731781,
"latitude": 35.6082611,
"code": "1310900",
"name": "東京都品川区",
"forecast": [
{
"code": "130011",
"name": "23区西部"
},
{
"code": "130010",
"name": "東京地方"
},
{
"code": "130000",
"name": "東京都"
}
]
},
{
"jisx0402": "13103",
"longitude": 139.751556,
"latitude": 35.6585007,
"code": "1310300",
"name": "東京都港区",
"forecast": [
{
"code": "130011",
"name": "23区西部"
},
{
"code": "130010",
"name": "東京地方"
},
{
"code": "130000",
"name": "東京都"
}
]
},
{
"jisx0402": "13102",
"longitude": 139.771988,
"latitude": 35.6705704,
"code": "1310200",
"name": "東京都中央区",
"forecast": [
{
"code": "130011",
"name": "23区西部"
},
{
"code": "130010",
"name": "東京地方"
},
{
"code": "130000",
"name": "東京都"
}
]
}
]
}