Web2.0関連で色々なAPIが登場している。その流れに乗ってAPIを自作してみた。APIの定義については,こちらが参考になるだろう。今回作成したのは,緯度と経度をパラメータとして,日射量を計算するAPIである。
具体的には,晴天日における一日の積算日射量を計算するプログラムを作成した。日射量には,太陽から放射された光が直接地上に達する「直達日射」,大気中の日光の散乱により間接的に地上に到達する「天空日射」に分かれており,この2つをあわせて「全天日射」と呼ぶ。このAPIでは月平均の日積算全天日射量が計算できる。
出力形式はJSONとした。この形式はJavascriptで簡単に読み込むことができる。
JSONの出力結果例は以下の通りである。PHPのSystem関数を使い,Cのプログラムを実行する。
http://webmodis.iis.u-tokyo.ac.jp/~tagchan/clanguage/monthly_rad.php?lat=30&lon=140
このAPIの説明のページを作った。一応,日射量を計算するc言語のソースコードも載せておいた。
http://www.tagchan.net/sample/sun_api.html
また,せっかくAPIを作ったのでGoogle Mapsとマッシュアップした。上記サイトにはGoogle Mapsとのマッシュアップの一例が紹介されている。地図をクリックすると,パラメータとなる緯度経度を読み取り,リクエストした計算結果を受け取るようにしている。
もともとは,森林の成長をシミュレーションするために日射量が必要だったため,c言語でこのプログラムを書いていたのだが,もったいないので,APIという形で公開することにした。非常にマニアックなAPIだが,思わぬ利用者が出てくるかもしれないので…。
緯度経度を入れると日の出と日の入り時間を出力するプログラムを今後公開する予定です。
APIについては,これも参考になりそう。
巨人の力を使っちゃえ!Web APIを使えば、あなたの夢も一発で実現
http://www.atmarkit.co.jp/fnetwork/rensai/5minapi/02.html
トラックバック(0)
このブログ記事を参照しているブログ一覧: 全天日射量APIを作ってみた
このブログ記事に対するトラックバックURL: http://www.tagchan.net/cgi/mt/mt-tb.cgi/118

コメントする