QGISを使ってポリゴンの属性をポイントに読み込む

とある所で「QGISを使ってポリゴンの属性をポイントに読み込むにはどうすればいいのか」という質問を受けたので、まとめてみようとかと。

その前に前提条件。

  1. QGISバージョンは1.6を使ってます(2011年1月初め時点)。なんか、1.7系は二バイト文字の扱いとか、色々エラーがある様なので、1.6を使うことをお勧めします。
  2. この手の分析を行う際は、UTMを使いましょう。大体、この手の分析はそれほど広い範囲を対象としない、ついでに面積とか距離とかを測りたくなることが多いと思われるので、
  3. ということで、事前に使用するファイルが緯度経度の場合、投影変換を行っておきましょう。

うーん、前提条件から難しいかもしれないが、難しい場合は、後ほどフォローするということで。

さて、まずは作業の流れおば。お題目の様なことを行う場合、「Point sampling tool」というプラグインを使います。ここでいうプラグインとは、QGIS本体が持っていない機能を追加するものになります。「Point sampling tool」は、点データと重なっているポリゴンやラスターから属性を取得し、新しいポイントファイルを作るという機能を持っています。

さて、実際の作業。まずは使用するファイルを読み込む。ここでは、環境省が公開している植生図とその上にランダムに点データを50個発生させました。大体下の様な感じ。


次に、「プラグイン」から「Pythonプラグインを読み出す」を選択する。そうすると「QGIS Pythonプラグインストーラー」という画面が出てくるはずなので、「フィルター」の部分に「point」と入力する。すると、幾つかプラグインが抽出されるので、その中から「Point sampling tool」をクリックし、右下の「プラグインをインストール」をクリックしてインストールして下さい。
 


インストールが終わったら「閉じる」をクリックして、今度は「プラグイン」から「プラグインの管理」を選択。今度は「QGISプラグインマネージャ」が立ち上がるので、フィルタにpointと入力、「Point sampling tool」があるはずなので、左側の□をチェックして下さい。
 


これで準備完了。ここでPoint sampling toolを立ち上げます。立ち上げ方は、「プラグイン→Analyses(分析って日本語に成ってるかも)→Point sampling tool」をクリックするか、Point sampling toolのアイコンをクリックして下さい。
 


すると、Point sampling toolのウィンドが立ち上がります。ここで、「Layer containing...」で使用する点データを選択し、「Layer with fields/bands ....」で値を取得したい属性をクリックします。選択が終わったら、出力するファイル名を指定し、OKをクリックしてください。


そうすると植生図の属性が読み込まれ、新しい点データが生成されます。さて、ここで属性テーブルを開いてみると、文字化けをしております。これは、「元のデータの文字コードがShiftJISだったのだが、新しく作ったファイルの文字コードUTF-8Win7の場合)のため」です。すみません、わからなかったら無視して下さい(汗
 


とにかく、ここまで来たら後一歩。あとは、新しく作ったポイントファイルをもう一度開きなおします。その時に、「エンコーディング」を「UTF-8」と指定して下さい。これで、文字化けしないで開けると思います。
 


ちなみに、出来あがったファイルの中身を編集したり、植生の個数とかをカウントしたい場合は、レイヤの新しく作ったファイルの上で右クリックし、名前をつけて保存を選択、「Comma Separated Value」(つまり、csvファイル)で保存してあげてそれを編集するいいと思います。
 


ということで、今日はここまでー。