I have a folder with filenames bio1_36.tif, bio1_37.tif, bio2_36_tif, bio2_37.tif, and so on. There are 19 bio variables and 36 and 37 at the end refer to the tile numbers. My goal is to mosaic the two tiles for each variable, clip to the size of a polygon layer called “Katanga” and convert the final output to asci format. I’ve been using the code below however this will only generate the correct output if the two tiles for the same bio variable are specified in the code or these two files are the only input in the workspace folder.
How can I do the above procedure in a recursive manner for each bio variable, i.e. setting up a loop?
This way I don’t have to create separate folders for each bio variable or specify them in the code.
I am new to Python.
Below is the code I’ve been using (note: "test" folder only contains one bio variable with the two tiles):
import arcpy from arcpy import env from arcpy.sa import* import time start_time = time.clock() env.workspace = "G:/Eck_health_disease/spatial data/WorldClimate data/test" arcpy.env.overwriteOutput = True ImgList = arcpy.ListRasters() print "Processing Mosaic" print "Number of tiles to be Mosaicked:" + str(len(ImgList)) arcpy.MosaicToNewRaster_management(ImgList, env.workspace, "bio1_mos.tif", pixel_type="32_BIT_FLOAT", cellsize="", number_of_bands="1", mosaic_method="", mosaic_colormap_mode="MATCH") Katanga_poly = "G:/Eck_health_disease/spatial data/COD_adm_shp/DRC_Katanga.shp" arcpy.Clip_management("bio1_mos.tif","21.7447528839 -13.4556760785 30.7780862172 -4.99734274513", "bio1_mos_Kat.tif", Katanga_poly, "#", "ClippingGeometry", "MAINTAIN_EXTENT") arcpy.RasterToASCII_conversion("bio1_mos_Kat.tif", "bio1_mos_Kat.asc") print "Task Completed!" print time.clock() - start_time, "seconds"