自然

2017/08/01

IOC List V7.3 の特徴

昨日ポストした記事の続きです.

今回の改訂にはいくつかの重要な変更が含まれています.日本のバーダーにとって影響がありそうな主なものを以下に列挙します.

(1) 日本のバーダーには関係ないと思いますが,エミュー科 (Dromaiidae) がヒクイドリ科 (Casuariidae) に統合されました.下位のエミュー属 (Dromaius) はそのままなので,エミューの学名はこれまで同様 Dromaius novaehollandiae です.

(2) カナダカモメ (Larus thayeri) が亜種に格落ちし,Larus glaucoides thayeri となりました.従って和名は無しとするか「亜種カナダカモメ」とすべきでしょう.

(3) トモエガモ (Anas formosa) が Anas から Sibirionetta という一属一種の属に異動し,Sibirionetta formosa となりました.

(4) シマアジの仲間,ハシビロガモの仲間のうち 10 種が Anas から Spatula に異動しました.すなわち,シマアジ (S. querquedula),アフリカコガモ (S. hottentota),プナシマアジ (S. puna),ギンイロシマアジ (S. versicolor),アカハシビロガモ (S. platalea),アカシマアジ (S. cyanoptera),ミカヅキシマアジ (S. discors),ケープハシビロガモ (S. smithii),ミカヅキハシビロガモ (S. rhynchotis),ハシビロガモ (S. clypeata) です.日本のバーダーになじみの深い種も含まれています.

(5) ヒドリガモの仲間 6 種が Anas から Mareca に異動しました.すなわち,オカヨシガモ (M. strepera),ヨシガモ (M. falcata),ヒドリガモ (M. penelope),ワキアカヒドリ (M. sibilatrix),アメリカヒドリ (M. americana),アムステルダムヒドリ (M. marecula) です.

(6) オオモズ (Lanius excubitor) が分割され,亜種 Lanius excubitor borealis が種に昇格して Lanius borealis (Northern Shrike) となりました.和名は暫定的に「キタオオモズ」としています.また,亜種オオモズ (L. e. bianchii) が L. borealis bianchii に,亜種シベリアオオモズ (L. e. mollis) が L. borealis mollis となりました.

(7) ベニヒワ (Acanthis flammea) の欧州の一亜種だった A. f. cabaret が種に昇格し,Acanthis cabaret (Lesser Redpoll) として独立しました.和名は暫定的に「ニシベニヒワ」としています.

これら以外では,ハイイロアジサシの属が異動,シロハラアナツバメの仲間で多くの種の分割が行われています.

私としては Anas マガモ属からの大量の移動がショック.しばらく混乱するだろうと思います.

| | コメント (0) | トラックバック (0)

2017/07/31

IOC List v7.3 Released

IOC World Bird List v7.3 が2017年7月31日にリリースされました.前回 v7.2 のリリースが2017年4月22日だったので,今回は3か月の周期をかなりよく守った形のリリースとなっています.

今回は定性的に大きな変更,特に日本のバーダーにとっては気になる変更がいくつか目立つので,これについては日を改めてご紹介したいと思います.定量的には,特に大量の変更はありません..今回収録されたのは科が 240,属が 2,297,現生種が 10,693,絶滅種が 158,亜種が 20,074 です.

前回同様,上目 (Superorder) の PALEOGNATHAE(古顎類)NEOGNATHAE(新顎類)や,系統群であるNEOAVES がリストの最上位の階層にこっそりと載っています.

今回は大量の亜種の整理統合は行われていないので,亜種の統合はそろそろ終息させたのではないかと思います.


IOC 本家の Master List を編集して,Refsort/Ruby 用の辞書ファイルを作りましたので,このブログサイトと,Microsoft One Drive 上に設けた “IOC List Archive„ にアップロードしておきます.

今回もこの辞書ファイルの正式なエンコーディングは UTF-8 です.従って,Linux 上で使う分には問題は生じませんが,Windows 上で使う際には,入力ファイルは UTF-8 でエンコードされ(辞書ファイルと入力ファイルのエンコーディングを揃える),かつ最初の行に

#!E -*- coding: UTF-8 -*-

