投影変換を効率的に実行することで、処理時間とコストを大幅に削減することが可能です。
特に、GDALコマンドを使用する場合、CPUリソースを最大限に活用して高速化を図ることができます。
このアプローチを採用することで、処理速度が従来の3倍に向上し、結果として処理時間が1/3に短縮されます。
確認環境
今回の検証は、AWSのEC2インスタンス g4dn.2xlarge を使用して実施しました。具体的なCPU仕様は以下の通りです:
- EC2インスタンスタイプ: g4dn.2xlarge
- CPU: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
この環境を利用することで、高いパフォーマンスを発揮し、効率的なデータ処理が可能となります。
確認コマンドと処理時間
以下のGDALコマンドを使用し、投影変換を実行しました。それぞれのコマンドとその処理時間は以下の通りです。
1.標準コマンド
gdalwarp -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES -t_srs epsg:3857 -r average /tmp/ortho.tif /tmp/ortho_3857.tif
処理時間: 0:17:49
2.マルチバンド処理を使用
gdalwarp -multi -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES -t_srs epsg:3857 -r average /tmp/ortho.tif /tmp/ortho_3857.tif
処理時間: 0:15:17
3.6つのCPUスレッドを使用
gdalwarp --config GDAL_NUM_THREADS 6 -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES -t_srs epsg:3857 -r average /tmp/ortho.tif /tmp/ortho_3857.tif
処理時間: 0:06:05
4.全CPUスレッドを使用
gdalwarp --config GDAL_NUM_THREADS ALL_CPUS -co COMPRESS=LZW -co PREDICTOR=2 -co BIGTIFF=YES -t_srs epsg:3857 -r average /tmp/ortho.tif /tmp/ortho_3857.tif
処理時間: 0:05:22
4つのコマンドの処理時間をグラフに表すと下記のようになります。
まとめ
今回の検証結果から、gdalwarp
コマンドにおいてCPUスレッド数を調整することで、大幅な処理時間の短縮が可能であることが確認できました。特に、全CPUスレッドを使用することで、最初の標準コマンドに比べて処理時間が1/3以下に短縮されることが分かりました。これにより、処理効率を向上させ、リソースの有効活用を実現することができます。
この記事が皆様の作業効率向上に役立つことを願っています。