そらまめ君 WebAPI





結果




結果



結果



結果

環境省が提供している大気汚染データ「そらまめ君」のデータを取得できるAPIです。全部で4種、提供しています。
PHP・Goutteを用いてスクレイピングを行っています。
本サービス使用にあたっては、どなた様も自由にご使用いただけます。
ただし本サービスをご使用する場合、自己責任においてお願いいたします。弊社として如何なる被害において責任を負いかねます。
またレンタルサーバで運用していますので、予告なくサービス停止することがありますことご了承ください。
不具合ありましたらこちらまでメールをお願いします。可能な範囲で対応いたします。

① 指定都道府県局一覧
 次のように指定します。

 www.mm-s.biz/soramame/sora_st_list.php?Pref=<都道府県コード>

 都道府県コードは全国地方公共団体コードに従い、北海道を01として沖縄県が47として割り振られています。
 成功するとJSON形式でデータが得られます。
 ※ 厳密には時間を指定する必要がありますが、APIの中で現時点から2時間前を自動で指定します(最新としています)。

 例:北海道(01)の例
 www.mm-s.biz/soramame/sora_st_list.php?Pref=01


② 指定局の一週間データ
 次のように指定します。

 www.mm-s.biz/soramame/sora_week_data.php?MstCpode=<局コード>&Time=<指定時間>

 局コードは① 指定都道府県局一覧から得ることができます。
 指定時間は、YYYYMMDDHH形式です。
 成功するとJSON形式でデータが得られます。
③ 指定都道府県の時報
 次のように指定します。

 www.mm-s.biz/soramame/sora_hour_pref_data.php?Pref=<都道府県コード>&Time=<指定時間>

 成功するとJSON形式でデータが得られます。
④ 指定ブロックの時報
 次のように指定します。

 www.mm-s.biz/soramame/sora_hour_block_data.php?BlockID=<ブロックID>&Time=<指定時間>

 ブロックIDは、次の通りです。  01:北海道/02:東北/03:関東/04:東海/05:中部/06:近畿/07:中国・四国/08:九州/09:沖縄
 成功するとJSON形式でデータが得られます。詳しくは本ページのサンプルをご覧ください。
エラーについて
 戻ってくるJSONデータのstatusがtrueである場合が成功で、falseはエラーです。
 エラーは3種類で、errorとして次の文字列がセットされます。なお成功した場合は、errorは空白です。
 ① そらまめ君のサーバから応答がないとき [SERVER no response.]
 ② スクレイピングしたデータがゼロまたは1行のとき [soramame no data. Check your parameter.]
   ※ そらまめ君はデータがなくとも空の1行データを返してきます。
 ③ パラメータが間違っている場合 [parameter error.]
   ※ スクレイピングを行う前に文字長さと数字確認を行っています。



本APIはJSONPに対応しておりajaxからのクロスドメインによる呼び出しが可能です。

読み出し方の例(沖縄県の局一覧を読み出し)
                        
<script src="https://code.jquery.com/jquery-1.11.1.min.js">
<script>
    $.ajax({
        url: 'https://mm-s.biz/soramame/sora_st_list.php',
        type: 'GET',
        data: {
            format: "json",
            'Pref': "47"
        },
        dataType: 'jsonp',
        jsonpCallback: 'callback',
        success: function (d) {
            if (d.status) {
                //成功の場合...データカウントと1番目の局名
                var cnt = d.count;
                var st = d.data[0].NAME;
            } else {
                //エラーの場合
                var err = d.error;
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            //AJAXに失敗した場合...
            document.getElementById("result").innerHTML = (XMLHttpRequest + "" + textStatus);
        }
    });
</script>

                    

  2017年3月27日 新規作成
  2017年3月29日 エクセル出力機能追加
  2018年12月8日 https対応
  2020年2月23日 Goutte(PHP)バージョンアップ対応