pollen.el

pollen.elは、喜多淳一郎さんによる、X-Pollen:フィールドに花粉予報を挿入するためのものです。

2004年1月28日現在、2002年版のpollen/0.3がhttp://kitaj.no-ip.com/XEmacs/pollen/pollen.htmlにあります。
将来的にはhttp://kitaj.no-ip.com/rw-cgi.rb?cmd=view;name=XEmacs-pollenに移行するようです。

所謂スギ花粉症に毎年苦しむ私にとっては(他のアレルゲンもある気がしていますが……)、非常に有り難いツールです。
翌日の飛散予報が「非常に多いです」だと却ってめげることもありますが、それでも尚便利に使わせて頂いています。


[2004年(まで)の情報] [2005年2月の一時的な情報] [2005年の情報] [2006年の情報]


2006年の情報

2006年2月1日現在、従来のデータ取得元は構造も大きく変わり、情報が提供されていないようです。
取り敢えず現在のところ、2005年2月の一時的な情報で用いた方法で使えているようですので、2003年・2004年の新堂安孝さんに倣い、2006年に暫定的に対応した差分をhttp://www.chimons.org/~kyo/emacs/pollen.el.diffで公開します(2005-02-17T19:02:24+09:00)。
喜多さんのpollen.elに適用してお使い下さい。
使い方や変更点は2005年2月の一時的な情報をご参照下さい。

尚、まだ新しい日の予報がない時点で実行した場合には対応しない日付を切り出してきてしまう可能性があります。どなたかご助言頂けると有り難いです……。

更新履歴

2月1日
オリジナルからの差分として2006年版暫定パッチpollen.el.diff公開 (2005-02-17T19:02:24+09:00)

2005年の情報

2004年(まで)の情報にも記した通り、2005年シーズンは2月に入っても従来のデータ取得元で情報が提供されていませんでした。
少なくない方がX-Pollen:フィールドを使い始めるであろう2月1日を過ぎても状況が変わりませんでしたので、取り敢えずデータ所得元を変更してそれに併せた修正を加えたものを2005年2月の一時的な情報として仮に公開していましたが、2月17日になって(いずれにしてもサーバは変更されましたが)従来のデータ取得元での情報提供が確認されました。
下記のように情報提供は終了していますが、6月中旬に更にサーバの変更があったようです。

2005年シーズンの情報提供は5月15日で終了した模様です。
当面は5月16日分の飛散予報が表示されているため、pollen.elが切り出すのもその状態が続くと思われます。不要な方は設定を見直して下さい。

2005年に併せた変更は行っていますが、基本的には2003年・2004年版のパッチをほぼそのまま引き継いでいます。
作者の方々に感謝致します。

日付と飛散予報には

という組み合わせがあることが分かったため、取り急ぎそのいずれからも情報を切り出せる変更を2月20日に行いました。
非常に汚らしい実装な気がするのでどなたかご助言頂けると有り難いです……。
2月17日の版では、まだ新しい日の予報がない時点で実行した場合に「---」という情報を切り出してきてしまいます。

更新履歴

2月4日
2005年2月の一時的な情報として2005年版暫定版pollen.el公開
2月17日
オリジナルからの差分として2005年版パッチpollen.el.diff公開 (2005-02-17T19:02:24+09:00)
2月20日
元データの提示形式に合わせて花粉情報を取得するように修正 (2005-02-20T08:59:15+09:00)
6月20日
取得元を修正 (2005-06-20T02:38:24+09:00)

使い方

オリジナル及び2004年までのパッチと同様です。
地域名はWeathernewsのhttp://mws.wni.co.jp/cww/docs/kafun/をご参照下さい。

詳しくはPollen取り扱い説明書等をご覧下さい。
尚、カスタマイズの項にあるpollen-cache-intervalpollen-fetch-intervalの誤りだと思われます。

変更点

