2012年8月30日木曜日

QGis Python Plugin と日本語の周辺3

 前回、UTF8で保存したバッチファイルを実行すればOKです。なんて書きましたが、問題がありました。 ウィンドウズのコマンドプロンプトが、コマンドラインの一部の文字コードの値を変更してしまうのです。そのため、使う文字コードによっては、まともに動作しません。  とりあえず、判明したのは「先」という漢字です。バイナリで表現すると、0xE5,0x85,0x88 の組みになります。もしかしたら、ANSI.SYS とかが組み込まれてて悪さしてるのかな?というのが頭を過ぎったのですが、Windows7 あたりでは、config.nt ファイルや、autoexec.nt ファイルなんて、ありませんでした。  コマンドプロンプトで chcp 65001(=UTF8) とか指定できますが、コンソールを通過すると文字化けするので、現時点では、まともに動作しません。よって、コマンドラインから入力される文字列は、MBCS (日本の場合 CP932=SJIS=ShiftJIS)に限定され、選択肢はありません。ウィンドウズだけのために、UNICODE文字セットを標準としてコンパイルするのは、問題があると思いますので、最小限の対処法は、入力値を MBCS から UTF8 に変換してやる事になります。  では、これを国際的に実装しようと思ったら、MultiByteToWideChar API を使って CPACP (= CP0) から、UNICODE に変換し、WideCharToMultiByte で UTF8 (=CP65001) にする以外に方法がありません。そうです、CPLWin32Recode 関数に "CP0" , "CP65001" という変換を促してやればいいのです。リポジトリに取り込まれたコードでは、CP0 は使わないだろうと思って、入力条件として コードページ > 0 としてしまったので、この条件を >= 0 とするよりありません。後、内部でUNICODEに相互変換する関数の実装があるのですが、変に複雑なんでウィンドウズの場合は MultiByteToWideChar と WideCharToMultiByte の関数に置き換えてあげた方が良いと考えてます。これらの変更を加えた上で、ogr2ogr 等の全てのコマンドプログラムに対して、コマンドの引数の文字コード変換を行うコードを挿入する必要があります。CPLArgumentConvert とかいう関数を設置してあげて、コーディング・ガイドラインを提示してあげた方が良いのかもしれません。という辺りを GDAL/OGR Develpment ML に投げてみようかと考えてます。 追記:GDAL_FILENAME_IS_UTF8 というのは、ウィンドウズの場合必須になります。ここを NO に設定すると、英語圏以外の文字コードは動作しません。  

2012年8月22日水曜日

boost range accumulate 習作

 対象のクラスが保持している要素数を数え上げるというパターンを range でチーンするには? 今回は、VC10で確認しました。 range でぶん回す対象と、加算する対象の型が違う時、どうするんだろ?と思ってたけど、ちゃんと考慮されているみたいです。
#include <boost/range/numeric.hpp>
#include <iostream>
#include <vector>

class foo {
public:
  int count_;
public:
  foo() : count_() {}
};

int take( int n, const foo& f ) { return n + f.count_; }


int main() {
  std::vector<foo> v;
  for( int i = 0; i < 20; ++i ) {
    foo f;
    f.count_ = i + 1;
    v.push_back( f );
  }

  int sum = boost::accumulate( v, 0, take );

  std::cout << sum << std::endl;

  return 0;
}

追伸:Bloggerの分類ラベル C++ が認識できない。全部 cpp に書き換えるのしんどい。どうしよう。以前は認識できてたのに…

2012年8月17日金曜日

台湾行ってきた(3日目)

 3日目の朝食は、「阜杭豆漿(フーハン・ドージャン)」という店に行きました。外まで人が、めっちゃ並んでますが、中は、大学の食堂のようというか、丸亀製麺方式というか、どんどん注文して流れる感じなので、そこそこ待ちますが、案外早く食べられました。

写真のように、ナンみたいにパンを炭火で焼くので、めっちゃ、美味しいです。白いのは温かい豆乳に砂糖を入れたもの。自転車通勤で豆乳飲んでる身としては、めっちゃストライクゾーン入ってます。冷たいバージョンの豆乳もあるみたいです。なんかわからんけど、ここも観光地化されてるので、注文を頼むオバちゃんの言うとおりに、適当に頼んでおけば大丈夫です。
その後、嫁さんが蒸し器が欲しいと、道具屋街みたいな所に行きました。