というおまじないを書いておかないとエンコーディングの解釈がうまくいきませんのでご注意ください.

しかし,Windows 上でのデフォルトのエンコーディングである US-ASCIIWindows-31J でも手間なく使えるように,エンコーディング指定なしの汎用 US-ASCII 版もアップしておきます.これはどのようなプラットフォームであっても,そのプラットフォームのデフォルトの Locale が無条件で US-ASCII を解釈できることを利用したものです.ただし,欧文のアクセントウムラウトを含む文字は,それらを含まない最も近い文字に置き換えられています.正版はあくまで UTF-8 なので,特に人名を含む種や,種の Authority を見るときにはご注意ください.


このオリジナル英語版の辞書ファイルに続いて,和名追加版2種と,IOC Master List の Excel ファイルに和名を追加したものも同時にリリースしました.和名追加版の辞書ファイルについても,UTF-8 でエンコードしてあるものが正版ですが,Windows などでの使い勝手を考慮して Windows-31J でエンコードしたものも同時にアップしてあります.ただし人名や地名のアクセントやウムラウトなどは,それらを含まない最も近い文字に置き換えてありますのでご注意ください.

和名追加版の辞書ファイルのうち,UTF-8 でエンコードしてある ioclist_v73ju.ref は,Linux などで UTF-8 でエンコードした入力ファイルをソートするときに使うことを想定しています.Linux 上で使う際には,入力ファイルの最初の行に上記のようなエンコーディング指定を書く必要はありませんが,Windows 上で使う場合には,入力ファイルは UTF-8 でエンコードされ(辞書ファイルと入力ファイルのエンコーディングを揃える),かつ入力ファイルの最初の行に

#!E -*- coding: UTF-8 -*-

というエンコーディングを指定しておく必要があります.

逆に,Windows 上で Shift-JIS や Windows-31J でエンコードされた入力ファイルを,Windows-31J でエンコードされた辞書ファイル ioclist_v73jw.ref を用いてソートする際には,入力ファイルの冒頭にエンコーディングの指定は必要ありませんが,この辞書ファイルを Linux 上で使う場合には,入力ファイルは Windows-31J でエンコードされ(辞書ファイルと入力ファイルのエンコーディングを揃える),かつ入力ファイルの冒頭に

#!E -*- coding: Windows-31J -*-

とエンコーディングを指定しておく必要があります.要するに,どのような場合でも辞書ファイルと入力ファイルのエンコーディングを揃え,かつそれぞれの入力ファイルのエンコーディング指定を冒頭に書いておくのが無難です.

これらのファイルをダウンロードするには,従来通りこのブログの右側のコラムで “自作ソフト„ の中から個々のファイルをクリックしても良いのですが,前述のとおり,Microsoft One Drive 上に設けた IOC List 専用のフォルダからもダウンロードできます.それには,このブログ右側のコラムの最上段の “Archive„ の中の “IOC List Archive„ をクリックしてください.そうすると One Drive のフォルダに入ることができますので,あとは適当に選んでダウンロードしてください.今後は One Drive のみに集約していく予定です.


I am pleased to announce that I have posted reference files for Refsort/Ruby compiled directly from the latest IOC World Bird List v7.3. It contains 10,693 extant species, 158 extinct species and 20,074 subspecies, respectively. Please try it out, and enjoy its capability and speed.

Note that the reference file "ioclist_v73u.ref" is encoded in UTF-8 in order to retain all European accents and umlauts with complete fidelity as they are in the IOC Master List. Therefore, your input file should be encoded in UTF-8 as well, and should contain a magic comment on the top of the file such as;

#!E -*- coding: UTF-8 -*-

For those who want to use Refsort/Ruby in universal ASCII environments, I have posted another reference file "ioclist_v73a.ref" encoded in 7-bit ASCII. Note that characters with accents and umlauts have been simplified to their nearest neighbors. So please be careful in particular when you refer to authorities of species.

I have also posted two reference files (encoded in UTF-8 and Windows-31J, respectively) which include Japanese names. If you want to refer to Japanese names, please see those files. In order to sort a list properly using these reference files, you need to align the encoding of the input file to that of the reference file, and you should add a magic comment specifying the encoding of the input file in the first line of the file, such as UTF-8, US-ASCII or Windows-31J.

