ページ

2013年6月30日日曜日

Mesh2Map メッシュコードから地図を作成する

メッシュコードから地図(GeoTiff画像)を作成するプログラム(Mesh2Map)を作成しました。

日本の統計データは大抵メッシュコード(1次、2次、3次などなど)で管理・公開されています。
メッシュコードから直接地図を作成できると便利だなと思って(2年くらい前に)作りました。

作ったと言っても、実態はGDALツールのgdal_rasterizeのラッパーなので、大したことはありません。
単に、メッシュコードから緯度経度座標を計算して、それを元にベクター・ラスター変換(gdal_rasterizeを実行)しているだけです。

手前味噌ですが、ちょっと作ってみたデータを簡単に表示させたい場合なんかにとても重宝します。
あくまでもデータ確認用なので、CRSはWGS84に決め打ちしています。

GUIや着色機能も追加しようと思ったのですが、あんまり必要性を感じられなかったので、そのまま公開することにしました(気が向いたらGUI作ります)。

特に問題ないと思いますが、使用の際は自己責任でお願いします。


使い方

1. プログラムのダウンロード&好きな場所に解凍

ちなみにWindowsでの動きます。


2. データの準備

テキストエディタで、以下のような書式でデータを作成&保存。
エクセルで、[csv形式で保存]でも良い。

データは先ほど解凍したフォルダ(プログラムがある場所)に保存する。

Data.txt
**************************************************************
MeshCode Data1 Data2 Data3
54391210     1          2          4
54391211     2          3          5
54391212     3          8          2
54391213     4          5          1
54391214     5          1          3
        .                 .           .            .
        .                 .           .            .
        .                 .           .            .
**************************************************************
※1行目には列名を入力する
※列名はアルファベット推奨, 日本語可, 数字のみ不可
※2行目以降はデータ
※区切り文字は空白かまたはカンマ、タブ
※1列目はメッシュコード
※メッシュコードは1次, 2次, 3次, 5km, 100mメッシュに対応
※2列目以降は属性データ
※拡張子は何でも良い(.csv, .txt, .dat)


2. 解凍したフォルダ内の[usage.bat]を右クリックして[編集]から、以下の書式で実行コマンドを入力
ちなみに、実行したくない行は文頭に"::"を入力(usage.batを参照の下さい)。

sample_sjis_win.exe <入力ファイル名> <出力csvファイル名> <地図化する列名>


Mesh2Map_sjis_win.exe Climate.txt Result.csv WI


3. usage.batをダブルクリックするとプログラムが実行される。
上の例では、Climate.txtというデータを入力すると、WIという列名のデータを使って、WI.tifという地図画像(GeoTiffファイル)が出力される。
出力した画像はQGISで確認できる。

また、Result.csvに緯度経度座標がくっついたデータが出力される。
このファイルも、QGISのデリミテッドテキストで開くとそのまま使うことができる。

Result.csv
**************************************************************
Lon,Lat,MeshCode,Data1,Data2,Data3
139.25625,36.09583333,54391210,1,2,4
139.26875,36.09583333,54391211,2,3,5
139.28125,36.09583333,54391212,3,8,2
139.29375,36.09583333,54391213,4,5,1
139.30625,36.09583333,54391214,5,1,3
       .     .     .     .
       .     .     .     .
       .     .     .     .
**************************************************************


注意事項
※色づけ, 投影変換などなどGdal toolで可能な動作は実装可能
※CRSは緯度経度座標系のWGS84 です。
※要望があれば対応します(異なるCRSへの対応、色付けなど)
※Linux版もあります。

2013年6月29日土曜日

生物多様性地域戦略を策定するためのタウンミーティングに行ってきた

今日は高知県の生物多様性地域戦略を策定するためのタウンミーティング(PDF)@物部川流域に行ってきた。

参加者は30人ぐらい。
個人的には、会の趣旨が読み取れず消化不良でした。

せっかくなので気の利いたことを発言しようとしたけどあえなく撃沈....
やっぱり話術のスキルが足りません....
発言の練習不足です。




MABでも思うのですが、こういう話は生き物屋さんだけでは限界がある。
そればかりを考えていた会でした。

2013年6月26日水曜日

X200

ちかごろメインマシンのLenovo X200の調子が悪い...
今日はやたらと無線LANの接続が切れる...
ファンエラーで起動しないこともあるが、これはファンを掃除すれば解決する。

2009年の4月頃に購入したので丸4年
あと3年ぐらいは使い込みたいのだが

ジャンクを購入して自前でパーツ交換すればいけるのだろうか、今はその余裕すらない

持ってくれることを願いつつ、手持ちの無線LANアダプタ(PLANEX GW-USValue-EZ)を装着して急場をしのぐ
これは以前、アクセスポイントを作成しようとして購入したのだが、結局使わずにしまわれていたもの。

USBに差し込んで再起動するとubuntuでも問題なく動いてくれる。

ありがたい

2013年6月18日火曜日

Rのコンソールの出力をカラー表示にするパッケージ

パソコンのシステム入れ替えにともなって、いつものようにR用のエディタ(VIM)も再設定。

その際、Rのコンソールの出力をカラー表示にするパッケージを発見。

なにやらCRANのポリシーに反するそうで、インストールは以下のようにR上で直接ダウンロード&インストール


download.file("http://www.lepem.ufc.br/jaa/colorout_1.0-1.tar.gz", destfile = "colorout_1.0-1.tar.gz")
install.packages("colorout_1.0-1.tar.gz", type = "source", repos = NULL)