通り道という事で、またまた「冰讃」へ寄って、アップルマンゴーかき氷をwww。トッピングまでしました。

昼ごはんは、またまた小籠包の店「濟南鮮湯包」へ…。地下鉄に乗りマクローリン展開です。この店のジャコのチャーハン、凄い美味しかったんですが、1時間30分ぐらい待ちました…。4人掛けのテーブルが少ないので、3人は不利みたいです。2人組は、どんどん入ってました。ちょっと疲れた。

この後、電脳台北を満喫する予定でしたが、時間が押したので、このイベントはパスして、千と千尋の神隠しのモデルみたいな街、九份へと移動です。台北から直通のバスがあるらしいのですが、乗り場もわからないし、コロコロ変わって難度が高いみたいなんで、電車で台北駅から瑞芳駅まで乗る事にしました。時間帯が中途半端だったため、鈍行で移動です。瑞芳駅を降りたら、バス乗り場がサッパリわかりません。適当に、それらしき所に並んでたら、台湾のおっちゃん達が多分「おまえら、どこ行くねんタクシーあるで?九份へバス?あ?バスのりばは、あっちやあっち」という感じで話しかけて、バスのりばの方向を教えてもらいました。駅から、ちょっと離れているので、わかりにくいです。情報によると、九份ではなく違う名前のバス停で降りる感じだったんですが、今は「九份」というバス停で降りるみたいです。バスも、わからないので、もう九份行き乗っとけwwwみたいなノリで乗りました。バスの運ちゃんが「おまえら、ここで降りとけ(Hello, Hello...コンコンコン)」みたいに教えてくれました。

雰囲気は、四国の金刀比羅さん、という感じに近いです。ここは夜市と雰囲気も似てなくはないですが、食べ物が違う感じです。帰りは、適当に歩いてバスに乗ったら、行きと同じ運転手さんでした。瑞芳駅での夕景が綺麗で、思わず写真に収めました。

あわよくば、アップルマンゴーかき氷を…と思っていたんですが、嫁さんが暑さでやられてグロッキーになったので、台北駅からタクシーに乗って終了しました。瑞芳駅から台北駅まで急行に乗ったけど、座席が取れなかったのに、グロッキーな嫁さんに台湾の方が座席料金払ってると思うのだけど…席を譲ってくださいました(謝謝)。翌日は早朝5時30分にバスで空港へ移動です(格安ツアーなので)。
こんな台湾旅行でした。

2012年8月16日木曜日

台湾行ってきた(2日目:午後)

昼飯は、こんな感じ。どちらかと言うと、家庭料理っぽいものでした。牡蠣の料理が美味しかったです。

写真は無いですが、この後、漢方薬のセミナーか足ツボマッサージの2択で、せっかくだから足ツボマッサージを受けました。親指の爪の裏が痛いのなんの…寝不足なんだそうです…。目と耳(薬指と小指の付け根の裏)も痛かったです。体はなんともないと思っていたんですが、マッサージした後は、嘘のように軽く感じました。
その後、慌ただしく近衛兵の交代式を見に移動。動画も撮ったんですが、アップが面倒くさくて…orz

夜ご飯は、小籠包を食べました。

その後、士林夜市へ出かけました。写真はありません。1日目の夜市よりも規模が大きくて混雑してました。大きいけど、観光地化されているのか、マンゴージュースが150元で売ってました。1日目に飲んだマンゴージュースの3倍の価格です。地下の食品街に潜ったら、臭豆腐の匂いにやられて、坊ちゃん、またまた参ってました。延々と回って100円ショップみたいな所から、iPadのケースを 199元で買いました(およそ500円ぐらい)。坊ちゃんは、ここで LEGOもどきをゲット。240元ぐらいの大きいやつを買ってもいいぞ?と言ったのに、50元しないやつを3つにしました。後で「4つだとダメだよね?」と聞かれたので、「4つの値段足しても200元行かないから、買っても良かったんだよ残念だね?算数をちゃんと勉強してれば、4つ買えたのに…」と言ってやりました。
 なんか、いまいちパッとしなかったので、嫁さんが事前にリサーチしていた「冰讃」という店(ここは、23時までやっているみたいです)に、アップルマンゴーのかき氷を食べに移動しました。何でも、アップルマンゴーの季節にしか、このかき氷は出さないそうです。自分の中では、ベスト・デザートです。毎日でも食べたい(>_<)