A master list in Excel format containing a column of Japanese names has been posted as well. This would be more convenient.

You can download an appropriate file by clicking a link listed on the right column of this page, but you can also access files and folders built in my area of Microsoft One Drive by clicking “IOC List Archive„.

| | コメント (0) | トラックバック (1)

2017/07/09

Refsort/Ruby v2.70 Released

辞書参照型ソーティングフィルターをスクリプト言語 Ruby で実装した Refsort/Ruby の開発を10年以上続けています(例えば新しいほうから順に *1 *2 *3 *4 *5 *6 *7 *8 *9 *10 *11 *12 *13 *14).もう仕様は落ち着いていて機能の追加をするつもりは(ほとんど)なく,細々とバグのメンテナンスを行っている状態です.

前回のリリースはつい先週2017年7月2日だったので立て続けの改訂ですが,Refsort/Ruby の改訂版である v2.70 をリリースしました.

今回の改訂内容は2点.一つは出力様式に関するものです.Refsort では,-e オプションや -t オプションを使用した場合,入力された文字列を内部で数値型や日付時刻型に変換し,それを基準にソーティングを行っていたのですが,問題はさらに -u オプションを加えた場合,型変換後のオブジェクトを出力するという,少々恥ずかしい不適切な仕様でした.このような使い方はあまり行わないので,これまで問題が顕在化することはありませんでした.しかし,最近 -t オプションを新たに実装し,テストを繰り返すうちにこの不具合が発覚.そのため,ロジックの深いところに手を入れて,どのようなオプションを使ったとしても,出力時には入力された文字列をそのままの形で出力するようにしました.

例えば,10, 20, 50, 50+, 100, 100+, 100++ という数値が一行に一つずつ書かれている入力を考えてみます.これを -e オプションでソートすると,全ての文字列は浮動小数点型の数値 10.0, 20.0, 50.0, 50.0, 100.0, 100.0 に変換され,比較・ソートされます.これを出力するときに,-u オプションがなければ,従来の仕様でも入力行をそのまま出力するので,10, 20, 50, 50+, 100, 100+, 100++ が出力されて問題なかったのですが,-u オプションを加えると,型変換後のデータ 10.0, 20.0, 50.0, 50.0, 100.0, 100.0 が出力されてしまっていました.

今回の改訂では,-u オプションを付けたとしても,10, 20, 50, 50+, 100, 100+, 100++ が出力されるようにしたものです.日付時刻のデータにしても同様です.

もう一つの改訂内容は,これは完全に内部的なものですが,出力処理を行っている部分に論理の冗長な部分があり,速度を阻害しているように見えたので,冗長な部分を取り除きスクリプトを最適化しました.これもアルゴリズムのかなり深いところに手を入れています.はるか昔に書いた部分なので思い出すのに一苦労しました.将来のためにソースコード中にコメントを残しておきました.

このところ,-M オプション,-e オプションと -t オプションに関係する部分の不具合を直してきましたが,これで一段落付いたと思いますので,Refsort 本体の改訂は一休みできると思います.

| | コメント (0) | トラックバック (1)

2017/07/02

ガマの穂

今日は梅雨の晴れ間の非常に蒸し暑い一日となりました.明日はさらに気温が上がるそうで,もっと不快になるのでしょう.嫌な季節がやってきました.

Summeraroundhome_jul2017_0040m

さて,一昨年,そして昨年と,このブログで近所にガマの群落があることをお伝えしましたが,今年もガマの穂の季節がやってきました.今年は6月前半まで気温が低めだったので,例年に比べると生育がやや遅れているようですが,それでもガマの群落は,穂の数を増やすなど,全体としては健全です.

Summeraroundhome_jul2017_0033m

今日の午前中は薄日が差す程度のお天気だったので,ガマのような細かく一様なテクスチャの被写体は,コントラストが付かずに大変撮りにくいものです.さらに,新しいカメラの露出制御はどうも保守的過ぎるようで,1EV程度露出が少なめです.レタッチして露出が適正になるようにしていますが,コントラストが低くて大変眠たい画になってしまいました.

