Rapid Express

Rapid Express

中小企業を支援するLinuxベースのWebアプリケーション開発

Rapid Express RSS Feed
 
 
 
 

気象庁のサイトから天気予報を定期取得するMortScript

気象庁のサイトから天気予報を定期取得するMortScript用のスクリプトです。
rlTodayのスキンでの利用を前提に、取得した文字データはレジストリに格納します。

wether1227.zip
最新版をダウンロードしてください

同じ趣旨のrlTodayスキンとMortScriptのセットはすでに存在していますが、

  • 私が、rlTodayには世界時計と天気予報の機能しか要求としていないこと
  • 既存スクリプトを機能限定で利用するなら自前で作ったほうが小回りが聞くこと
  • 気象庁サイトからの取得なら元ソースがSJISなのでqkc.exeとか必要ないこと
  • 自動接続のための常駐ソフトは利用したくないからなんとかしたいと思ったこと
  • 自分が理解できたコードだけを利用すれば納得できること

などなどの思惑から新たに作成しました。
ということで、次のような特徴があります。

  • rlTodayスキンが自分で書ける人のための、天気予報データ収集スクリプトです。
  • 気象庁のサイトから「今日」「明日」「明後日」のデータを取得します。
  • MortScript以外のフィルタ(qkc.exe, utf8sjis.exe等)は必要せず、導入が楽です。
  • MortScriptだけで自動接続できる(はず)で、AutoConnectの導入は不要です。

rlTodayのスキンは含まれてません。

■要求仕様

・MortScript 4.1以上

※動作確認は Advanced/W-ZERO3[es] で行なっています。

■事前準備

・rlTodayを導入
http://rotlaus-software.de/projects/rltoday/

・MortScript 4.1以上を導入
http://www.sto-helit.de/index.php?module=download&action=view&entry=65

■rlTodayのスキン構成

[Program Files]
[rlToday]
[myskin]
skin.xml
wether1.png     今日の天気画像(iconsフォルダからコピーされます)
wether2.png     明日の天気画像
wether3.png     明後日の天気画像
[icons]
hare.png
kumori.png
ame.png
:
:
[scripts]
wether.mscr
wether.ini

※ スキンの名前は任意で構いません。
※ スクリプトの置き場は任意の場所で構わず、上記の位置である必要はありません。
※ wether.iniはwether.mscrと同じフォルダに必要です。
※ wether.mscrを名前変更したときは、wether.iniも同名にする必要があります。

◎天気画像の準備について

気象庁の予報は、天候によって全30種類のアイコン画像で表現されています。

厳密には、iconsフォルダには対応する30個の画像が必要ですが、例えば、
「晴れ後曇り」と「晴れ時々曇り」や「曇りのち晴れ」などを同じ画像にすれば、
画像の種類を減らすことができます。

今日、明日、明後日の天気画像はそれぞれ、スキンフォルダの wether1.png、wether2.png、
wether3.png にコピーされます。
これらの画像をスキンに表示させてください。

■レジストリ情報

天気予報の文字情報は、以下のレジストリに格納されます。
必要に応じて、これらの情報をスキンに表示させてください。
date, rain, tempの各値は、単位を省いた数値のみです。

[HKCU\Software\studio_unq\wether]
perfecture      = 都道府県名        :東京都
location        = 地域名            :東京地方
modified        = 更新日時          :07日11時

[HKCU\Software\studio_unq\wether\1]
date            = 今日の日付        :07
alt             = 予報              :曇り後晴
information     = 詳細              :北西の風 後 北の風 くもり 昼過ぎ から 雨
rain_early      = 降水確率(未明)  :-
rain_morning    = 降水確率(午前)  :-
rain_afternoon  = 降水確率(午後)   :30
rain_evening    = 降水確率(夜)    :60
temp_min        = 最低気温          :
temp_max        = 最高気温          :10

[HKCU\Software\studio_unq\wether\2]
date            = 明日の日付
alt             = 予報
information     = 詳細
rain_early      = 降水確率(未明)
rain_morning    = 降水確率(午前)
rain_afternoon  = 降水確率(午後)
rain_evening    = 降水確率(夜)
temp_min        = 最低気温
temp_max        = 最高気温

[HKCU\Software\studio_unq\wether\3]
date            = 明後日の日付
alt             = 予報
information     = 詳細

■wether.iniによるカスタマイズ

1.天気画像の指定

用意した天気画像ファイルを、[icons]セクションで割り当ててください。

[Icons]
;晴れ
100=hare.png
;晴れ時々曇り
101=harekumo.png

左辺の値は固定です。
コメントを参考に、割り当てるべき画像ファイル名を右辺に指定してください。

2.地域の選択

デフォルトでは、東京都の東京地方の予報を取得します。
これは、[Default]セクションの url と table_number で指定されます。

[Default]
url=http://www.jma.go.jp/jp/yoho/319.html
table_number=0

urlで都道府県ページを指定し、ページ中で何番目のテーブルを利用するかを
table_numberで指定してください。
ページの先頭の地域ならば、table_number=0です。

3.巡回時刻

予報を取得する時刻を [Default]セクションの run_at_hoursに半角カンマ区切りで列記し、
実行分をrun_at_minitで指定します。

以下の例では、05:05、11:05、17:05 に実行されます。

run_at_hours=5,11,17
run_at_minit=5

■最初の実行とアンインストール

wether.mscrをタップして実行すると(MortScript.exeへの関連付けされているならば)、
天気情報を取得後、次回の取得巡回スケジュールをシステムに登録します。
その後は、run_at_hours の指定に従って自動で巡回を続けます。

このスケジューリングをキャンセルする方法は特に用意していません。

wether.mscrを削除(または移動)してしまえば、次回巡回時に実行エラーとなり、
システムのスケジューリングからも消えます。

実行エラーを待つことなく、直ちにスケジューリングから削除したい場合には、
WakeApp などのユーティリティを利用してください。





4 Responses to “気象庁のサイトから天気予報を定期取得するMortScript”

  1. 1
    solipt:

    初めまして。
    現在ファイルがDLできないようですが、公開を中断されているのでしょうか?
    リンクに誤りがあるかもと思いまして、念のためコメントさせていただきました。

  2. 2
    匿名:

    ファイル名が
    wether1207.zip
    ではなく、
    wether1227.zip
    のようです。

    管理人さんのコメントを待ったほうが確実ですが・・・

  3. 3
    my:

    soliptさん
    ごめんなさい。リンク先をtypoしてましたので、修正しました。

  4. 4
    my:

    匿名さん
    ご指摘ありがとうございます。

    コメントもすぐに表示されませんでしたね。
    迷惑判定を最大にしていたせいで、私自身の投稿も保留されてしまいました。調整が難しいなあ…

Leave a Reply



Tags

Links




Meta


TMAX.MYOPENSRC.COM