2012年8月14日火曜日

台湾行ってきた(2日目:午前中)

 2日目は、市内観光ツアーに申し込みました。どっか飯の美味しいところ知らない?とホテルの人に聞いたら、近くの店を紹介してくれて、おまけに10%オフのカードまで渡してくれました。料理はまぁまぁだったけど、サービス料金が高い。頼んだ料理よりサービス料金の方が高いって、どんな店やねん?

 市内観光ツアーは、ナルワントツアーというやつで、ホテルの向かいからバスに乗り込みます。午前中に保安宮という寺院、孔子廟、お茶セミナー、中正記念堂と忙しい。お茶セミナーでは、ジャスミン茶、烏龍茶、高山烏龍茶、プーアル茶と頂いた。中正記念堂では、北海道で見た「地球最古の恐竜展」の恐竜さんに再会ww。慌ただしく時間が過ぎて行きました。

 台湾では、寺院に寄付する習慣があるそうで、寄付した分の税の控除があるそうです。そのため、お賽銭ではなく領収書をもらうとの事。皆さん信心深く寺院も寄付により立派になったとか…。東北沖大震災での義援金などは、こうした寺院から組織的に送られたと聞きました。寺院自体が風水や占いなどの日常の相談所などの役割を果たしているとか。ガイドさんの話、結構、勉強になりました。

2012年8月11日土曜日

台湾行ってきた(1日目)

自分と嫁と坊ちゃんで、3泊4日の格安台湾ツアーに行ってきました。札幌から中華航空で台湾直行便に乗って4時間ぐらい?中華航空、そこそこ美味しい食事も付いて、ワインも飲めて、結構サービス良かったです。一人5万円台のツアーだったんですが、土壇場で鎖骨を骨折するなど、やれキャンセルのキャンセルだのしてたら、ホテルがスタンダードにグレードアップしたり、キャンセル料を取られたりで、一人1万円ぐらい割高になってしまいました。  まぁ、台湾からの北海道旅行にスケジュールを合わせているためか、昼に出発して夜に着き、帰りはホテル出が5時台とか2.3日ぐらいが行動時間になります。初日の夜は、さっそく夜市に行ってきました。交通も、よくわからないので、歩いて行ける近場の夜市に…。まぁ、人が多いのなんの。それと臭豆腐の匂いが独特で、坊ちゃんは、かなり参ってました。なんか、わからんけど晩飯は地元のもん食っとけ的なノリで庶民的な感じの中華屋さんに突入。 水餃子に餃子に牛なんとか麺。飯食った後は、マンゴージュースを1つ50元で買って3人で飲みました。
アップルマンゴーが、ちょうど旬らしく、ものすごい美味しかったです。後日、大きい夜市に行ったら、マンゴージュースが150元で売ってて、どんだけwwwwwと思いました。中華屋さんでも、食事が坊ちゃんには、いまいち合わなかったらしく、少食気味。それが、あの出店のあれが食べたいとか言い出して買ったのが、また怪しげなもの。説明を聞くと、なんか、美味しそうに思えて来たけど、よくわからない。黒糖、紫芋、かぼちゃの三種類の生地があり、それを油で揚げて、マヨネーズみたいなやつと黒いソースをまぶす。肉を間にトッピングする事もできるけど、肉は要らんのだと…。
ホテルに持ち帰って食べてみてわかったのですが、揚げパンでした。パン好きの坊ちゃんの嗅覚するどい!  2日目に続く

2012年8月1日水曜日

手術無しでOKになった

院長先生にみてもらったら、T字型になっているけど、コルセットで押さえとくだけでOKという感じになりました。真っ二つだと思ってたのは、感違いでした。今回、肩を上げるのが痛いけど内出血の症状も無いので、ヒビぐらいかな?と感じてたのは、だいたい、イイ線をいってたみたいです。コルセットは、結構しっかりと締めます。 入院もパラダイスと言えばパラダイスなんですが…。タスクが多過ぎて、リソースが足りない感じです。