タグ付けされた質問 「gdal-merge」

4
VSIS3を使用してS3バケットからGDALのファイルに効率的にアクセスする方法は?
そのため、GDALは最近、S3バケットファイルのランダム読み取りを可能にする新しい機能を追加しました。ファイル全体をダウンロードせずに、画像の複数のタイルからGDAL画像をトリミングしようとしています。GDALを使用してS3バケットを設定およびアクセスする方法に関する非常にまばらなドキュメントしか見ていませんが、開始方法について少し混乱していますか?この目標を達成するために、GDALの仮想ファイルシステムをどのように設定するかについて、非常に短い例/チュートリアルを提供してくれる人がいますか?ソリューションでPythonを使用したスクリプト作成が許可されている場合、ボーナスポイント! 明確にするために、すでにPythonでそれを行っています。Pythonの問題は、画像全体をダウンロードして操作する必要があることです。GDALの最新バージョンでは、S3バケットのマウントがサポートされているため、画像のごく一部をトリミングする必要がある場合、その小さな部分を直接操作できます。残念ながら、この機能は1月に安定版ブランチでのみリリースされたため、ドキュメントは見つかりませんでした。そのため、ソリューションでは、GDALの最新リリースのVSI3システムを使用するか、システムをスマートに使用して、ユーザーがイメージ全体をEBSドライブにダウンロードして操作する必要がないようにします。 つまり、GDALの最新バージョンにあるVSI APIを使用する回答に対して賞金が授与されるため、ファイル全体をメモリまたはディスクに読み込む必要はありません。また、使用するバケットは常に公開されているわけではないため、投稿されるHTTPトリックの多くは、多くの状況で機能しません。

3
モザイクのgdalwarpとgdal_mergeの違いは何ですか
それぞれ約100 MBの約20個のdem tiffをマージしたかったので、gdalwarpを使用しました(仮想ファイルオプションについて知っています)。 gdalwarp $(list_of_tiffs) merged.tiff ただし、このコマンドには非常に長い時間がかかり、約15分後にセットから5番目の画像を処理していました。終了します。 次に、gdal_merge.pyスクリプトがモザイクにも使用できることを発見し、試してみました。 gdal_merge.py $(list_of_tiffs) 3分以内に完了しました。 両方のコマンドで同じ結果が得られると思っていたので、結果が同じであるとgdalwarpに時間がかかるのはなぜですか?

1
Pythonスクリプトにgdal_mergeを呼び出す
私はpythonを初めて使用し、(スパイダー)pythonスクリプトでgdal_mergeを使用する方法に頭を悩ませています。私はWindows 10、Python 3.6を使用しており、osgeo4wからgdalツールをインストールしています。他の多くの投稿でこの問題について説明していますが、この問題の解決に役立つものはありません。 cmdからgdalモジュールを呼び出すと、それは魅力のように機能します: python "C:\OSGeo4W64\bin\gdal_merge.py" -o merged.tif input1.tif input2.tif ただし、Pythonスクリプト(スパイダー)では正しく機能しません。 最初のアプローチは出力を生成しますが、正しい名前ではありません。私が要求すると、「merged.tif」ファイルではなく「out.tif」ファイルが生成されます。 import sys sys.path.append('C:\\OSGeo4W64\\bin') import gdal_merge as gm gm.main(['-o', 'merged.tif', 'N00W078.tif', 'N00W079.tif']) 2番目のアプローチは、単に出力を生成しません。 import subprocess merge_command = ["python", "C:\OSGeo4W64\bin\gdal_merge.py", "-o", "merged.tif", "input1.tif", "input2.tif"] subprocess.call(merge_command,shell=True) この問題を解決する方法についての考えはありますか?

3
GDALを使用してラスターバンドの色解釈を追加する方法
3つの個別の1バンドGeoTIFFファイルがあります。バンドの色の解釈は灰色です。3バンドRGBファイルが必要です。私はgdal_merge.pyを使用しました gdal_merge.py -separate file1.tif file2.tif file3.tif -o output_file.tif しかし、結果のoutput_file.tifの3つのバンドの色の解釈は、灰色、未定義、未定義です。それを除いて、すべてのピクセルは0です。 pct2rgb.pyを実行すると、RGBファイルが表示されます。 pct2rgb.py output_file.tif output_file_rgb.tif しかし、もちろん、ピクセルも0です。だから、私は3つの質問があります: gdal_merge.pyは、3つの1バンドファイルを1つの3バンドRGBファイルに結合するための適切なツールですか? なぜバンドの色の解釈が未定義になるのですか? pct2rgbは、この色の解釈を持つ3バンドファイルをRGBファイルに変換するための適切なツールですか? 更新:ラスタにはカラーテーブルがありません。ただ色の解釈:灰色。 一方、ピクセル値は0から1023になります(これは意図的なものです) より多くのデータ:それらは回転したラスター(北を上にしない)ですが、それらはすべて同じ地理変換を持っています。 更新2:画像をワープして北に上向きにし、VRTを構築し、各バンドにColorInterpを追加しますが、出力結果で色が灰色、未定義、未定義として解釈されます。 問題は、少なくとも最初のバンドでカラーテーブルを作成する必要があることです。私が知っているそれらを作成する方法を、私は私のテーブルには、どのように多くのエントリを持っていなければならないのか分かりません。GDALラスターFAQの例に13のエントリがあるのはなぜですか?役立つ場合、すべてのピクセルの値は0〜1023です。 更新3:どうやら、TIFF形式では各バンドの色の解釈を実際に指定する方法はありません。TIFFファイルを読み取るときにGDALが色の解釈を構築する方法は、PHOTOMETRICタグとEXTRASAMPLESタグの値の組み合わせです。 これらのタグについて読む: PHOTOMETRICは、画像データの色空間を表します。値2は、ピクセル値のコンポーネントがRGBであることを意味しますが、バイトピクセルを想定しており、UInt16ピクセルを持っています(を試行し-co "PHOTOMETRIC=rgb"てエラーが発生しました)。そのため、出力ファイルにPHOTOMETRICタグを指定できません。 EXTRASAMPLESは、各ピクセルにN個の追加コンポーネントがあることを指定します。このタグを使用してマージされたファイルを作成する方法がわかりません。または、必要な場合。 それで、更新2では、ColorTableの作成をお勧めしますが、どうやって?3つの入力ファイルでは、ピクセル値は0〜1023です。それらを色と一致させる必要がありますか?1024入力のColorTableを作成する必要がありますか?どうやって? 更新3では、マージされたファイルを作成するときにいくつかのGeoTIFFタグを使用できたようですが、実際にそれらを使用できるかどうか、またはどのように使用するかはわかりません。

2
GDALプロセスを実行する別のPythonスクリプトにgdal_merge.pyを呼び出す
を使用gdal_merge.pyして一連の.tifファイルをマージしてから、マージしたファイルをシェープファイルの境界にクリップしたいのですが、他の多くのプロセスを実行する別の大きなスクリプトの一部としてそうしたいと思います。私はpython / GDALの初心者で、gdal_merge.py別のスクリプトを呼び出す方法がわかりません。 単純にgdal_merge.pyそのまま実行することはできませんが、多くのプロセスを実行できるスクリプトの1つのステップです。これを行うための最良の方法について何か考えはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.