| | コメント (0) | トラックバック (0)

Refsort/Ruby v2.63 Released

辞書参照型ソーティングフィルターをスクリプト言語 Ruby で実装した Refsort/Ruby の開発を10年以上続けています(例えば新しいほうから順に *1 *2 *3 *4 *5 *6 *7 *8 *9 *10 *11 *12 *13).もう仕様は落ち着いていて機能の追加をするつもりはなく,細々とバグのメンテナンスを行っている状態です.

前回のリリースはつい先週,2017年の6月25日だったのですが,今回の修正は2点.一つは,辞書を参照しないソーティングのオプションに,文字エンコーディングそのものに基づくソーティングである -a オプションと,数値の大小に基づくソーティングである -e オプションに加えて,日付時刻に基づく新たなオプション -t を設けたことです.このオプションは,日付時刻の国際標準である ISO 8601 に準拠した文字列を日付時刻と認識して,その昇順にソートするというものです.日付はグレゴリオ暦に基づいていますので,グレゴリオ暦が制定される以前の年代については少々注意が必要ですが,基本的にどのような紀元前の年代であっても,あるいははるかな未来であっても,対応は可能なはずです.

もう一つの修正は実にマイナーなもので気付くこともないと思いますが,数値の大小に基づく -e オプションにおいて,数値が整数であれば整数型のオブジェクトである Integer として扱い,その結果として,出力するときにも整数として出力し,余分な .0 付加しない洗練されたものになっています.

日付時刻の -t オプションは,私自身これまで全く使用したことがなかったので,もう一段の最適化が必要ではないかと思っていますが,とりあえずリリースしてしまいます.

| | コメント (0) | トラックバック (1)

2017/06/25

Refsort/Ruby v2.62 Released

辞書参照型ソーティングフィルターをスクリプト言語 Ruby で実装した Refsort/Ruby の開発を10年以上続けています(例えば新しいほうから順に *1 *2 *3 *4 *5 *6 *7 *8 *9 *10 *11 *12).もう仕様は落ち着いていて機能の追加をするつもりはなく,細々とバグのメンテナンスを行っている状態です.

前回のリリースはつい最近,今年2017年の6月,長年埋もれていたバグが発覚したため,慌ててその部分だけを修正したのですが,これは埋め込みマイルストーンの機能拡張でもやろうかと思って,スクリプトをいじっているうちに発見したものです.

バグの修正後,元々やろうと思っていた埋め込みマイルストーンの機能拡張を実装して未公開版としてリリースし,さらにそのスクリプトを最適化したものを v2.62 としてリリースします.

今回の機能拡張は,2点あります.まず,辞書ファイルの埋め込みマイルストーンの書式を拡張したもので,従来はレベルを表すのに,

#!m >>>>>[....]

などと書いて,レベルが5であると示していたのですが,レベルが深くなるにつれてこの書き方では煩雑になるだけでなく,レベルの視認も難しくなるため,新たに

#!m >5 [....]

という書き方も受け入れることにしました.これがまず第1点.

第2点目は,埋め込みマイルストーンを出力する際に,新たなオプション -M を設け,マイルストーンのレベルに応じてインデントを付けるようにしました.とりあえず,インデントは 半角2文字分/レベル としていますが,ソースコード1か所の修正で簡単に変更できます.出力はこんな感じになります.

[GALLIFORMES; キジ目]

 [Phasianidae; キジ科]

   [Bambusicola; コジュケイ属] # "Gould"

    コジュケイ

[ANSERIFORMES; カモ目]

 [Anatidae; カモ科]

   [Cygnus; ハクチョウ属] # "Garsault"

    コブハクチョウ

    コハクチョウ

    オオハクチョウ

   [Anas; マガモ属] # "Linnaeus"

    オカヨシガモ

    ヨシガモ

    ヒドリガモ

    マガモ

近日中にユーザーズガイドも改訂してアップする予定です.

| | コメント (0) | トラックバック (2)

2017/06/12

アカンサス開花

もう10年以上も我が家の庭に君臨しているアカンサス.初夏の今頃が開花の時期です.人の背丈ほどもある花柄を垂直に伸ばし,気品ある繊細な花をたくさん付けて目を楽しませてくれます.