パッケージをロードすると、自動でカラー出力になる。

まあ.....ちょっと気持ち悪い気もするが.....いや気持ち悪い

カラーハイライトはエディタだけでいいかな

2013年6月16日日曜日

二日間消耗してようやくCUDA5 & pyCUDA on Debian wheezy

研究費でnVidiaのGPUを購入出来たので、前々から挑戦してみたかったGPGPUプログラミングに挑戦して見ることに。

ついでにSSDとメモリも購入したいので、OSごと再インストール。

メインのOSはこれまでububtuを愛用していたのだけれど、ubuntuを使い続けることに不安を感じてきたので、ここらで他方面に乗り換えてみることに。

候補はいろいろあるけれど、Linux Mintが好評だけどベースのひとつはubuntuだしちょっと気がひけるので、Debianに乗り換えてみる。
まあubuntuの親みたいなものだし、これまでの知識も無駄ではないだろうということで....

ちょうどDebian 7 wheezyもリリースされたところだし!!

んで、インストールしてみた印象は、やっぱりubuntuはデフォルトでも十分使いやすいディストリなんだなと改めて感心した。
Debianだといろいろと追加しないと行けないので、デフォルトでは使いづらい。

でも安定感はこちらも負けていない。
少し前まではsidのリポジトリを追加しないと心もとなかったけど、今のところは不自由していない。
Debianは初心者なので、これからぼちぼち勉強していこう。



さて、CUDA
ubuntuのリポジトリにはCUDA5が上がっているみたいだけど、wheezyはおそらくcuda4のままみたい。sidにはCUDA5が登録されているようだけど.....

ということで、ソースからインストールすることにしたのだけど......

しかし.....

ただドラーバーをインストールするだけで二日間も消耗してしまった....


ちょっとばてたので、インストール方法は元気になったら載せようと思う。


2013年6月11日火曜日

Terrain Ruggedness Indexなるもの

Gdalツールのgdaldemには簡易ながら地形解析をするオプションがある。

  • hillshade
  • slope
  • aspect
  • color-relief
  • Terrain Ruggedness Index (TRI)
  • Topographic Position Index (TPI)
  • roughness

使い方はマニュアルの通り
gdaldem [オプション] [入力するDEMファイル名] [出力ファイル名]
オプションにはslopeとかaspectとか、TPIとかを指定する。
これは、QGISの[ラスタ]→[解析手法]→[DEM(テリアンモデル)]にも組み込まれているので、コマンドラインだけでなくQGISのGUIからでも操作できる。



ところで、TPIとか他のオプションは馴染みがあるのだが、Terrain Ruggedness Index (TRI)なるものの正体がわからなかったので調べてみた。

Wilson et al. (2007)によると、3セル×3セルのウィンドウの場合、対象となる中心セル$Z_{(0,0)}$のTRI値は

   $TRI = \frac{(|Z_{(-1,1)}-Z_{(0,0)}| + |Z_{(0,1)}-Z_{(0,0)}| + |Z_{(1,1)}-Z_{(0,0)}| + |Z_{(-1,0)}-Z_{(0,0)}| + |Z_{(1,0)}-Z_{(0,0)}| + |Z_{(1,-1)}-Z_{(0,0)}| + |Z_{(1,0)}-Z_{(0,0)}| + |Z_{(1,1)}-Z_{(0,0)}|)}{8}$

となる。

任意のウィンドウサイズ(n×n)の場合には、

$TRI (n) = \frac{\sum_{i=-N}^{N}\sum_{j=-N}^{N}|Z_{ij}-Z_{00}|}{(n^{2}-1)}$

となる。
このとき $N=\frac{(n-1)}{2}$である。


式をみればわかる通り、これは標高の二次微分、つまりデジタルラプラシアンに相当する。

2013年6月9日日曜日

Garmin GPSmap62sで国土地理院の地形図を表示する

ガーミンGPSで国土地理院の地形図を表示させる手順についての防備録

1. まずQGISのOpenlayersプラグインを使って電子国土をQIGS上で表示できるようにする
方法は以下を参照

地図はたいへん QGISで電子国土基本図

ちょっと手間はかかるけど比較的簡単に終了。

2.QGISプラグインからGarminCustomMapをインストール

以上で準備は完了


あとはOpenlayersプラグインから電子国土をロードして、欲しい範囲の地図をGarminCustomMapで切り取るだけ。

1.電子国土基本図をロード


2.GarminCustomMapのアイコンをクリック



適当に名前をつけて保存をクリック


3.そうすると次のような情報画面が表示される


ここで大事なのがrowsとcolumsの部分。
この場合は 595 rows, 1278 colums
これを次の画面で入力する

4.rowsとcolumsに先ほどの値を入力



5.そしてOKをクリック



できた画像をGPSのカスタムマップフォルダにコピー
これで地形図がGPSに表示される。

かんたんかんたん

2013年6月6日木曜日

白髪山に行ってきた

改めて白髪山に行ってきた。
今日はふるさと林道から避難小屋までのルート

白髪山のブナ林

林床は刈りこまれたミヤマクマザサ

ウラジロモミの純林

ウラジロモミは食害がひどいので、みんな腹巻してます。
林床では表土の流亡が目立ちます。


ガリーも徐々に発達しているようで、斜面浸食がいたるところで見られます。

うぅ....