現在複数のtiffファイルを1つに集約しようと下記のコードを書き、実行しているのですが、下記のようなエラーが発生し、どのように解決すればよいのかがわからず困っております。
#発生しているerror
0...10...20...30...40ERROR 5: temp\28363_13157_15.tif: GDALDataset::GetRasterBand(4) - Illegal band # Traceback (most recent call last): File "C:\Users\lyon_\AppData\Local\Programs\Python\Python36\Scripts\gdal_merge.py", line 611, in <module> sys.exit(main()) File "C:\Users\lyon_\AppData\Local\Programs\Python\Python36\Scripts\gdal_merge.py", line 596, in main fi.copy_into(t_fh, band, band, nodata) File "C:\Users\lyon_\AppData\Local\Programs\Python\Python36\Scripts\gdal_merge.py", line 343, in copy_into nodata_arg) File "C:\Users\lyon_\AppData\Local\Programs\Python\Python36\Scripts\gdal_merge.py", line 116, in raster_copy if s_band.GetMaskFlags() != gdal.GMF_ALL_VALID: AttributeError: 'NoneType' object has no attribute 'GetMaskFlags'
#実行したコード
python
1def merge_tiles(input_pattern, output_path): 2 merge_command = ['gdal_merge.py', '-o', output_path] 3 4 for name in glob.glob(input_pattern): 5 merge_command.append(name) 6 7 subprocess.call(merge_command , shell=True) 8 9 10merge_tiles(temp_dir + '/*.tif', output_dir + '/merged.tif')
#考えたこと
調べても具体的にどのように修正すれば良いのかがわからず、具体的に修正したことはないです。
ただ、1点疑問に思ったことがあり、tiff画像が位置的に連続していないことが原因なのではないのかなと思いました。
というのは、現在使用しているtigg画像は、九州のある地域の一部だけです。下記の画像にあるように、九州の赤い部分で
囲まれたtiff画像を現在持っており、これらを1つに集約しようと考えているのですが、そもそもこの考え方がダメなのでしょうか。
<取得し、加工したpng画像>
<エラーが発生しているpng画像>
わからないことばかりで質問の意図がわかりくいかもしれませんが、何卒よろしくお願いたします。
あなたの回答
tips
プレビュー