Earlysummerhome_jun2017_0025m

植えてすぐのころは葉の茂り方が尋常ではなく,他の植物を圧倒するほどの勢いがあったのですが,ここ5,6年くらいはおとなしくなり,普通の庭園植物となった感があります.それでも,この大きさの花穂を毎年つけるのですから恐れ入ります.

ギリシャの国花となっているくらいなので,地中海世界では昔から様々な図案のモチーフとなってきました.

| | コメント (0) | トラックバック (0)

2017/06/11

アジサイの色気

かなり以前にも書いたことがあるのですが,やはりアジサイの花には色気がありますね.これも我が家で咲いているアジサイで,ろくに世話などしないものですから,花の付きも良くないのですが,それでも花弁が絶妙な具合に重なり合って,観る者の方に向いている様は,非常に色気を感じます.

Earlysummerhome_jun2017_0016m

ガクアジサイには気品の高さを感じる一方で,園芸品種には色気がたっぷり,しかも花の色は千差万別と来ていますから,なかなか味わいつくせない奥の深さがあります.

| | コメント (0) | トラックバック (0)

2017/06/10

Refsort/Ruby v2.52 Released

辞書参照型ソーティングフィルターをスクリプト言語 Ruby で実装した Refsort/Ruby の開発を10年以上続けています(例えば新しいほうから順に *1 *2 *3 *4 *5 *6 *7 *8 *9 *10 *11).もう仕様は落ち着いていて機能の追加をするつもりはなく,細々とバグのメンテナンスを行っている状態です.

前回のリリースはつい最近,今年2017年の4月だったのですが,埋め込みマイルストーンの機能拡張でもやろうかと思ってスクリプトをいじっているうちに,私の理解不足から正規表現にバグがあることが発覚しましたので,慌てて応急処置をとったのが今回のリリースです.

幸いなことに,私がこれまでリリースした辞書ファイルを使う限りにおいては,このバグが顕在化することはなく人畜無害なのですが,とにかく明瞭なバグなので修正版をリリースします.

どういう箇所かというと,辞書ファイルを読み込んだり最終的な出力処理を行うときに,埋め込みマイルストーンを探す必要があるのですが,このときに正規表現内でキャプチャと後方参照を使います.その後方参照を文字クラスの中でも使えると誤解していたのが間違いでした.例えば以下のような表現です.

/^(#!m\s*(\S)\2*[^\\2][^#]*)/

ここで \2 というのは (\S) でキャプチャした非空白文字をそのあとで参照するためのものなのですが,これを文字クラス [...] の中でも使えると誤解していました.これは間違いなので,以下のように修正しました.

/^(#!m\s*(\S)\2*(?!\2)\S[^#]*)/

ここで,(?!\2)\S というのがミソで,これは否定先読みという表現.詳しい説明は省きますが,\2 ではない非空白文字一文字を表現したことになり,私が意図したとおりの動作をすることを確認しました.これは Ruby のユーザーズフォーラムで質問し,ある方から親切に教えていただいたので何とか修正できた次第です.

繰り返しになりますが,機能の追加は何もなく,Ruby の最新版 v2.4.1p111 で動作することを確認しています.

また近日中にユーザーズガイドを改訂してアップする予定です.

| | コメント (0) | トラックバック (3)

2017/06/05

ジューンベリーの実がなった

Earlysummeraroundhome_jun2017_0008m

玄関脇に植えていた木が枯れたので切り倒し,古株の周りを2-3年養生したうえで,新しい木として家人が買ってきたのが,このジューンベリー.鳥の餌になって鳥がたくさん来ればいいなという思惑です.

最初の年はほとんど実を付けなかったのですが,今年は春の花付きもよく,深紅に熟した実がたくさん見られます.葉の緑と実の赤のコントラストが美しく,名前の通り6月の強い日差しに良く映えます.

Earlysummeraroundhome_jun2017_0019m

人間も食べられるそうで,生食,ジャムなどにも適するようです.日本ではまだあまりなじみのない木ですが,これから徐々に流行っていくのではないかと思います.

| | コメント (0) | トラックバック (0)

より以前の記事一覧