Чи ефективніший Clip (управління даними) або Extract By Mask (Spatial Analyst)?


12

Я намагаюся обрізати ортофото до межі графства. Я використовую інструмент Extract By Mask Tool, але цей процес триває близько 12 годин! Пройшло вже два цикли, тож я припускаю, що це кожна група. Чи може хтось мене виправити, якщо я помиляюся на цьому.

Чи краще працюватиме кліп в управлінні даними (швидше)? Якою була б точність?

Я завжди намагався використовувати Extract By Mask, але це займає занадто багато часу.


Я завжди кліп, а не Extract By Mask, щоб підрізати растр до контуру багатокутника, і це досить швидко (хвилин, а не годин). Чи можете ви уточнити, що ви маєте на увазі під "точністю" результату?
Еріка

Я використовував інструмент Clip в управлінні даними один раз, але це був растр опадів, який мав бути використаний на значно більшій площі, з якою я працював. Це було для шкільного завдання, і вони сказали, що це не вийде добре.
користувач26133

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

2
Затискач має лише прямокутну область (конверт), проте витяжка за допомогою маски буде витягнута до неправильного / багаточастинного / пончикового багатокутника. Якщо ви хочете використовувати лише дані в обсязі, використовуйте кліп, це набагато швидше, але якщо вам потрібно обрізати неправильну форму, тоді використовуйте екстракт за допомогою маски.
Майкл Стимсон

4
Насправді кліп теж може робити неправильні форми. Якщо ви вибрали багатокутники у файлі shp, на який потрібно відрізати растр, а потім встановіть прапорець "Використовувати вхідні функції для відсікання геометрії", ви отримаєте форму багатокутника, а не прямокутну протяжність всього файлу shp.
ecologist1234

Відповіді:


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

3
Якщо витяг методом маски будь-яким чином змінив оригінал, як ви повідомляєте, то він, ймовірно, не виконувався відповідною маскою: тобто такою, яка була точно вирівняна з оригінальним растром. Це змусило б переробляти оригінал, що спричинило б додатковий обчислювальний тягар - але також дозволяє припустити, що ваші порівняння в часі не є справедливою оцінкою ситуації. Дійсно, процедура відсікання, швидше за все, починається зі створення маски, а потім її нанесення, тому можна було б очікувати, що відсікання буде трохи менш ефективним, ніж вилучення самою маскою.
whuber

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