クローズ。この質問には、
詳細または明確さが必要です。現在、回答を受け付けていません。
コメント
回答
arcpy.env.workspace
パス- F:\raster_test
-おそらく存在しないか、arcpyがアクセスできません。arcpy.ListRasters()
は空のリストを返します[]
ラスターが見つからない場合、パスが見つからない場合はNone
を返します:
パスが存在します:
arcpy.env.workspace = r"C:\Temp" # Does Exist rasters = arcpy.ListRasters("*.tif) print rasters
出力:
[]
パスは not が存在しません:
arcpy.env.workspace = r"C:\Temp2" # Does NOT Exist rasters = arcpy.ListRasters("*.tif) print rasters
出力されます:
None
回答
…また、コードの先頭に向かってバックアップするのは、この誤った行です(\ rはPythonのエスケープシーケンスです)。
arcpy.env.workspace = "F:\raster_test" # Does NOT Exist
指定されたF:\ラスター_テストは有効なパスであり(ラスターが含まれている)、これは正常に機能するはずです:
arcpy.env.workspace = r"F:\raster_test" # Does Exist
文字列リテラルのPythonドキュメントセクションを参照してください。
コメント
回答
原因がわからないNoneType
エラー、arcpy.ListRasters()
は空のリストを返し、ラスターがない場合はNoneType
を返しませんでした見つかりました。これを試してみてください:
import arcpy import os from arcpy.sa import ExtractByMask out_dir = r"F:\clipped_images" arcpy.env.workspace = r"F:\raster\test" arcpy.CheckOutExtension("Spatial") mask = r"F:\shapefile\Export_Output.shp" for raster in arcpy.ListRasters("*.tif"): output_raster = os.path.join(out_dir, os.path.splitext(raster)[0] + "_clip.tif") ExtractByMask(raster, mask, output_raster) arcpy.CheckInExtension("Spatial")
回答
さまざまなList
関数(ListTables
、ListFeatureclasses
など)は常に指定されたワークスペースに一致するタイプがない場合。リスト変数に対してif
ロジックテストをすばやく実行します。
rasters = arcpy.ListRasters ("*.TIF") if rasters: your code here