東京アメッシュAPI
東京アメッシュは便利なサイトなんですけど、willcomでPCページとして見るとサイトが大きすぎてなかなか表示されません。以前はSoftbank用の東京アメッシュが見られたんですが、IP制限かユーザエージェンの制限がかかって見られなくなってしまいました。しょうがないのでPHPで自作することにします。
東京アメッシュでは、
地形画像
地名画像
雨画像の3種類を合成して表示しています。雨画像のURLは
http://tokyo-ame.jwa.or.jp/mesh/100/200812241410.jpg
のようになります。ファイル名はYYYYMMDDHHMMです。最後のMは0固定です。
後はGDでごにょごにょすれば、おk。ただし、このままだと3080x1920という巨大なイメージなので、引数としてw,h,x,yを追加します。幅、高さ、左上からのx座標、左上からのy座標になります。
http://localhost/ame.php?w=500&h=400&x=1665&y=705
でこんな感じです。

ソースは以下の通りです。
東京アメッシュでは、
地形画像
地名画像
雨画像の3種類を合成して表示しています。雨画像のURLは
http://tokyo-ame.jwa.or.jp/mesh/100/200812241410.jpg
のようになります。ファイル名はYYYYMMDDHHMMです。最後のMは0固定です。
後はGDでごにょごにょすれば、おk。ただし、このままだと3080x1920という巨大なイメージなので、引数としてw,h,x,yを追加します。幅、高さ、左上からのx座標、左上からのy座標になります。
http://localhost/ame.php?w=500&h=400&x=1665&y=705
でこんな感じです。

ソースは以下の通りです。
<?php
define("MAX_WIDTH", 3080);
define("MAX_HEIGHT", 1920);
define("MAP_URL", "http://tokyo-ame.jwa.or.jp/map/map100.jpg");
define("MSK_URL", "http://tokyo-ame.jwa.or.jp/map/msk100.png");
// 現在の雨URLを取得する
function getAmeUrl() {
$prefix = "http://tokyo-ame.jwa.or.jp/mesh/100/";
$postfix = "0.gif";
// 現在の時間を取得
$date = new DateTime();
// 分の1桁部分を削る
$result = substr($date->format("YmdHi"), 0, 11);
return $prefix.$result.$postfix;
}
// 値を取得する
function getValue($key, $default) {
if (isset($_GET[$key])) {
return (int)$_GET[$key];
} else {
return $default;
}
}
// 地形と雨を合成
$mapImage = imageCreateFromJPEG(MAP_URL);
$ameImage = imageCreateFromGIF(getAmeUrl());
imageCopy($mapImage, $ameImage, 0, 0, 0, 0, MAX_WIDTH, MAX_HEIGHT);
imageDestroy($ameImage);
// 地名を合成
$mskImage = imageCreateFromPNG(MSK_URL);
imageCopy($mapImage, $mskImage, 0, 0, 0, 0, MAX_WIDTH, MAX_HEIGHT);
imageDestroy($mskImage);
// 切り取り
$w = getValue("w", MAX_WIDTH);
$h = getValue("h", MAX_HEIGHT);
$x = getValue("x", 0);
$y = getValue("y", 0);
$resultImage = imageCreate($w, $h);
imageCopy($resultImage, $mapImage, 0, 0, $x, $y, $w, $h);
imageDestroy($mapImage);
// 出力
header('Content-Type: image/png');
imagePNG($resultImage);
imageDestroy($resultImage);
?>
<<Zend_Configのメモ | HOME | Google Mapを画像に変換する>>
COMMENTS
COMMENT FORM
TRACKBACK
| HOME |



