示例#1
0
def arcResampleRasters (FileList=["file1.tif","file2.tif"],
						inPath=None,
						outPath=None,
						scale="templateRaster.tif"):
    import arcpy
	import os
	if inPath==None: inPath==os.getcwd()
	if inPath==None: inPath==os.getcwd()
	inFileList = for f in FileList: inPath + "scaled"+str(scale)+f)
	inFileString = if len(inFileList>1): ';'.join(map(str, inFileList)) else str(inFileList)
	outFileList =  for f in FileList: outPath + "scaled"+str(scale)+f)
	outFileString = ';'.join(map(str, outFileList)
	
	#Rescale Function Call 
	arcpy.Rescale_management(inFileString, outFileString, resolution,"CUBIC")
	print("completed rescale, output file location:", outPath)
	return()
示例#2
0
 def shift_and_rescale(image, mask_arr):
     basename = os.path.splitext(os.path.basename(image))[0]
     image = arcpy.sa.Raster(image)
     mask = arcpy.NumPyArrayToRaster(mask_arr.astype(np.uint8) * 255)
     arcpy.env.outputCoordinateSystem = image
     os.makedirs(resources.temp_shifted, exist_ok=True)
     shifted = os.path.join(resources.temp_shifted,
                            "{}.tif".format(basename))
     arcpy.Shift_management(mask,
                            shifted,
                            image.extent.XMin - mask.extent.XMin,
                            image.extent.YMin - mask.extent.YMin,
                            in_snap_raster=image)
     # match LIDAR resolution
     os.makedirs(resources.temp_rescaled, exist_ok=True)
     rescaled = os.path.join(resources.temp_rescaled,
                             "{}.tif".format(basename))
     arcpy.Rescale_management(shifted, rescaled, image.meanCellWidth,
                              image.meanCellHeight)
     return rescaled
示例#3
0
columnsAco = columnsAcoResult.getOutput(0)
print rowsAco
print type(columnsAco)

#Chooses appropriate raster to apply landsat cell size to, scales raster up while considering possible row/column number mismatch
#between acolite and original
cellSizeXFlt = float(cellSizeX)
cellSizeYFlt = float(cellSizeY)
rowsOriginalFlt = float(rowsOriginal)
columnsOriginalFlt = float(columnsOriginal)
rowsAcoFlt = float(rowsAco)
columnsAcoFlt = float(columnsAco)

if removeborderYN == 'true':
    arcpy.Rescale_management(
        "intermedClipped", "intermedScale",
        cellSizeXFlt / (columnsAcoFlt / columnsOriginalFlt),
        cellSizeYFlt / (rowsAcoFlt / rowsOriginalFlt))
else:
    if flipYN == 'true':
        arcpy.Rescale_management(
            "intermedMir", "intermedScale",
            cellSizeXFlt / (columnsAcoFlt / columnsOriginalFlt),
            cellSizeYFlt / (rowsAcoFlt / rowsOriginalFlt))
    else:
        if rotateYN == 'true':
            arcpy.Rescale_management(
                "intermedRot", "intermedScale",
                cellSizeXFlt / (columnsAcoFlt / columnsOriginalFlt),
                cellSizeYFlt / (rowsAcoFlt / rowsOriginalFlt))
        else:
            arcpy.Rescale_management(
#flips acolite image if appropriate
if flipYN == 'true':
    if rotateYN == 'true':
        arcpy.Mirror_management("intermedRot", "intermedMir")
    else:
        arcpy.Mirror_management(acoRaster, "intermedMir")
#rescales acolite image

cellSizeXResult = arcpy.GetRasterProperties_management(pathLandsat, "CELLSIZEX")
cellSizeYResult = arcpy.GetRasterProperties_management(pathLandsat, "CELLSIZEY")
cellSizeX = cellSizeXResult.getOutput(0)
cellSizeY = cellSizeYResult.getOutput(0)

#Chooses appropriate raster to apply landsat cell size to
if flipYN == 'true':
    arcpy.Rescale_management("intermedMir", "intermedScale", cellSizeX, cellSizeY)
else:
    if rotateYN == 'true':
        arcpy.Rescale_management("intermedRot", "intermedScale", cellSizeX, cellSizeY)
    else:
        arcpy.Rescale_management(acoRaster, "intermedScale", cellSizeX, cellSizeY)

    

#Reclassify and clip corrected acolite image to get rid of nodata border

myRemapRange =  RemapRange([[-1,1,1]])

# Execute Reclassify
outReclassify = arcpy.sa.Reclassify("intermedScale", "VALUE",myRemapRange,'NODATA')
示例#5
0
##====================================
## arcpy_RescaleRaster
##Rescale
##Usage: Usage: Rescale_management in_raster out_raster x_scale y_scale

import arcpy

arcpy.env.workspace = r"C:/Workspace"

##Rescale a TIFF image by a factor of 4 in both directions
arcpy.Rescale_management("image.tif", "rescale.tif", "4", "4")