Является ли Clip (управление данными) или Extract By Mask (Spatial Analyst) более эффективным?


12

Я пытаюсь закрепить ортофото до границы округа. Я использовал инструмент Extract By Mask Tool, но этот процесс длился около 12 часов! Уже прошло 2 цикла, поэтому я предполагаю, что это каждая группа. Может кто-нибудь поправить меня, если я ошибаюсь?

Будет ли клип в управлении данными работать лучше (быстрее)? Как бы точность была?

Я всегда пытался использовать Extract By Mask, но это занимает слишком много времени.


Я всегда обрезаю, а не извлекаю маску, чтобы обрезать растр по контуру многоугольника, и это довольно быстро (минуты, а не часы). Можете ли вы уточнить, что вы подразумеваете под «точностью» результата?
Эрика

Я использовал инструмент Clip в управлении данными один раз, но это был растр осадков, который предназначался для использования в гораздо большей области, с которой я работал. Это было для школьного задания, и они отметили, что это не получится хорошо.
user26133

Насколько мне известно, Clip не изменяет содержимое растровых значений (равно как и Extract By Mask), поэтому они могли просто ссылаться на неточности значений анализа из-за меньшей анализируемой пространственной области, а не для клипа. процесс, влияющий на данные. Это не будет проблемой для ортофото, если вы не используете его для анализа, а не фона.
Эрика

2
Клип делает только прямоугольную область (конверт), но извлечение по маске будет извлекать в неправильный / составной / кольцевой многоугольник. Если вы хотите, чтобы только данные в экстенте использовали клип, это намного быстрее, но если вам нужно обрезать до неправильной формы, используйте извлечение по маске.
Майкл Стимсон

4
На самом деле клип может делать неправильные формы тоже. Если вы выберите полигоны в файле shp, к которым хотите обрезать растр, а затем установите флажок «Использовать входные объекты для обрезки геометрии», вы получите форму многоугольника, а не прямоугольный экстент всего файла shp.
ecolog1234

Ответы:


19

Я провел тест, чтобы определить, как скорость и качество отличаются между двумя методами, вот результаты:

Входные данные

  1. 4-полосное изображение NAIP DOQQ в формате .img (349,34 МБ)
  2. Класс объектов, используемый в качестве маски / ограничителя

введите описание изображения здесь

Производительность

Три испытания были выполнены и оценены. Метод Clip (Управление данными) значительно быстрее, чем метод Extract by Mask (Spatial Analyst).

введите описание изображения здесь

Качество

Оба экстента были идентичны, как и значения NoData. Тем не менее, визуальная оценка показала, что метод извлечения по маске немного изменил расположение пикселей, что, вероятно, является результатом некоторого типа повторной выборки. Расположение пикселей в операции клипа было идентично исходному входному изображению.


# 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
Отличный ответ! Я не претендую на звание эксперта по статистике, но я возился с миниатюрами, поэтому я проверил ваш тайминг с помощью t-критерия с двумя выборками, и я знаю, что размер выборки немного мал, но это была существенная разница. ;)
Хорнбидд

3
Если метод извлечения по маске каким-либо образом изменил оригинал, как вы сообщаете, то, вероятно, он не был выполнен с соответствующей маской: то есть той, которая была точно выровнена с исходным растром. Это привело бы к повторной выборке оригинала, что привело бы к дополнительным вычислительным нагрузкам, но также предполагает, что сравнение времени не является справедливой оценкой ситуации. Действительно, процедура отсечения, скорее всего, начинается с создания маски и последующего ее применения, поэтому можно ожидать, что отсечение будет немного менее эффективным, чем извлечение только по маске.
whuber

1
Я надеюсь, что вы не будете постоянно удалять свой вклад, Аарон: он содержит полезную информацию. В идеале, если бы вы могли обновить его, чтобы включить синхронизацию для точно зарегистрированной маски, это был бы примерный ответ. (Кто знает, этот результат может также опровергнуть мои предположения!)
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.