巨大なgeotiffをtilepyramidに変換する


9

20 GB LZW圧縮ジオティフをgdal2tilesを使用してtilepyramidに変換しようとしています。残念ながら、gdal2tilesはこれを処理できないようです。10時間実行した後、まだ最初の「ドット」に達していません。小さい(1GB)ファイルでこれを試したところ、問題なく動作しました。私の質問は、これを可能にする他のソフトウェア(商用またはオープンソース)はありますか?GlobalMapperからタイルを作成できますが、20GBのファイルをメモリにロードできません。

回答:


4

マルチコアプロセッサを搭載したコンピュータを使用している場合は、パラレルGDAL2Tiles(ppgdal2tiles)が便利です。この種のコンピューターでは、ppgdal2tilesは「シングルコア」バージョンよりも高速に実行されます。ppgdal2tilesウェブページの引用:

「GDAL2Tilesの標準バージョンは、一度に1つの処理コアのみを使用しています。

より多くのプロセッサを搭載したコンピュータ(またはIntelまたはAMDのマルチコアプロセッサの1つ)を使用している場合、いくつかのプロセスを開始して、コンピュータのフルコンピューティング能力を使用し、タイルレンダリングを可能な限り高速に終了できます。」


そして、あなたは確かにペトルにこの問題の助けを求め、それがプロジェクトである場合はプロジェクトをサポートすることができます。- > maptiler.com
relet

提供されたリンクは無効です。
mrgloom 2016年

4

ほんの数週間前に同じ問題がありました。一度は、オプションを使用します

--config GDAL_CACHEMAX 2047

(当面は2048未満にしておく必要があります!)次に、gdal2tiles.pyスクリプトを別の場所にコピーし、タイルを反復するforループを変更して、逆算します。1174行目にある私のバージョンのgdal2tilesでは:

for ty in range(tmaxy, tminy-1, -1):

への変更:

for ty in range(tminy, tmaxy+1):

次に、同じ引数を使用して両方のスクリプトを同時に使用し、-eを追加します(つまり、続行して、既存のファイルを削除しないでください)。タイル)、またはあなたは壊れたタイルを取得します。忘れた場合は、サイズ0のすべてのファイルを検索して削除し、最初からやり直してください-eスイッチを使用します;)

それが役に立てば幸い


質問:GDAL_CACHEMAXを2047未満に維持する必要があるのはなぜですか?私はgdalwarpなどのために8GB以上で楽しく使用しています...
markusN

1

'multiprocessing'モジュールを使用して、gdal2tiles.pyのパラレルバージョンにこの問題の2番目のパッチを試してください:http ://trac.osgeo.org/gdal/ticket/4379

6コアCPUで5.5倍のスピードアップが得られました。


1

FMEがそれを実行できるようになることを願っています。それは確かにタイリングを行うことができます-そして私はそれが大きなファイルサイズを処理できると確信しています。ラスターピラミッドパーツは非常に単純です。サンプルおよびデモのページのラスターピラミッドの例を参照してください。

最初に試用するための評価版を入手できます

マークアイルランド、製品エバンジェリスト、安全なソフトウェア


1
これは境界広告です。FMEを使用してタイルを作成し、フロントページだけでなく、OPの問題を直接カバーするドキュメントにリンクする方法を要約して、それをフェンスから押しのけて確実な答えにしてください。ありがとう。
マットウィルキー、2011

ごめんなさい。意図されていませんでした。ラスターピラミッドパーツは非常に単純です(fmepedia.safe.com/articles/Samples_and_Demos/…)。質問はパフォーマンスに関するものであり、個人的に試したことがないときはコミットしたくなかったので、私は少し漠然としていました。そのため、OPに直接試すように依頼しました。
Mark Ireland
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.