データ取得元の変更
サーバが変わったようです。
予報情報の切り出し方は2004年版パッチから変わっていません。飛散予報がなくてもその部分を切り出してきてしまっていたので変更しました。
地域名の変更
該当する地域の方は、pollen-wherepollen-insert-headerの引数を変更する必要があります。
"2004年までの地域名"→"2005年の地域名"となっていますので、前者を指定して呼び出していた方は後者への書き換えをお願いします。
"青森県下北"・"茨城県南部"・"岐阜県飛騨"・"滋賀県北部"・"広島県北部"に関しては変更の必要はありません。
青森県
[オリジナルから変更/2004年版パッチで対応済み] "青森県下北" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"青森県津軽"と混同されていたようで、2004年版パッチから初めて正しく指定出来るようになりました。
  • これまでは下北地方を指定しても津軽地方のデータが取得されていました。
宮城県
[オリジナルから変更/2004年版パッチで対応済み] "宮城県平野"→"宮城県東部"
[オリジナルから変更/2004年版パッチで対応済み] "宮城県山沿い"→"宮城県西部"
  • オリジナルや2003年版パッチをお使いの方は地域名の変更が必要です。
  • 2004年版パッチを使われていた方は変更の必要はありません。
茨城県
[オリジナルから変更] "茨城県南部" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"茨城県北部"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは南部地方を指定しても北部地方のデータが取得されていました。
岐阜県
[オリジナルから変更] "岐阜県飛騨" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"岐阜県美濃"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは飛騨地方を指定しても美濃地方のデータが取得されていました。
新潟県
[オリジナルから変更] "新潟県佐渡" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"新潟県佐賀"とtypoされていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは佐渡地方を指定してもデータが取得されていませんでした。
滋賀県
[オリジナルから変更] "滋賀県北部" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"滋賀県南部"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは北部地方を指定しても南部地方のデータが取得されていました。
大阪府
[オリジナルから変更/2003年版パッチで対応済み] "大阪府全県"→"大阪府全域"もしくは"大阪府"
  • オリジナルでは"大阪府全県"ですが県ではありませんし2003年版パッチからデータ取得元に合わせて改められました。
  • 2003年版パッチや2004年版パッチを使われていた方は変更の必要はありません。
鳥取県
[オリジナルから変更/2004年版パッチで対応済み] "鳥取県西部"→"鳥取県中・西部"
  • オリジナルや2003版のパッチを使われていた方は地域名の変更が必要です。
  • 2004年版パッチを使われていた方は変更の必要はありません。
広島県
[オリジナルから変更] "広島県北部" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"広島県南部"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは北部地方を指定しても南部地方のデータが取得されていました。
香川県
[オリジナルから変更/2004年版パッチで対応済み] "香川県全県"→"香川県全域"もしくは"香川県"
  • オリジナルでは"香川県全県"ですが2004年版パッチからデータ取得元と大阪府に合わせて改められました。
  • 2004年版パッチを使われていた方は変更の必要はありません。
鹿児島県
[オリジナル変更/2004年版パッチで対応済み] "鹿児島県屋久島種子島"→"鹿児島県種子島屋久島"
  • オリジナルでは"鹿児島県屋久島種子島"ですが2004年版パッチからデータ取得元に合わせて改められました。
  • 2004年版パッチを使われていた方は変更の必要はありません。
pollen-insert-headerをprefix argument付きで実行可能に修正
[オリジナルから変更/2004年版パッチで対応済み] \M-x pollen-from-httpを実行する際、prefix argument付き(\C-u \M-x pollen-from-http)にすると地域名を指定出来ます。
prefix argument付きの際の質問で地域名を補完可能に変更
[オリジナルから変更] \M-x pollen-from-http\M-x pollen-insert-headerを実行する際、prefix argument付き(\C-u \M-x pollen-from-http\C-u \M-x pollen-insert-header)にすると地域名を補完出来ます。

リンク


2004年(まで)の情報

上記のオリジナルに対して、フォーマットの変更に伴う新堂安孝さんによるパッチがhttp://www.fan.gr.jp/~ring/misc/pollen.el.diffにあります。
2003年版のパッチはhttp://www.fan.gr.jp/~ring/d/200302.htmlで徐々に公開されたものが上記に纏められ、2004年版のパッチはhttp://www.fan.gr.jp/~ring/d/?date=200402http://quruli.ivory.ne.jp/diary/?date=200402で徐々に修正されたものが纏められて上書きされているようです。

デフォルトの花粉予報取得開始は二月から、同じく終了は四月までですが、私は.emacsで


(setq pollen-season-start 1)
(setq pollen-season-end 5)

