2011年12月14日水曜日

FOSS4G勉強会@名古屋の開催報告

FOSS4G勉強会@名古屋の開催報告 かなり久々のブログ更新w。

FOSS4G Advent Calendarの企画です。
http://atnd.org/events/23085

昨日までのFOSS4G Advent Calendarではハイレベルな技術的な話が続いたので、ここでいったんハードルを下げときます。先日第1回FOSS4G勉強会@名古屋を開催致しましたので、その報告を。

日時:2011/12/11(日)13:00-17:00
場所:名古屋大学 環境総合館 3F 講義室2


初回にも関わらず、40名弱の参加者数&10件の発表件数とみなさんに多くの関心を持っていただきありがとうございました。参加者も東海地方のみならず、西は奈良、東は東京からもお越しいただきました。


今回の以下の10件の発表をいただきましたので、順に紹介していきます(敬称略)。


1. 縫村崇行(名古屋大学)
初心者の方向けにQGISの機能の紹介
私の発表です。 発表しておいてなんですが、実はQGISはちょっとしたデータのビューアーとしてしか使っておらず。解析はほとんどしたことがありません(笑)。なので、今回は超基本的なところをさらっとしかお話できませんでしたが、今回の話でインストールしただけで一度も使っていないという初心者の方の後押しができたらなと(笑)。今回は他の方々の超高度なQGISの使いこなしに圧倒されまくりでした。



2. 平松孝晋(アジア航測)
QGIS+GRASS GIS関連や地形解析(SAGA GIS)


特にすごかったのがSAGAで多様な地形解析をサクッとデモンストレーションされたところ。デモでの操作も非常に手際がよくプロフェッショナルを感じました。SAGAはコマンドラインでも使えるので、Linuxでbashで自動処理もできるそうです。時代はSAGAかも。Ubuntuでもパッケージにあるので簡単にインストールできるし。



3. 山本一清(名古屋大学)
学部教育と研究におけるGRASS GISの利用例の紹介


学部での実習授業に関してとrubyを使ったGRASSの解析のお話、GRASSのバッチ処理には多くのやり方があり(自分はbash派)、山本さんはrubyで行なっているそうです。実習授業ではUbuntuサーバーに学生がVNCでアクセスして授業を行うとのことで、名大生命農学研究科の学生さんが羨ましくなりました。



4. 福山 薫(三重大学)
小学生がQGISで地域の防災マップ作り


オープンソースGIS歴20年の実力を見せつけられました。本当に勉強になりました。小学生たちの教育ではGMTで出力したマップを用いて、街の防災調査を行い、情報をQGIS上に位置情報&写真付きで集約。最終的にQGISのeVisプラグインで地図上に位置づけられた写真が簡単に見られたり、geoPDFに出力したりと、途中かなり高度な処理が多くありましたがさらっと話していらっしゃいました。



5. 嘉山陽一(OSGeo.JP/朝日航洋)
QGIS日本語化の現状と課題
QGIS日本語化の第一人者の嘉山さんによる日本語化のお話。日本語化の仕組み。日本語化すべき項目(インターフェース、ヘルプ、Web)と参加方法などを丁寧にお話して頂きました。私もフリーライダーだけでなくコントリビュートしなくては…と反省しました。日本語マニュアルのLateXの処理でエラーが出て困ってらっしゃるとのことです。エンコーディングをEUC-JPに指定して(英語だけならutf-8で大丈夫だけど)、platexからの、dvipdfmxで解決するとかいう単純な問題ではないのかな?



6. 岩崎亘典(OSGeo.JP/農業環境技術研)
FOSS4Gで衛星データがを使いやすくーFOSS4G を活用した衛星データ利用のためのオープン・リソースの構築ー
文科省プロジェクト(FOSS4G を活用した衛星データ利用のためのオープン・リソースの構築)、チュートリアル・e-learningのご紹介など。このe-learningとチュートリアルの内容は非常に豊富で(もちろん日本語)、もうオープンソースGISは商用GISに比べてドキュメントが少ないとは言えなくなりつつあると感じました。



7. 尾崎 剛(カナエジオマチックス)
QGISを利用したシステム開発~業務支援システム構築事例~


QGISは多機能で、既存のGISユーザーには好評だけど、全くの初心者の方にとってはその多機能性が足かせとなるとのこと。QGISのAPIを用いた独自の実装により、ニーズに合わせた必要最小限の機能に絞ることで初心者の方にとっても使いやすくなる。開発にはPython、C++を利用されているとのことでした。やはりGeo系プログラマーにはPythonは必須なのかも。



8. 東 修作(OSMFJ)
OpenStreetMapの概要と利用例
OpenStreetMapの概要や活用例の紹介。バリアフリーマップを始め様々な活用例を紹介して頂きました。海外の大学ではOpenStreetMapとpgRoutingを使った、バリアフリーな経路検索サイトを実現しているところもあるそうです。私自身もOpenStreetMapマッパーなのですが(←最近サボリ気味です、ごめんなさい)、OpenStreetMapの多くの可能性を感じられました。



