Clip (Gestione dei dati) o Estrai per maschera (Analista spaziale) sono più efficienti?


12

Sto cercando di tagliare un Orthophoto a un confine della contea. Sto usando lo strumento Estrai per maschera, ma questo processo dura circa 12 ore! Ha già attraversato 2 cicli, quindi presumo che si tratti di ogni banda. Qualcuno può correggermi se sbaglio su questo.

Il Clip in Data Management funzionerebbe meglio (più velocemente)? Come sarebbe l'accuratezza?

Ho sempre cercato di utilizzare Estrai per maschera, ma questo richiede troppo tempo.


Ho sempre tagliato invece di Estrai per maschera per tagliare un raster al contorno di un poligono, ed è abbastanza veloce (minuti, non ore). Puoi chiarire cosa intendi per "accuratezza" del risultato?
Erica,

Ho usato lo strumento Clip nella gestione dei dati una volta, ma era un raster di precipitazione che doveva essere utilizzato su un'area molto più ampia con cui stavo lavorando. Era per un incarico scolastico e dissero che non sarebbe andata bene.
user26133

Per quanto ne so, Clip non modifica i contenuti del valore raster (né Estrai per maschera), quindi potrebbero semplicemente riferirsi a valori di analisi inaccurati a causa della minore area spaziale analizzata, piuttosto che alla clip processo che influenza i dati. Non sarebbe un problema per un ortofoto a meno che non lo si usi per l'analisi piuttosto che per lo sfondo.
Erica,

2
La clip esegue solo un'area rettangolare (busta), tuttavia l'estrazione con maschera verrà estratta in un poligono irregolare / multipart / donut. Se si desidera che solo i dati utilizzino la clip, è molto più veloce, ma se è necessario tagliare una forma irregolare, utilizzare Estrai tramite maschera.
Michael Stimson,

4
In realtà, anche la clip può avere forme irregolari. Se si selezionano i poligoni nel file shp a cui si desidera ritagliare il raster e quindi selezionare la casella "Usa funzioni di input per la geometria di ritaglio" si ottiene la forma poligonale, non l'estensione rettangolare dell'intero file shp.
ecologo1234

Risposte:


19

Ho eseguito un test per determinare in che modo la velocità e la qualità differiscono tra i due metodi, ecco i risultati:

Dati in ingresso

  1. Immagine DOIPQ NAIP a 4 bande in formato .img (349.34MB)
  2. Una classe di caratteristiche utilizzata come maschera / tagliatore

inserisci qui la descrizione dell'immagine

Prestazione

Sono state eseguite e confrontate tre prove. Il metodo Clip (Gestione dati) è significativamente più veloce del metodo Estrai per maschera (Analista spaziale).

inserisci qui la descrizione dell'immagine

Qualità

Entrambe le estensioni erano identiche come i valori NoData. Tuttavia, una valutazione visiva ha mostrato che l'estratto con il metodo maschera ha leggermente modificato la disposizione dei pixel, probabilmente il risultato di un certo tipo di ricampionamento. La disposizione dei pixel nell'operazione di clip era identica all'immagine di input originale.


# 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)

1
Bella risposta! Non pretendo di essere uno statistico esperto ma stavo armeggiando in minitab, quindi ho messo i tuoi tempi attraverso un test t a 2 campioni e so che la dimensione del campione è un po 'piccola ma era una differenza significativa. ;)
Hornbydd,

3
Se il metodo di estrazione con maschera ha modificato l'originale in qualsiasi modo, come riportato, probabilmente non è stato eseguito con una maschera appropriata: cioè quella che era esattamente allineata con il raster originale. Ciò avrebbe costretto il ricampionamento dell'originale, il che spiegherebbe l'onere computazionale aggiuntivo, ma suggerisce anche che i confronti dei tempi non sono una valutazione equa della situazione. In effetti, molto probabilmente la procedura di ritaglio inizia creando una maschera e quindi applicandola, quindi ci si aspetterebbe che il ritaglio sia un po ' meno efficiente di un'estrazione con la sola maschera.
whuber

1
Spero che non manterrai il tuo contributo permanentemente cancellato, Aaron: contiene informazioni utili. Idealmente, se fosse possibile aggiornarlo per includere i tempi per una maschera accuratamente registrata, sarebbe una risposta esemplare. (Chissà, quel risultato potrebbe confutare anche le mie speculazioni!)
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.