はじめに

東日本大震災により被害にあわれた皆様に心よりお見舞い申しあげるとともに、犠牲になられた方々とご遺族の皆様に対し、深くお悔やみを申しあげます。何もできない非力な自分が悲しいですが、皆さん同様に少しでも力になれればと思い、日々できることを頑張っていこうと思っています。

Yahooで提供され始めた電力使用状況API

東日本大震災以降、私も計画停電の情報確認や放射性物質の飛散状況の確認のため、より一層ネットを見るようになりましたが、計画停電が実施された頃からYahoo Japanのトップページには東京電力の電力使用状況がグラフ化されて表示されるようになりました。

yahoopowerusage.jpg
電力表示が出るようになったYahooのトップページ

さすがはYahoo Japanだと思っておりましたが、グラフを表示するだけでなく、そのデータを電力使用状況API として公開もしてくれました。

そこで、さっそくこれを使って電力使用状況をグラフにしてみました。

APIデータを使ってグラフを作成

作り方はいつもと同じです。

・APIにリクエストクエリを投げる

・返ってきたレスポンスデータ(XML)をパース

・取得したデータを使ってグラフを作る

流れとしては、ショッピングAPIを取得したときと同じ方法です。

APIのリクエストURLにデータを投げる

http://setsuden.yahooapis.jp/v1/Setsuden/latestPowerUsage?appid=<あなたのアプリケーションID>

レスポンスデータからデータを取得

レスポンスデータから、電力使用量、最大供給量などのデータが取得できます。

<?xml version="1.0" encoding="UTF-8"?>
<ElectricPowerUsage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:jp:setsuden:latestPowerUsage" xsi:schemaLocation="yahoo:jp:setsuden:latestPowerUsage http://setsuden.yahooapis.jp/v1/Setsuden/latestPowerUsage.xsd">
  <Area>tokyo</Area>
  <Usage unit="kW">34100000</Usage>
  <Capacity unit="kW">38500000</Capacity>
  <Date>2011-02-13</Date>
  <Hour>15</Hour>
</ElectricPowerUsage>

pChartを使ってグラフ化

せっかく取得したデータですので、これをYahoo Japanのようにグラフ化して表示してみます。そこでPHPのチャートライブラリpChartを使ってみました。

pChartは、phpにGDライブラリが組み込んであれば、かなり簡単に折れ線グラフや、棒グラフ、円グラフの描画をすることができるライブラリです。

pChartのページにサンプルコードがたくさん用意されているので、使うグラフのサンプルコードを見て、データセットの部分の数値配列、項目配列に、APIで取得したデータを入れれば完成です。

// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(10,2,3,5,3),"Serie1");
$DataSet->AddPoint(array("Jan","Feb","Mar","Apr","May"),"Serie2");
$DataSet->AddAllSeries();
$DataSet->SetAbsciseLabelSerie("Serie2");
power_usage.jpg
電力使用量グラフを表示してみました

一連の処理をcronでバッチ処理

pChartで作ったグラフ画像はpng形式にして出力ができます。APIに都度接続するのもリソースの無駄ですので、一連の処理をcronを使ってバッチ処理するようにしてみました。


おわりに

一日も早い復興を願いつつ、日々節電への協力をしていきましょう。

PHPが学べるおすすめプログラミングスクール

この運営ブログをみて、もしdtn.jp管理人のようにサイトをゼロから作ってみたいという思いに駆られた方は、サイト開発やプログラミングをオンラインで受講できるプログラミングスクールの活用をしてみてはいかがでしょうか。サーバ/WordPress/HTML/CSS/JS/PHP/SQLなどの基本さえ分かれば、ゼロからサイト立ち上げもポンポンできるようになって、今なら仕事や転職にも役立つのでオススメです。

PHPも学べるオンラインスクール

  • CodeCampAWS Cloud9を使ったクラウド上のIDEが用意されているので、ネットにつながればスタート開始可能というゴージャスなスクールです。講師も選べて、Webマスターコースならプログラミング経験0でも一気にフロントエンドからバックエンドまでマスターできます。
  • ウェブカツJava言語やRuby言語なんぞ教えん!という、初心者にありがちな挫折ポイントがよく分かってるスクールです。フロントエンドエンジニアに必要なスキルセット&PHPがマスターできます。
  • フリークス HTML/CSSから始まり、MySQLやLinuxからPHPの変数や分岐やループ、クラスやPDOに最後はMVCまで教えてくれるので、そこまで分かればなんでもできそうです。メンターに質問もし放題がいいですね。
  • テックアカデミー法人のIT研修もやってる業界最大手・受講者数No.1のスクールです。メンターとの定期オンライン面談やチャットサポートなどもあり、大手ならではインフラ環境がウリです。PHPと合わせてjQueryもマスターできる、PHP/Laravelとフロントエンドコースがおすすめです。

オンラインスクールのデメリット

孤独になりがちなサイト制作も、優しいメンターがそばにいてくれれば凄い楽しそうですが、もちろんデメリットもあります。お金がかかるという点です。ひたすらググって、本を読んでよりは確実にコストがかかってしまいます。とはいえ、多少の余裕があるなら、こんなご時世なので時間と労力を買った方が良いと思います。