9. 東 修作(OSMFJ)
10分で始められるCrowdMap/Ushahidiのデプロイ
Ushahidiによるマッピングの実装のお話。クラウドのマップサイトの作成は専門家だけのものでなく、CroudMap.comを使えば素人の方でも簡単にできるそうです。今回WiMaXの調子が悪くデモンストレーションができなかったのは残念でしたが(ネット環境の事前準備ができていなかった私の責任です。申し訳ありません(泣))。このようなマッピングサービスに慣れておくのはGeo系研究者としては必須なのかもと感じました。



10. 縫村崇行(名古屋大学)
FOSS4Gツール(GRASS、R、GMT)を用いた氷河の解析事例
私の本業のお話です。専門的な解釈や実は複雑なアルゴリズムについては完全にはしょり、FOSS4Gツールをどんな使い方をしたのかに焦点をあててお話ししました。実はいまリバイス中の論文の内容(使用している図は投稿版とレイアウトなど変えてあります)です。早くリバイス終わらせなければ(汗)。空間分布図はGMTで全て作成しています。



次回はGMTのお話とかしようかなぁ。 次回の勉強会は民間企業の繁忙期がすぎる来年4月ごろを考えています。 運営に協力してくれる方、絶賛募集中です。

2011年6月15日水曜日

研究室でArcGIS講習会をやりました

研究室のGISをこれまで使ったことのないメンバーを対象に、ArcGIS講習会を行いました。


こちらが講習会で使用したスライドです。

約5年前にこの研究室に来たときは、GISユーザーは僕だけでしたが、現在、研究室のメンバーのArcGIS使用率は14名中9名になってしまいました。
個人的にはQGISやGRASS GISなどのFOSS4Gツールを広めてベンダーロックインから抜け出したいのですが、まだまだ難しそうです。

ニーズがあればQGISやGRASS GIS講習会のほうをやってみたい。

2011年4月4日月曜日

Nagoya.R#5に参加

3/26にプログラミング言語「R」の勉強会のNagoya.R#5に参加してきました。
Nagoya.R#4に続いて2回目の参加で、発表は今回が初めて。

発表テーマはR言語のrgdalというパッケージを使ったリモートセンシング解析の話。
参加者は言語研究をされている方がほとんどで、自然科学系はわずか(自分ともう一人)でした。専門外の方にプレゼンする貴重な機会だったので、研究のこむずかしい話は減らして、R言語での処理に重点をおいて話してみました。

GISやGPSに関して興味を持ってくださった方もいて、質問を結構してもらえたのは発表してみてよかったと思いました。


発表に使用したスライド

SlideshareにPDFを直接アップロードすると、日本語の部分が文字化けor非表示になってしまったため、PDFを画像化してアップロードしています。

2011年2月11日金曜日

spatiohack

平和公園1万歩コースをジョギング、コースの外は雪が積もっているところも見られた。



2011年2月2日水曜日

latex2rtfで変換するときの注意点

texソースコードをword形式に変換する際のやり方の一つとして、以前紹介したlatex2rtfでrtf(リッチテキスト)形式を経由する方法がある。

LaTeX原稿のスペルチェック (Dec. 14, 2010)


latex2rtfで変換する際には、\graphicpathコマンドで画像のパスを指定すると、出力されるrtfファイルに画像が含まれない。

\graphicpathコマンドを使うと、画像を同じ名前のディレクトリ(例.image)に入れている場合は、\includegraphics{image/filename1.png}
\includegraphics{image/filename2.png}
\includegraphics{image/filename3.png}
と書かずに、

\graphicpath{image/}
\includegraphics{filename1.png}
\includegraphics{filename2.png}
\includegraphics{filename3.png}
とすることができるようになって便利だが、このやり方ではlatex2rtfコマンドで図を読み込んでくれないらしい。


texlipseでlatexを書いている場合のコマンド例(texファイル名がdocument.texの場合)は以下の通り。

latex2rtf -a ./tmp/document.aux -b ./tmp/document.bbl -o output.rtf document.tex

linenoやmultirowなど一部の環境はサポートされていないが、文献情報や図の取り込みはうまく出来ている。
また、見出し情報もちゃんと含まれている。

ただ、Ubuntu上でlatex2rtfを使った場合は大丈夫だったが、Windows上のw32texに含まれているlatex2rtfでは画像がページをはみ出すぐらい大きくなっていた。

画像形式がpngなのに、bb情報を含めなかったためかもしれない。

2011年1月28日金曜日

今世紀のいつか

Windowsにはファイルを更新日時で、グループ分けをして表示ができますが、今日おもしろい現象を見つけました。

一番下のグループ名に注目


