[OSGeoJapan-discuss] gdalで画像結合が遅くて困っています。

arctic_tern @ mf-atelier.sakura.ne.jp arctic_tern @ mf-atelier.sakura.ne.jp
2013年 8月 8日 (木) 07:58:53 PDT


斎藤様

山手と申します。

あまり効果がないかもしれませんが、以下の2つも試してみていただけますでしょうか。

・gdalwarpで -co TILED=YES -co BLOCKXSIZE=512 -co BLOCKSIZEY=512オプションを追加する

TILED TIF形式にすることで、キャッシュされる画像範囲がブロック単位になるはずです。
ブロックサイズはデフォルトでは256ですが、変更したい場合は上のようにしてください。

・ワープ画像は個別に作って、マージ画像をVRTにする

gdalbuildvrt -hidenodata -vrtnodata "0 0 0" ../dest_dir/merge.vrt *.tif
で仮想的にマージ画像を作成することができます。
大きなファイルが扱いづらそうだと思われる場合にどうぞ。

もし効果がありましたらお教えいただけると大変助かります。

以上、よろしくお願い申し上げます。


> 岩崎 様
> 
>  早々のご回答ありがとうございます。
> 
>  これやってたら、1年掛かるやんけー(~_~;)
>  と思っていたので、ありがとうございます。
> 
>  最悪、メモリディスク作って・・・とか、分割して結合も考えたりはしていた 
> のですが、
> ブログの内容も拝見させて頂き、十分理解出来ました。
> 
> > それと、gdalwarpで画像を結合する場合、初めに結合した範囲のデータを作って、その範囲のデータをすべて処理するようにも思います。
>  これも確かにそんな動きですね。
>  なんか、毎度毎度同じような初期化やってるような感じで、無駄じゃないのか 
> なぁ?もっと効率良く出来ないのかな?
>  オプションで逃げれないのかな?とか考えていましたが・・・
> 
>  ありがとうございます。
>  早速、やってみます。
> 
> 以上
> 
>  
> 
> (2013/08/08 23:02), Nobusuke Iwasaki wrote:
> > すみません、途中で送信してしまいました。
> >
> > 以下のブログに解説が書かれています。
> > http://d.hatena.ne.jp/yellow_73/20110427
> >
> > それと、gdalwarpで画像を結合する場合、初めに結合した範囲のデータを作って、その範囲のデータをすべて処理するようにも思います。場合によると、四分割なり、八分割なりの結合ファイルを作成して、それを結合した方がいいかもしれません。
> > 結合結果が10万✕10万ピクセルであれば、一晩で結合できました。
> >
> > 詳しいことは、どなたかフォローいただければと思います。
> >
> > 2013年8月8日 22:54 Nobusuke Iwasaki <wata909 @ gmail.com>:
> >> 斎藤さま
> >>
> >> 岩崎と申します。
> >>
> >> 私のやった経験の範囲なのですが、GDAL_CACHEMAX で使用するメモリ量を多くすると、かなり早くなりました。
> >>
> >> 2013年8月8日 22:25 斎藤 直正 <nsaito @ msk-web.co.jp>:
> >>> 斎藤と申します。
> >>> 初めて投稿させて頂きますの、不躾な点があるかと思いますが
> >>> 宜しくお願いしますm(_)m
> >>>
> >>>   現在、700枚程の航空写真をタイル画像にしようと思い、まずは画像合成?結合
> >>> からということで、Windows 7からgdal_merge.pyを使用してみたところ、ファイ
> >>> ル数が
> >>> 多すぎて、コマンドラインからはみ出る様なエラーが発生し上手く利用できませ
> >>> んでした。
> >>>
> >>>   そこで、Linux(CentOS 6.4)にgdalをソースからインストールして、
> >>> gdalwarpを以下のコマンドで実行してみたところ、とてつもなく時間が掛かって
> >>> しまい困惑しています。(24時間で2枚しか処理できませんでした)
> >>>   gdalは gdal-1.10.0を使用しています。
> >>>
> >>> # gdalwarp *.tif ../dest_dir/all.tif -dstnodata -9999 -srcnodata -9999
> >>> Creating output file that is 214000P x 195000L.
> >>> Processing input file 09xxxx1.tif.
> >>> for band 1, destination nodata value has been clamped to 0, the original
> >>> value being out of range.
> >>> 0...10...20...30...40...50...60...70...80...90...100 - done.
> >>> Processing input file 09xxxx2.tif.
> >>> for band 1, destination nodata value has been clamped to 0, the original
> >>> value being out of range.
> >>> 0...10...20...30...40...50...60...70...80...90...100 - done.
> >>>
> >>> <以下省略>
> >>>
> >>>   gdalは以下のconfigureオプションで作成しています。
> >>> # ./configure --with-perl --with-php --with-python --with-expat
> >>> --with-expatlib=/usr/lib64 \
> >>> --with-poppler --with-expatinc=/usr/include --with-libtiff=/usr
> >>> --with-geotiff=/usr/ \
> >>> --with-threads
> >>>
> >>> # make
> >>> # make install
> >>>
> >>>   ちなみに、
> >>>   --with-expatlib=/usr/lib64
> >>>   --with-expatinc=/usr/include
> >>>   については、configure --helpで見ると、
> >>> --with-expat-lib=/usr/lib64
> >>> --with-expat-inc=/usr/include
> >>> であるべきなのですが、--with-expat-libと「expat」と「lib」もしくは
> >>> 「inc」の間に
> >>> 「-」を入れるとエラーではじかれるので、間の「-」が無いのが正しそうだと
> >>> 思っています。
> >>>
> >>> その後、pythonのツールを有効にしようと思い、以下のコマンドを実行しています。
> >>>
> >>> # cd swig/python/
> >>> # easy_install GDAL
> >>> # python setup.py build
> >>> # python setup.py install
> >>>
> >>> 各種必要なライブラリ等は、yumやrpmなどでインストールを施してインストール
> >>> したつもりです。
> >>>
> >>>   やり方に問題があるのでしょうか?
> >>>   マシン環境が悪いのか?
> >>>
> >>>   gdal以外の方法でも構わないので、高速化させる方法があればご教示頂けない
> >>> でしょうか?
> >>>
> >>>   ちなみに、ファイル数を70ファイルぐらいに限定し、コマンドを以下の様に
> >>> 少し変更してみたのですが、それだと、1時間で3ファイルぐらいは処理してく
> >>> れているようです。
> >>>
> >>> # gdalwarp *.tif ../dest_dir/all.tif -dstnodata -9999 -srcnodata -9999
> >>> -multi
> >>>
> >>> -multiを追加しました。思い付きで、並列処理してくれるのかな?と思っていま
> >>> すが、
> >>> 違うのかな?速くなった気がほとんどしないような・・・
> >>>
> >>> 以上、宜しくお願いします。
> >>>
> >>>
> >>> --
> >>> /////////////////////////////////////////////////////////
> >>> 株式会社 エムエスケー
> >>> 斎藤 直正
> >>> TEL:0598-51-7471 / FAX:0598-52-4849
> >>> E-mail:nsaito @ msk-web.co.jp  URL:http://www.msk-web.co.jp
> >>> /////////////////////////////////////////////////////////
> >>>
> >>> _______________________________________________
> >>> OSGeoJapan-discuss mailing list
> >>> OSGeoJapan-discuss @ lists.osgeo.org
> >>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
> >>
> >>
> >> --
> >> 岩崎 亘典
> >
> >
> 
> 
> -- 
> /////////////////////////////////////////////////////////
> 株式会社 エムエスケー
> 斎藤 直正
> TEL:0598-51-7471 / FAX:0598-52-4849
> E-mail:nsaito @ msk-web.co.jp  URL:http://www.msk-web.co.jp
> /////////////////////////////////////////////////////////
> 
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>


More information about the OSGeoJapan-discuss mailing list