<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">かやま 様<br>
<br>
下記、ご連絡ありがとうございます。<br>
<br>
ご指摘の通り、tiffに変換して使う必要はないですね。<br>
前のメールを下記終わってから気が付き、gdal2tiles.pyのソースを見ながら、もう一丁<br>
速くならないか?と、思案をして・・・<br>
<br>
最初は、zoomレベルを0-16まで作っちゃえ!と思って、<br>
<br>
gdal2tiles.py -p mercator -z 0-16 merge.vrt<br>
<br>
とかやっていたのですが、止めました。<br>
<br>
取りあえず、背景図目的だからある程度粗くても良いだろうと思い<br>
<br>
gdal2tils.py -r near -p mercarot -z 0 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 1 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 2 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 3 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 4 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 5 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 6 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 7 merge.vrt &<br>
gdal2tils.py -r near -p mercarot -z 8 merge.vrt <br>
<br>
と打ち込んで、なんちゃってパラレル・・・<br>
gdal2tiles.pyを逆順に処理するスクリプトを別で作って走らせる<br>
方法なんかも記載されていましたが、失敗して後で泣いてるより、<br>
より確実な方法?ということで、こいつをやってみています。<br>
zoomレベル5くらいまでは、そこそこのペースで返って来ていましたが、<br>
6からは重くなり出して、8では1時間くらいかな?<br>
<br>
CPU負荷をモニタリングしながら、100%でベタになっているコアを眺めて、<br>
それでもディスクのアクセスがガリガリやっているので、ディスクアクセスが<br>
ボトルネックですね。<br>
<br>
処理の最中にRAM DISKを検討して、容量64GBでは足りない・・・と断念。<br>
というより、この為だけに64GBものRAMを突っ込む気にはなれなかったw<br>
でも、SSDが欲しくなってきました(#^.^#)<br>
<br>
最後になりましたが、ご教示頂きありがとうございました。<br>
<br>
以上<br>
<br>
(2013/08/12 13:50), Yoichi Kayama wrote:<br>
</div>
<blockquote
cite="mid:CABCH-_mkQSGP89Cspev3KGqVxqgZETS5XVHtgvZY-L1keV9hzQ@mail.gmail.com"
type="cite">
<div dir="ltr">斉藤様
<div><br>
</div>
<div>かやまと申します</div>
<div><br>
</div>
<div>画像のタイル化ですが、gdal2tiles.py とかでやるならば入力の元画像にvrtが利用できます</div>
<div>からvrtをtiffに変更する必要は無いと思います。</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">
2013年8月12日 12:20 斎藤 直正 <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:nsaito@msk-web.co.jp"
target="_blank">nsaito@msk-web.co.jp</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
山手 様<br>
<br>
ご連絡が遅くなってしまって済みせん。<br>
ご教示頂きありがとうございます。<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
・gdalwarpで -co TILED=YES -co BLOCKXSIZE=512 -co
BLOCKYSIZE=512オプションを追加する<br>
</blockquote>
この方法も試してみました。(オプションBLOCKSIZEY⇒BLOCKYSIZEに変更)<br>
確かに速くなります。<br>
ただ、もう一声\(^o^)/という感じでしょうか(^^ゞ<br>
もう少し小ぶりなデータセットならば良いかと思いました。<br>
画像の結合だけに着目していたのそう思いましたが、gdalwarp自体を他の用途 に使う分には<br>
極めて有効に使えると思っています。<br>
<br>
次に、
<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
gdalbuildvrt -hidenodata -vrtnodata "0 0 0"
../dest_dir/merge.vrt *.tif<br>
で仮想的にマージ画像を作成することができます。<br>
大きなファイルが扱いづらそうだと思われる場合にどうぞ。<br>
<br>
もし効果がありましたらお教えいただけると大変助かります。<br>
</blockquote>
</div>
-hidenodata -vrtnodate・・・・の効果が今一つ航空写真を使っている為か見 えなかったので、<br>
それらのオプションを外して<br>
<br>
gdalbuildvrt ../dest_dir/merge.vrt *.tif <br>
<br>
として試してみました。<br>
<br>
最初の段階で、大量のファイルで以下のエラーが数百個は出たかな(^^ゞ<br>
Warning 6: gdalbuidvrt dose not support heterogenous
projection. Skipping xxxx.tif<br>
vrtファイルもまともに生成されませんでした。<br>
原因は、元のオルソフォトは投射方法が無秩序にバラバラであったり、登録されて<br>
いなかったり・・・これが原因だと思い。<br>
全てのファイルをシェルスクリプトで変換(元ファイルは、.tifと.tfwで構成 されていたが、<br>
出力結果は.tifへと合成してくれるのでこれも助かりましたw)<br>
<br>
gdal_transkate -a_srs epsg:xxxx srcxxx.tif
../geotiff/dstxxxx.tif<br>
<br>
その後、上記のgdalbuidvrtを実行したら、あっという間に合成してくれました。<br>
<br>
更に、タイル画像を作るのに必要なtifファイルを作りたかったので、以下の<br>
コマンドでtifファイルを生成。<br>
<br>
gdal_translate merge.vrt merge.tif<br>
<br>
数時間掛かったと思いますが、寝落ちしている間に作ってくれていましたw<br>
<br>
問題は、無事画像が生成されているのか?心配でしたので、睡魔と闘い<br>
ながら・・・縮小画像を生成。<br>
<br>
gdalwarp -tr 100 100 merge.tif dst_short.tif<br>
<br>
激粗の画像が生成され、取りあえず画像生成が上手く行っていることを確認。<br>
後で、入力ファイルをmerge.vrtに変えてやっても出来ることを確認しました。<br>
<br>
結論としては、手順は増えますが・・・・<br>
・GDAL_CHASHMAXの値を適当な値にする。(これは必須ですね。)<br>
・大きなファイルを結合する時は、場合によって、gdalbuildvrtで仮想ファイル を作成<br>
・gdal_translateで実画像化<br>
<br>
という手順が最も速く実現出来ました。<br>
<br>
小規模だと、そのままgdalwarpでやってもトータル時間はあまり変わらない?かも<br>
知れませんが、ファイル数多かったり、最終的に出来あがる結合後のファイルが<br>
大きくなる様ならば、gdalbuidvrtを使うべきと思いました。<br>
<br>
御蔭さまで、無事画像結合が現実的な時間で出来るようになりました。<br>
次は、画像のタイル化に挑戦予定・・・というか、既にヤバそう(^^ゞ<br>
<br>
ありがとうございました。<br>
<br>
以上
<div class="HOEnZb">
<div class="h5"><br>
<br>
(2013/08/08 23:58), <a moz-do-not-send="true"
href="mailto:arctic_tern@mf-atelier.sakura.ne.jp"
target="_blank">arctic_tern@mf-atelier.sakura.ne.jp</a>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
斎藤様<br>
<br>
山手と申します。<br>
<br>
あまり効果がないかもしれませんが、以下の2つも試してみていただけますでしょうか。<br>
<br>
・gdalwarpで -co TILED=YES -co BLOCKXSIZE=512 -co
BLOCKSIZEY=512オプションを追加する<br>
<br>
TILED TIF形式にすることで、キャッシュされる画像範囲がブロック単位になるはずです。<br>
ブロックサイズはデフォルトでは256ですが、変更したい場合は上のようにしてください。<br>
<br>
・ワープ画像は個別に作って、マージ画像をVRTにする<br>
<br>
gdalbuildvrt -hidenodata -vrtnodata "0 0 0"
../dest_dir/merge.vrt *.tif<br>
で仮想的にマージ画像を作成することができます。<br>
大きなファイルが扱いづらそうだと思われる場合にどうぞ。<br>
<br>
もし効果がありましたらお教えいただけると大変助かります。<br>
<br>
以上、よろしくお願い申し上げます。<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
岩崎 様<br>
<br>
早々のご回答ありがとうございます。<br>
<br>
これやってたら、1年掛かるやんけー(~_~;)<br>
と思っていたので、ありがとうございます。<br>
<br>
最悪、メモリディスク作って・・・とか、分割して結合も考えたりはしていた<br>
のですが、<br>
ブログの内容も拝見させて頂き、十分理解出来ました。<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
それと、gdalwarpで画像を結合する場合、初めに結合した範囲のデータを作って、その範囲のデータを
すべて処理するようにも思います。<br>
</blockquote>
これも確かにそんな動きですね。<br>
なんか、毎度毎度同じような初期化やってるような感じで、無駄じゃないのか<br>
なぁ?もっと効率良く出来ないのかな?<br>
オプションで逃げれないのかな?とか考えていましたが・・・<br>
<br>
ありがとうございます。<br>
早速、やってみます。<br>
<br>
以上<br>
<br>
<br>
<br>
(2013/08/08 23:02), Nobusuke Iwasaki wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
すみません、途中で送信してしまいました。<br>
<br>
以下のブログに解説が書かれています。<br>
<a moz-do-not-send="true"
href="http://d.hatena.ne.jp/yellow_73/20110427"
target="_blank">http://d.hatena.ne.jp/yellow_73/20110427</a><br>
<br>
それと、gdalwarpで画像を結合する場合、初めに結合した範囲のデータを作って、その範囲のデータを
すべて処理するようにも思います。場合によると、四分割なり、八分割なりの結合ファイルを作成して、それを
結合した方がいいかもしれません。<br>
結合結果が10万✕10万ピクセルであれば、一晩で結合できました。<br>
<br>
詳しいことは、どなたかフォローいただければと思います。<br>
<br>
2013年8月8日 22:54 Nobusuke Iwasaki <<a
moz-do-not-send="true"
href="mailto:wata909@gmail.com" target="_blank">wata909@gmail.com</a>>:<br>
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
斎藤さま<br>
<br>
岩崎と申します。<br>
<br>
私のやった経験の範囲なのですが、GDAL_CACHEMAX で使用するメモリ量を多くすると、かな
り早くなりました。<br>
<br>
2013年8月8日 22:25 斎藤 直正 <<a
moz-do-not-send="true"
href="mailto:nsaito@msk-web.co.jp"
target="_blank">nsaito@msk-web.co.jp</a>>:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
斎藤と申します。<br>
初めて投稿させて頂きますの、不躾な点があるかと思いますが<br>
宜しくお願いしますm(_)m<br>
<br>
現在、700枚程の航空写真をタイル画像にしようと思い、まずは画像合成?結合<br>
からということで、Windows
7からgdal_merge.pyを使用してみたところ、ファイ<br>
ル数が<br>
多すぎて、コマンドラインからはみ出る様なエラーが発生し上手く利用できませ<br>
んでした。<br>
<br>
そこで、Linux(CentOS 6.4)にgdalをソースからインストールして、<br>
gdalwarpを以下のコマンドで実行してみたところ、とてつもなく時間が掛かって<br>
しまい困惑しています。(24時間で2枚しか処理できませんでした)<br>
gdalは gdal-1.10.0を使用しています。<br>
<br>
# gdalwarp *.tif ../dest_dir/all.tif
-dstnodata -9999 -srcnodata -9999<br>
Creating output file that is 214000P x
195000L.<br>
Processing input file 09xxxx1.tif.<br>
for band 1, destination nodata value has been
clamped to 0, the original<br>
value being out of range.<br>
0...10...20...30...40...50...60...70...80...90...100
- done.<br>
Processing input file 09xxxx2.tif.<br>
for band 1, destination nodata value has been
clamped to 0, the original<br>
value being out of range.<br>
0...10...20...30...40...50...60...70...80...90...100
- done.<br>
<br>
<以下省略><br>
<br>
gdalは以下のconfigureオプションで作成しています。<br>
# ./configure --with-perl --with-php
--with-python --with-expat<br>
--with-expatlib=/usr/lib64 \<br>
--with-poppler --with-expatinc=/usr/include
--with-libtiff=/usr<br>
--with-geotiff=/usr/ \<br>
--with-threads<br>
<br>
# make<br>
# make install<br>
<br>
ちなみに、<br>
--with-expatlib=/usr/lib64<br>
--with-expatinc=/usr/include<br>
については、configure --helpで見ると、<br>
--with-expat-lib=/usr/lib64<br>
--with-expat-inc=/usr/include<br>
であるべきなのですが、--with-expat-libと「expat」と「lib」もしくは<br>
「inc」の間に<br>
「-」を入れるとエラーではじかれるので、間の「-」が無いのが正しそうだと<br>
思っています。<br>
<br>
その後、pythonのツールを有効にしようと思い、以下のコマンドを実行しています。<br>
<br>
# cd swig/python/<br>
# easy_install GDAL<br>
# python setup.py build<br>
# python setup.py install<br>
<br>
各種必要なライブラリ等は、yumやrpmなどでインストールを施してインストール<br>
したつもりです。<br>
<br>
やり方に問題があるのでしょうか?<br>
マシン環境が悪いのか?<br>
<br>
gdal以外の方法でも構わないので、高速化させる方法があればご教示頂けない<br>
でしょうか?<br>
<br>
ちなみに、ファイル数を70ファイルぐらいに限定し、コマンドを以下の様に<br>
少し変更してみたのですが、それだと、1時間で3ファイルぐらいは処理してく<br>
れているようです。<br>
<br>
# gdalwarp *.tif ../dest_dir/all.tif
-dstnodata -9999 -srcnodata -9999<br>
-multi<br>
<br>
-multiを追加しました。思い付きで、並列処理してくれるのかな?と思っていま<br>
すが、<br>
違うのかな?速くなった気がほとんどしないような・・・<br>
<br>
以上、宜しくお願いします。<br>
<br>
<br>
--<br>
/////////////////////////////////////////////////////////<br>
株式会社 エムエスケー<br>
斎藤 直正<br>
TEL:0598-51-7471 / FAX:0598-52-4849<br>
<a moz-do-not-send="true"
href="mailto:E-mail%3Ansaito@msk-web.co.jp"
target="_blank">E-mail:nsaito@msk-web.co.jp</a>
URL:<a moz-do-not-send="true"
href="http://www.msk-web.co.jp"
target="_blank">http://www.msk-web.co.jp</a><br>
/////////////////////////////////////////////////////////<br>
<br>
_______________________________________________<br>
OSGeoJapan-discuss mailing list<br>
<a moz-do-not-send="true"
href="mailto:OSGeoJapan-discuss@lists.osgeo.org"
target="_blank">OSGeoJapan-discuss@lists.osgeo.org</a><br>
<a moz-do-not-send="true"
href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss"
target="_blank">http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss</a><br>
</blockquote>
<br>
--<br>
岩崎 亘典<br>
</blockquote>
<br>
</blockquote>
<br>
-- <br>
/////////////////////////////////////////////////////////<br>
株式会社 エムエスケー<br>
斎藤 直正<br>
TEL:0598-51-7471 / FAX:0598-52-4849<br>
<a moz-do-not-send="true"
href="mailto:E-mail%3Ansaito@msk-web.co.jp"
target="_blank">E-mail:nsaito@msk-web.co.jp</a>
URL:<a moz-do-not-send="true"
href="http://www.msk-web.co.jp" target="_blank">http://www.msk-web.co.jp</a><br>
/////////////////////////////////////////////////////////<br>
<br>
_______________________________________________<br>
OSGeoJapan-discuss mailing list<br>
<a moz-do-not-send="true"
href="mailto:OSGeoJapan-discuss@lists.osgeo.org"
target="_blank">OSGeoJapan-discuss@lists.osgeo.org</a><br>
<a moz-do-not-send="true"
href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss"
target="_blank">http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss</a><br>
</blockquote>
><br>
</blockquote>
<br>
<br>
-- <br>
/////////////////////////////////////////////////////////<br>
株式会社 エムエスケー<br>
斎藤 直正<br>
TEL:0598-51-7471 / FAX:0598-52-4849<br>
<a moz-do-not-send="true"
href="mailto:E-mail%3Ansaito@msk-web.co.jp"
target="_blank">E-mail:nsaito@msk-web.co.jp</a> URL:<a
moz-do-not-send="true" href="http://www.msk-web.co.jp"
target="_blank">http://www.msk-web.co.jp</a><br>
/////////////////////////////////////////////////////////<br>
<br>
_______________________________________________<br>
OSGeoJapan-discuss mailing list<br>
<a moz-do-not-send="true"
href="mailto:OSGeoJapan-discuss@lists.osgeo.org"
target="_blank">OSGeoJapan-discuss@lists.osgeo.org</a><br>
<a moz-do-not-send="true"
href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss"
target="_blank">http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
/////////////////////////////////////////////////////////
株式会社 エムエスケー
斎藤 直正
TEL:0598-51-7471 / FAX:0598-52-4849
<a class="moz-txt-link-abbreviated" href="mailto:E-mail:nsaito@msk-web.co.jp">E-mail:nsaito@msk-web.co.jp</a> URL:<a class="moz-txt-link-freetext" href="http://www.msk-web.co.jp">http://www.msk-web.co.jp</a>
/////////////////////////////////////////////////////////
</pre>
</body>
</html>