"今世紀のいつか"って…。

未来の時間のファイルがあると、このように表示されるらしい。
2101年以降のタイムスタンプのファイルがあるとどうなるのだろう。

2011年1月21日金曜日

GMTのgrdimageで透過設定

GMTのgrdimageで透過設定


makecptでカラーパレットとしてgrayを使うと、その後のgrdimageでQオプションを指定してもNaN値が透過されない。
回避策としては、makecptで作成されたcptファイルの一部を以下のように変える。

grayカラーではRGB値が
"0 0 0"とか"255 255 255"というように同じ値が入っているので、それらのうちどこか一箇所を、"255 255 254"というように編集する。
その後、その編集したcptファイルを使用してgrdimageコマンドを使用すると、NaN値がちゃんと透過されて作成される。

ちなみにEPSのファイルサイズは2倍になる。


SRTM3のNaN値を透過表示した図(ネパールヒマラヤのクンブ地方周辺)

2011年1月20日木曜日

Rで途中波線の使い方

Rで途中波線 (Broken axis)の使い方


グラフを書く際に一部の区間にデータがないため、無駄に間隔が広がってしまうような図になる場合、軸の途中に波線を書いて途中を省略するというやり方がある。

テレビ番組などのインチキグラフなどでよく使われる表現なのだが、一応手順の紹介。

まずplotrixライブラリが必要なので、install.packages("plotrix")コマンドなどで、あらかじめインストールしておく。

使用するデータとしては、
xに、1から10まで、1つ間隔の数値データ。
yに、1から5まで、そして16から20までの1つ間隔の数値データがあるとする。
x <- seq(1,10) y <- c(seq(1,5), seq(16,20))

※このままプロットすると左下の図のようになる。 
x.range <- c(1,10)
y.range <- c(1,20)
plot(x, y, xlim=x.range, ylim=y.range)

これらのデータから、y軸の6〜15のあいだにギャップ(10)があることがわかるので、その区間を省略する場合は、 まずyの数値の大きなグループの値そのものをギャップの分だけずらす。
gap <- 10 y[6:10] <- y[6:10] - gap

y軸の最大値もギャップの分だけずらす
y.range[2] <- y.range[2] - gap

そしてまずy軸を描かずにプロットし、
plot(x, y, xlim=x.range, ylim=y.range, yaxt="n")

y軸のラベルをプロットし、
axis(2, at=seq(1,10), label=c(seq(1,5), seq(16,20)))

最後に途中波線を描くと右下の図のようになる。
axis.break(2,5.5)




一連のスクリプトは以下の通り

library(plotrix)


x <- seq(1,10)
y <- c(seq(1,5), seq(16,20))

x.range <- c(1,10)
y.range <- c(1,20)

offset <- 10


layout(matrix(c(1,1,2,2),2,2))


## Standard plot
plot(x, y, xlim=x.range, ylim=y.range)


## Shifting value
y[6:10] <- y[6:10] - offset
y.range[2] <- y.range[2] - offset


## Plot with broken axis
plot(x, y, xlim=x.range, ylim=y.range, yaxt="n")
axis(2, at=seq(1,10), label=c(seq(1,5), seq(16,20)))
axis.break(2,5.5)

2011年1月17日月曜日

雪の名古屋

雪景色の東山スカイタワー(2011/01/16)

16,17日と(名古屋にしては)尋常じゃないぐらいの降り方。
最高気温3℃って、あまりヒマラヤと変わりがない寒さ。

2011年1月14日金曜日

MendeleyとLatexの連携で特殊な引用をしたい場合

いいタイトルが思い浮かばなかったのだが、いいたいことを長い文章で説明すると以下の通り。


Mendeleyではbibファイルを出力することができるため、
LaTeXで原稿を作成する際、そのbibファイルを\bibliography{}で読み込むと、文献情報の管理に便利。
しかし"in press"状態の論文や、地図や、Webサイトなど、普通の論文や本以外の特殊なカテゴリーのエントリを引用したい場合、
Mendeleyでは対応していないという問題がある。

その場合の対処法としては、そのような特殊エントリだけMendeleyに登録せず、別ファイルとして手動で管理する方法がある。
そしてLaTeXコード内の\bibliography{}で複数のbibファイルを指定して読み込む。


例。Mendeleyで出力するファイルがlibrary.bibで、特殊エントリ用のファイルがsublibrary.bibで、ともに"/home/ユーザー名/data"というディレクトリにおいている場合。

\bibliography{/home/ユーザー名/data/library,/home/ユーザー名/data/sublibrary}
※二つのファイルの間にはカンマをいれるが、スペースは含まないことに注意。


そうすれば、"in press"の論文はbibファイルのyearのカテゴリに入力すると、"著者名, (in press), タイトル, 〜〜"と出力が可能となる。



参考書籍
LaTeX2ε美文書作成入門