として、一月から五月に掛けてヘッダにX-Pollen:フィールドを加えていますいました

2004年シーズンは予報が1月半ばから5月10日(5月11日分)まで公開されていましたが、2005年シーズンは2月1日現在で従来のデータ取得元での予報の公開がまだ始まっていません。
2004年までのパッチでは、pollen-season-*の設定に拘らず、「Pollen: 予報情報を切り出せません.」と表示されてしまう筈です。
2005年2月17日に予報が公開され始めましたが、サーバが変わっているため、結局同じ表示になる筈です。

その際、新堂さんの2004年2月1日版までのパッチでは二月から四月が想定されている模様なので、その部分のみ喜多さんオリジナルのように、


;; 日付・花粉情報の取得 (シーズン毎に書き換える)
-(while (re-search-forward "\\([2-4]/[1-3]?[0-9]\\)" nil t)
+(while (re-search-forward "\\([0-9]+/[0-9]+\\)" nil t)
  (setq date (match-string 1)))

にしてあります。
月の部分が限定されると辛いですね。日の部分は折角丁寧に書かれているのでそのままでも良いですが。

2004年2月2日版のパッチから対応して頂きました。有り難うございます。
月の部分について、一月から六月までを考慮して頂きました。情報取得元が経験的にそんな感じの範囲にしか存在しないので(ということも併せてご報告しました)、多分これで問題ないでしょう。

pollen-insert-headerをprefix argument付きで実行可能に修正

普段はWanderlustで自分の活動範囲の情報を自動付加していますが、私の環境では\C-u \M-x pollen-insert-headerが効いていない気がするので、


(defun pollen-insert-header (&optional where offline)
  "Insert X-Pollen: header.
If WHERE is nil, the default value `pollen-where' is used instead.
If OFFLINE is nil, don't fetch pollen report from WEB, only use cache."
-  (interactive)
+  (interactive (if (or current-prefix-arg
+                       (null pollen-where))
+                   (list (read-from-minibuffer "Where: "
+                                               pollen-where))))
+  (setq where (or where pollen-where))
  (let ((pollen (pollen-from-http where offline)))
    (if pollen
        (save-excursion
          (save-restriction
            (pollen-narrow-to-header)
            (goto-char (point-max))
            (insert "X-Pollen: " pollen "\n"))))))

とすると、遠出する前に便利でした。

こちらも新堂さんの2004年版パッチに取り込んで頂きました。有り難うございました。

地域名の変更

2004年1月中旬の段階から、新堂さんによる2003年版の修正を施したもので基本的にデータが取得出来ていました。
が、自分に関係のありそうな地域だけ見ていたもので、一部不具合を見落としていました。データ取得元の地域名に若干の変更があったようです。
本格的に"その時期"がやってくると(きて欲しくない…)、またフォーマットの変更があるかも知れません。

一部の地域について、必要なら以下の修正を加えて下さい。
青森県下北地方についてはこれまでずっと見過ごされてきたっぽいです……。


    ;; 東北日本海側
-    ("青森県津軽" . "yoho3110") ("青森県津軽" . "yoho3120")
+    ("青森県津軽" . "yoho3110") ("青森県下北" . "yoho3120")

    ;; 東北太平洋側
    ("岩手県内陸" . "yoho3310") ("岩手県沿岸北部" . "yoho3320")
    ("岩手県沿岸南部" . "yoho3330")
-    ("宮城県平野" . "yoho3410") ("宮城県山沿い" . "yoho3420")
+    ("宮城県東部" . "yoho3410") ("宮城県西部" . "yoho3420")

    ;; 山陰
-    ("鳥取県東部" . "yoho6910") ("鳥取県西部" . "yoho6920")
+    ("鳥取県東部" . "yoho6910") ("鳥取県中・西部" . "yoho6920")

    ;; 四国
-    ("香川県全県" . "yoho7200")
+    ("香川県全域" . "yoho7200") ("香川県" . "yoho7200")

    ;; 九州南部
    ("宮崎県南部平野部" . "yoho8710") ("宮崎県北部平野部" . "yoho8720")
    ("宮崎県南部山沿い" . "yoho8730") ("宮崎県北部山沿い" . "yoho8740")
-    ("鹿児島県薩摩" . "yoho8810")
-    ("鹿児島県大隈" . "yoho8820")
-    ("鹿児島県屋久島種子島" . "yoho900")
+    ("鹿児島県薩摩" . "yoho8810") ("鹿児島県大隈" . "yoho8820")
+    ("鹿児島県種子島屋久島" . "yoho900") ("鹿児島県奄美" . "yoho1000")

これも2004年2月3日版のパッチに取り込まれましたが、2004年シーズンはデータ取得元で一部の地域の表記に変更があったようです。
該当する地域の方は、パッチを導入した場合、pollen-wherepollen-insert-headerの引数を変更する必要があります。

具体的には、上記の通り、

青森県
"青森県下北" (pollen.elにとって実質的に新設)
宮城県
"宮城県平野"→"宮城県東部"
"宮城県山沿い"→"宮城県西部"
鳥取県
"鳥取県西部"→"鳥取県中・西部"
香川県
"香川県全県"→"香川県全域"もしくは"香川県"
鹿児島県
"鹿児島県屋久島種子島"→"鹿児島県種子島屋久島"

の各地域が変更されています。

"2003年までの地域名"→"2004年の地域名"となっていますので、前者を指定して呼び出していた方は後者への書き換えをお願いします。
"青森県下北"に関しては変更の必要はありません。


2005年2月の一時的な情報

2004年(まで)の情報にも記した通り、2005年シーズンは2月に入っても従来のデータ取得元で情報が提供されていませんでした。
少なくない方がX-Pollen:フィールドを使い始めるであろう2月1日を過ぎても状況が変わりませんでしたので、取り敢えずデータ所得元を変更してそれに併せた修正を加えたものを仮に公開しました。

2月17日に従来のデータ取得元での情報提供が確認されたため、改めて2005年の情報と分離しました。
こちらの項は古い情報ということになります。
このようなこともあろうかと思って敢えてヴァージョン表記を変えてありましたが、暫定版であるpollen/0.4はこれで御役御免のつもりです。2月4日から2月17日までの二週間、予報は全て「少ない」でしたが、お役に立てましたでしょうか。

2月4日にhttp://www.chimons.org/~kyo/emacs/pollen.el.20020504を公開しました(2005-02-04T04:18:50+09:00)。
これには"新潟県佐渡"であるべきところが"新潟県佐賀"となっているというオリジナル以来の誤りが含まれていましたので、2月17日に修正した物も一応http://www.chimons.org/~kyo/emacs/pollen.el.20020517に公開しておきます(2005-02-17T19:08:59+09:00)。

2005年に併せた変更は行っていますが、基本的には2002年版のオリジナル及び2003年・2004年版のパッチをほぼそのまま引き継いでいます。
作者の方々に感謝致します。

使い方

オリジナル及び2004年までのパッチと同様です。
地域名はasahi.comのhttp://weather.asahi.com/kafun/をご参照下さい。
詳しくはPollen取り扱い説明書等をご覧下さい。

Emacs 21.2.1 / 21.3.1とMeadow 2.00で動作確認がされています。

変更点

データ取得元の変更
予報情報の切り出し方もそれに併せて変更してあります。
地域名の変更
該当する地域の方は、pollen-wherepollen-insert-headerの引数を変更する必要があります。
"2004年までの地域名"→"2005年の地域名"となっていますので、前者を指定して呼び出していた方は後者への書き換えをお願いします。
"青森県下北"・"茨城県南部"・"岐阜県飛騨"・"滋賀県北部"・"広島県北部"に関しては変更の必要はありません。
青森県
[オリジナルから変更/2004年版パッチで対応済み] "青森県下北" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"青森県津軽"と混同されていたようで、2004年版パッチから初めて正しく指定出来るようになりました。
  • これまでは下北地方を指定しても津軽地方のデータが取得されていました。
宮城県
[2004年版パッチから変更/オリジナルからは変更なし] "宮城県平野"→"宮城県東部"
[2004年版パッチから変更/オリジナルからは変更なし] "宮城県山沿い"→"宮城県西部"
  • いずれも2003年以前→2004年→2005年と地域名が変わっています。
  • 2004年版パッチを使われていた方は地域名の変更が必要です。
  • オリジナルや2003年版パッチをお使いの方は変更の必要はありません。
茨城県
[オリジナルから変更] "茨城県南部" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"茨城県北部"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは南部地方を指定しても北部地方のデータが取得されていました。
岐阜県
[オリジナルから変更] "岐阜県飛騨" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"岐阜県美濃"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは飛騨地方を指定しても美濃地方のデータが取得されていました。
滋賀県
[オリジナルから変更] "滋賀県北部" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"滋賀県南部"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは北部地方を指定しても南部地方のデータが取得されていました。
大阪府
[各年版から変更] "大阪府全域"もしくは"大阪府"もしくは"大阪府全県"
  • オリジナルでは"大阪府全県"だけですが他の二つも指定可能です。
  • 2003年版パッチからは"大阪府全域"と"大阪府"に改められましたが、全県という表現が復活したのでそれも指定可能です。
  • 大阪府は府なので「全県」はおかしい気もしますが……。
広島県
[オリジナルから変更] "広島県北部" (pollen.elにとって実質的に新設)
  • これは喜多さんのオリジナルからずっと"広島県南部"と混同されていたようで、2005年版から初めて正しく指定出来るようになりました。
  • これまでは北部地方を指定しても南部地方のデータが取得されていました。
鳥取県
[2004年版パッチから変更/オリジナルからは変更なし] "鳥取県中・西部"→"鳥取県西東部"
  • 2003年以前→2004年→2005年と地域名が変わっています。
  • 2004年版パッチを使われていた方は地域名の変更が必要です。
  • オリジナルや2003版のパッチをお使いの方は変更の必要はありません。
香川県
[各年版から変更] "香川県全域"もしくは"香川県"もしくは"香川県全県"
  • オリジナルでは"香川県全県"だけですが他の二つも指定可能です。
  • 2004年版パッチでは"香川県全域"と"香川県"に改められましたが、全県という表現が復活したのでそれも指定可能です。
鹿児島県
[各年版から変更] "鹿児島県屋久島種子島"もしくは"鹿児島県種子島屋久島"→"鹿児島県種子島・屋久島"
  • オリジナルでは"鹿児島県屋久島種子島"でした。
  • 2004年版パッチでは"鹿児島県種子島屋久島"でした。
pollen-insert-headerをprefix argument付きで実行可能に修正
[オリジナルから変更/2004年版パッチで対応済み] \M-x pollen-from-httpを実行する際、prefix argument付き(\C-u \M-x pollen-from-http)にすると地域名を指定出来ます。
prefix argument付きの際の質問で地域名を補完可能に変更
[オリジナルから変更] \M-x pollen-from-http\M-x pollen-insert-headerを実行する際、prefix argument付き(\C-u \M-x pollen-from-http\C-u \M-x pollen-insert-header)にすると地域名を補完出来ます。
ヴァージョン表記の変更
仮に作成したこの版とオリジナルとの区別のため、喜多さんによる0.3から0.4に表記を変更させて頂きました。

今後の課題

新堂さん、喜多さん、皆様、日記等でのご紹介有り難うございます。
宜しければ、お住まいの地域等の情報がきちんと切り出せているかどうか、またどのEmacsenで動作しているか、お知らせ頂ければ幸いです。

pollen-composeについては過去のパッチをそのまま使わせて頂いていましたが、例えばpollen-messageだけについても色々と考えますね……。
オリジナル以来のものではありますが、よくよく考えてみるとデフォルトが「〜杉花粉〜」でなくても良いのかも知れません。pollen.elが使われる季節だけを考えても正確には主に「〜スギ・ヒノキ花粉〜」でしょうし、例年の飛散予報は各種の花粉をまとめての量でしかない筈ですから単に「〜花粉〜」とした方が正しいとも言えるでしょう。
2004年版パッチ以来ユーザーがカスタマイズを意識する様にされているので、今更大元に手を加えなくてもお使いの方のご趣味で設定して頂けば良いのですが。例えば.emacs等に以下を書いてしまうのも手です。


(setq pollen-message "%sの%s地方のスギ・ヒノキ花粉は%sです")
        ; 最初の%sは日付
        ; 二番目の%sは地域名
        ; 三番目の%sは花粉予報

リンク


Emacsへ戻る


Copyright(C) 2004-2006, MATSUURA, Kyo. All rights reserved.
kyo@chimons.org