[OSGeoJapan-discuss] 【教えて下さい】

ASAHI Kosuke asahi @ hcc.co.jp
2014年 3月 11日 (火) 02:27:28 PDT


島田さん

朝日です。

データの型の問題のようです。
gdal_rasterizeはオプションを指定しないと、各ピクセルに値を"float64"で入
れるようです。"-ot"オプションのところです。
 http://www.gdal.org/gdal_rasterize.html

なので、
・ラスタライズする際に、
  -ot int32
 といった整数で入れておく
もしくは、
・ラスタ計算機で
  ras_mo @ 1>0.0 AND ras_dr @ 1>0.0
 のように浮動小数点型同士の比較にしてあげる
とうまくいかないでしょうか?

(2014/03/11 18:01), sgw00412 @ nifty.com wrote:
> 皆様
> 
> お世話になります。昼休みに再度やってみたところ;
> 
> ●範囲は統一したほうが良い
> ●ラスタ計算機では、ANDを使って処理できませんでした
> 
> という結果となりました。
> 
> ●データ
> 今回の作業に使ったサンプルデータを
> http://homepage1.nifty.com/8856/sample.zip
> に入れました。
> ・藻場、干潟のベクタファイル(在/不在を区別するためdata=1を入れました)
> ・ラスタ変換した藻場と干潟
> ・ラスタ合計(藻場と干潟)
> 
> どなたか落手頂ければ幸いです。
> 
> ●範囲の統一について
> 久保様をはじめ皆様から指摘があるように範囲を統一したいのですが、ベクタ→ラスタ
> 変換では領域ボタンがありません。
> 
> なので、「ベクタグリッド作成」から「キャンバスの値から
> 領域を更新」ボタンを押して、xとyの最大・最小を得ました。
> 
> -te 129.405251661 32.8158625263 130.517717948 33.6907764312
> 
> これでラスタ変換してみたところ、すべて同じ領域のラスタが得られました。
> 
> ●ラスタ計算機では、ANDを使って処理できませんでした・・
> 
> このラスタを用いて、やったのですが・・・
> 
> ras_mo @ 1>0 AND ras_dr @ 1>0
> (ras_mo @ 1>0) AND (ras_dr @ 1>0)
> 
> では駄目でした。しかたないので、ras_mo @ 1 + ras_dr @ 1 として
> 
> 合計=2のものを抽出・・・としようとしたのですが、単純に2にはならないのですね。
> 。。
> このあたりも不思議です・・・。
> 
> 初歩的な質問ばかりで申し訳ないです。
> 
> 島田@調布市
> 
> 
> ----- Original Message -----
>> Date: Tue, 11 Mar 2014 01:04:47 +0900
>> From: Mayumi Kubo <mayumitt @ gmail.com>
>> To: osgeojapan-discuss <osgeojapan-discuss @ lists.osgeo.org>
>> Subject: Re: [OSGeoJapan-discuss]
>> 	【教えて下さい】Qgisのラスタ範囲と計算機について
>>
>>
>> 島田さま
>>
>> 久保と申します。ご希望のお答えになるか分からないのですが、
>> 私が普段行っている方法です。
>>
>> ベクタのラスタ化をして、ラスタ計算機で演算をされるのであれば、
>> ラスタ化をする際に解析を行う範囲に統一しておくのが便利です。
>> 最初に島田さんが引用されていました -te xmin ymin xmax ymax で
>> 任意の範囲(解析対象範囲など)を指定し、-tr xres yres で解像度を
>> 指定して二つのベクタのラスタ化を行えば、出力した二つのラスタの
>> セルはぴったりと重なるようになります。
>>
>>> mo @ 1>0 AND higata @ 1>0
>>> (mo @ 1>0) AND (higata @ 1>0)
>>
>> 上記の計算がうまく行かないのは、両レイヤの範囲が一致していないのが
>> 原因の気がするのですが、範囲を一致させて試されてはいかがでしょうか。
>>
>>
>> 久保まゆみ
>>
>>
>>
>>
>>
>> 2014年3月10日 22:23 Nobusuke IWASAKI <niwasaki @ affrc.go.jp>:
>>
>>> 島田さん
>>>
>>> 岩崎です。
>>>> Qgisでベクトル→ラスタ変換したものですから、デフォルトでgeotiff・・・だと
> 思うので
>>>> すが・・・これも確認します。
>>>
>>> 了解しました。実は,下記の通り,
>>>
>>>> mo @ 1>0 AND higata @ 1>0
>>>> (mo @ 1>0) AND (higata @ 1>0)
>>>
>>> となっていたので,@1というのがGRASSのマップセットか何かと勘違いしていました
>>>> 「@1」というのは,計算したラスタのバンド1ということでしたでしょうか。
>>>
>>> 質問に答えたつもりで,的外れなことを申して,申し訳ありませんでした。
>>>
>>> (2014/03/10 21:29), SGW00412 @ nifty.com wrote:
>>>> 朝日様、岩崎様
>>>>
>>>> 島田です。お世話になります。
>>>> 本日、外におりましたので、お返事が遅くなりましたことお詫びします。
>>>>
>>>> 御助言ありがとうございました。
>>>>
>>>> アドバイスを参考に、もう一度こちらで作業してみます。
>>>> それでも解決されない場合は、データをお送りしたいと思います。
>>>>
>>>> まずは頑張ってみます。
>>>>
>>>>
>>>>> また、不等号がmo @ 1>01 となっていますが、mo @ 1>1 とした場合はいかがでしょ
> うか
>>>>
>>>> すみません、書き間違いでした。いずれも0より大きい、としました。
>>>>
>>>> mo @ 1>0 AND higata @ 1>0
>>>> (mo @ 1>0) AND (higata @ 1>0)
>>>>
>>>>> 計算させようとしているラスタの形式ですが、何になりますでしょうか。grasで
> しょうか?
>>>>
>>>> Qgisでベクトル→ラスタ変換したものですから、デフォルトでgeotiff・・・だと
> 思うので
>>>> すが・・・これも確認します。
>>>>
>>>> 島田@調布市
>>>> ----
>>>> Nobusuke Iwasaki <wata909 @ gmail.com>さん:
>>>>> 島田さん、朝日さん
>>>>>
>>>>> 岩崎です。
>>>>> 範囲などは朝日さんが答えてくれた通りだと思います。
>>>>> #つか、ソースは見てもわからないので、参考になりました。
>>>>>
>>>>> 計算が上手くいかない点ですが、計算させようとしているラスタの形式ですが、
> 何にな
>>>> りますでしょうか。grasでしょうか?
>>>>>
>>>>> また、不等号がmo @ 1>01 となっていますが、mo @ 1>1 とした場合はいかがでしょ
> うか
>>>>>
>>>>> 2014/03/10 13:49 "ASAHI Kosuke" <asahi @ hcc.co.jp>:
>>>>>
>>>>> 島田様
>>>>>
>>>>> 朝日です。
>>>>>
>>>>> ぱっとソース見てみてQGISの挙動だけ。
>>>>>
>>>>>> ●ベクタ→ラスタ変換をする時、範囲設定はどうなっているんでしょうか?
>>>>> これは変換するベクタレイヤの範囲となるようです。
>>>>>
>>>>>>> ●ラスタ計算機について
>>>>> ・出力ラスタの範囲、ピクセル数
>>>>>    ダイアログ表示時にデフォルトで表示される、範囲、ピクセル数は、最初にプ
>>>>> ロジェクトに読み込まれているラスタレイヤのものが表示されるようです。
>>>>>    変更しない場合、この範囲、ピクセル数が出力ラスタに使用されます。
>>>>>
>>>>> ・出力ラスタと、入力ラスタの範囲、ピクセル数が違う場合
>>>>>   計算前に入力ラスタを出力ラスタに合わせる処理が入っています。
>>>>>   範囲外の部分にはnodataが入りますし、出力ラスタに合わせたピクセルの値は
>>>>> NearestNeighbourで求めるようです。
>>>>>
>>>>> 島田様の処理がなぜうまく行ってないのかはわかりませんね。。。
>>>>> 差し支えなければ、データを別途送付頂ければ見てみますが。
>>>>>
>>>>> 以上です。
>>>>>
>>>>> (2014/03/09 13:38), SGW00412 @ nifty.com wrote:
>>>>>> 皆様
>>>>>>
>>>>>> 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
>>>>>> とすると正解が得られました。
>>>>>>
>>>>>> なかなか難しいですね。。。
>>>>>>
>>>>>> ---
>>>>>> 島田@調布市
>>>>>> _______________________________________________
>>>>>> OSGeoJapan-discuss mailing list
>>>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> 北海道地図株式会社 研究開発課
>>>>> 朝日 孝輔
>>>>> mailto:asahi @ hcc.co.jp
>>>>> Tel : 0166-62-4711
>>>>>
>>>>> _______________________________________________
>>>>> OSGeoJapan-discuss mailing list
>>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>> _______________________________________________
>>>> OSGeoJapan-discuss mailing list
>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>>
>>>
>>> --
>>> Nobusuke IWASAKI Ph.D., Researcher
>>> Research Planning Office
>>> National Institute for Agro-Environmental Sciences
>>> 3-1-1, Kannondai, Tsukuba-shi,
>>> Ibaraki-ken 305-8604, JAPAN
>>> Tel: +81-29-838-8183 / Fax:  +81-29-838-8199
>>> Email: niwasaki @ affrc.go.jp
>>> Website http://cse.niaes.affrc.go.jp/niwasaki/
>>>
>>> 岩崎 亘典
>>> (独)農業環境技術研究所
>>> 企画戦略室 主任研究員
>>> 〒305-8604  茨城県つくば市観音台3-1-3
>>> _______________________________________________
>>> OSGeoJapan-discuss mailing list
>>> OSGeoJapan-discuss @ lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>
>>
>> ----- inline -----
>> _______________________________________________
>> OSGeoJapan-discuss mailing list
>> OSGeoJapan-discuss @ lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
> 
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
> 
> 


-- 
北海道地図株式会社 研究開発課
朝日 孝輔
mailto:asahi @ hcc.co.jp
Tel : 0166-62-4711



More information about the OSGeoJapan-discuss mailing list