Fiz um teste para determinar como a velocidade e a qualidade diferem entre os dois métodos, eis os resultados:
Dados de entrada
- Imagem NAIP DOQQ de 4 bandas no formato .img (349.34MB)
- Uma classe de recurso usada como máscara / cortador
atuação
Três ensaios foram realizados e comparados. O método Clipe (Gerenciamento de dados) é significativamente mais rápido que o método Extrair por máscara (analista espacial).
Qualidade
Ambas as extensões eram idênticas aos valores NoData. No entanto, uma avaliação visual mostrou que o método de extração por máscara alterou ligeiramente o arranjo de pixels - provavelmente o resultado de algum tipo de reamostragem. A disposição dos pixels na operação do clipe era idêntica à imagem de entrada original.
# Import system modules
import arcpy, time, os
from arcpy import env
from arcpy.sa import *
env.overwriteOutput = 1
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set local variables
inRaster = r'C:\temp\naip2011.img'
inMaskData = r'C:\temp\fgdb.gdb\clipper'
outws = r'C:\temp'
out1 = os.path.join(outws, 'extractbymask.img')
out2 = os.path.join(outws, 'clip.img')
#############TRIAL 1: EXTRACT BY MASK#########################################
start = time.clock()
# ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)
# Save the output
outExtractByMask.save(out1)
end = time.clock()
total = end - start
print "The extract by mask method took: %s seconds" % round(total, 3)
###############TRIAL 2: CLIP#################################################
start = time.clock()
# Clip
arcpy.Clip_management(inRaster, "#", out2, inMaskData, "", "ClippingGeometry")
end = time.clock()
total = end - start
print "The clip method took: %s seconds" % round(total, 3)