[OSGeoJapan-discuss] 【教えて下さい】Qgisのラスタ範囲と計算機について

SGW00412 @ nifty.com SGW00412 @ nifty.com
2014年 3月 8日 (土) 20:38:46 PST


皆様

Qgis初心者の島田です。

Qgisのラスタ計算機について、二点ほど分からないことがあります。

●ベクタ→ラスタ変換をする時、範囲設定はどうなっているんでしょうか?
いくつかのレイヤをラスタ群に変換して、ラスタ計算機を使っていろいろやりたいような
場合、範囲を統一すると思います。

grass だと g.region vect/rast=hoge で設定するのですが、Qgisnのベクタ→ラスタ変
換には、それがないように思います。。。。

gdal解説をみると、「指定しない限り、ベクトルレイヤ群(layer[s])の範囲だ」というニ
ュアンスで書かれています・・・つまり、変換したいレイヤ群をすべて表示しておけば、
その範囲で統一される、ということなのでしょうか?

あるいは、単に変換しようとするベクタレイヤの「範囲」なのでしょうか?ただ、これだ
とレイヤ毎に範囲が異なってしまうので、ラスタ計算できないような気がします。。。

-te xmin ymin xmax ymax :
(GDAL >= 1.8.0) set georeferenced extents. The values must be expressed in 
georeferenced units. If not specified, the extent of the output file will be the 
extent of the vector layers.

●ラスタ計算機について
前の質問で用いた「藻場」と「干潟」で、約500m(0.005度)のラスタに変換し、両者が共
通して出現するラスタを求めてみました(不在0,存在1のラスタ)。

両者の範囲は異なっていました。

ncols        145
nrows        132
xllcorner    129.497745118728
yllcorner    33.009945147708
cellsize     0.005000000000
・・・・以下、略

ncols        185
nrows        146
xllcorner    129.497751548845
yllcorner    32.838408821121
cellsize     0.005000000000
・・・・以下、略

ただ、範囲の異なる二つのラスタを用いて「ラスタ計算機」で処理しても、計算してくれ
るようです。しかし・・・

mo @ 1>01 AND higata @ 1>0 計算しますが、不正解(これは何故なのでしょう?)
(mo @ 1>01) AND (higata @ 1>0) 計算しますが、不正解(これも何故なのでしょう?)

そこで・・・
mo @ 1 + higata @ 1
としてから
sum_mo_higata @ 1=2
とすると正解が得られました。

なかなか難しいですね。。。

---
島田@調布市


More information about the OSGeoJapan-discuss mailing list