당신이 원하는 것은 설정 래스터 속성은 스크립트 또는 ArcCatalog에서 수동으로 변경합니다. 새 래스터를 만들거나 시간이 오래 걸리지 않습니다.
파이썬에서는 약간 까다 롭습니다.
import sys, os, arcpy
InFolder = sys.argv[1]
arcpy.env.workspace = InFolder
for Ras in arcpy.ListRasters():
arcpy.AddMessage("Processing " + Ras)
arcpy.SetRasterProperties_management(Ras,nodata="1 0;2 0;3 0")
nodata가 목록 아래에 있기 때문에 쉽게 지정할 수 있습니다. 모든 밴드가 처리 될 때까지 파라미터는 Band Value; Band Value; ...입니다. 동일한 폴더에 더 많은 밴드가 있거나 더 적은 밴드가있을 경우 arcpy.Describe 및 bandCount 속성 을 사용하여 올바른 밴드 수에 대해 null을 설정해야합니다.
import sys, os, arcpy
InFolder = sys.argv[1]
arcpy.env.workspace = InFolder
for Ras in arcpy.ListRasters():
arcpy.AddMessage("Processing " + Ras)
desc = arcpy.Describe(Ras)
if desc.bandCount == 3:
arcpy.SetRasterProperties_management(Ras,nodata="1 0;2 0;3 0")
elif desc.bandCount == 4:
arcpy.SetRasterProperties_management(Ras,nodata="1 0;2 0;3 0;4 0")
elif desc.bandCount == 1:
arcpy.SetRasterProperties_management(Ras,nodata="1 0")
ArcCatalog에서 레이어를 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동합니다.
편집 버튼을 누르십시오.
값을 입력 한 후 확인을 눌러 NoData 편집기를 닫고 확인을 눌러 변경을 적용하십시오.
이제 래스터는 셀 값이 0,0,0 인 ArcMap에 아무것도 표시하지 않습니다.