GIS-LAB

Географические информационные системы и дистанционное зондирование

Быстродействие GDAL, ArcGIS и ERDAS в растровых операциях

Результаты небольшого эксперимента "кто быстрее"

Обсудить в форуме Комментариев — 1

Цель данной статьи проиллюстрировать разницу во времени необходимую разному ПО для выполнения одних и тех же операций с растровыми данными. В данном эксперименте мы сравниваем два коммерческих продукта ArcGIS и ERDAS IMAGINE, а также свободное программное обеспечение с открытым кодом GDAL. Мы не ставим задачу выяснить зависимость быстродействия с конфигурацией аппаратного обеспечения, аппаратное обеспечение используемое в тестах одно и то же. Подробнее с данным вопросом можно ознакомиться здесь.

Тестирование производилось на следующем аппаратном обеспечении:

  • Intel Pentium D 3.2 гГц
  • 3 гб DDR
  • HDD WDC WD800GD
  • Windows XP Pro, SP2

Версии ПО:

  • ArcGIS 9.2 build 1380
  • ERDAS IMAGINE 9.0
  • GDAL 1.5

Тесты

Проводились следующие тесты:

1Перепроектирование растрового набора данных

Исходная система координат: UTM/Zone 38, WGS84, конечная: географическая система координат WGS84. Исходный растр в формате IMG, размер растра: 23633х13932, конечный растр в формате TIF, без компрессии. Перепроектирование производится с билинейной интерполяцией значений.

В тесте производилось два подтеста, отличающихся разрешением результирующего файла, в первом подтесте создавался файл разрешением пиксела 0.0005х0.0005, во втором подтесте файл разрешением 0.000259х0.000259.

ArcGIS: Arctoolbox\Projections and Transformations\Raster\Project Raster

ERDAS IMAGINE: DataPrep\Reproject images (подробнее)

GDAL: соответственно меняется размер пиксела (а-0.0005, б-0.000259)

gdalwarp.exe -r bilinear -tr 0.000259 0.000259 -s_srs "+proj=utm +ellps=wgs84 +zone=38 +units=m" -t_srs "+proj=longlat +ellps=wgs84" test.img result.tif

2Объединение поканальных данных в единый файл (подробнее)

Исходные данные: каналы сцены Landsat/ETM+, 6 каналов с разрешением 30 м, 1 канал с разрешением 15 м.

В тесте производилось два подтеста, создание композитного изображения только из шести 30-метровых каналов (стэк-а) и создание композитного изображения из шести 30-метровых и одного 15-метрового канала, с приведением остальных каналов к 15-метровому (стэк-б)

ArcGIS: Arctoolbox\Raster\Composite bands

GDAL: для случая с включением 15-метрового канала, без него - исключается файл p162r029_7p20000602_z40_nn80.tif.

gdal_merge.py -o stack-gdal.tif p162r029_7p20000602_z40_nn80.tif p162r029_7t20000602_z40_nn10.tif p162r029_7t20000602_z40_nn20.tif p162r029_7t20000602_z40_nn30.tif p162r029_7t20000602_z40_nn40.tif p162r029_7t20000602_z40_nn50.tif p162r029_7t20000602_z40_nn70.tif -separate

Результаты и выводы

  ArcGIS ERDAS GDAL
I. перепроектировка-а 17 мин 59 сек 06 мин 30 сек 08 мин 48 сек
I. перепроектировка-б 54 мин 33 сек 30 мин 50 сек 32 мин 15 сек
II. стэк-a 01 мин 03 сек 01 мин 01 сек 00 мин 16 сек
II. стэк-б 06 мин 49 сек 09 мин 30 сек 02 мин 45 сек

Операция перепроектирования GDAL выполняется примерно в два раза быстрее, чем в ArcGIS, ERDAS справляется с подобной задачей за практически одинаковое время с GDAL, даже несколько его опережая.

Для современного аппаратного обеспечения время получения типичного композитного изображения из данных Landsat относительно мало и составляет около 1 минуты, однако GDAL справляется с этой задачей примерно в 5 раз быстрее, за 16 секунд. Для большей достоверности мы произвели также тест с теми же данными, но добавили к ним 15-метровый канал, что значительно увеличило размер выходного файла и время выполнения. Соотношение полученное в предыдущем эксперименте несколько изменилось, но преимущество GDAL сохранилось.

Выводы данной заметки являются предварительными и представляют некоторый материал к размышлению, мы будем рады если вы предложите новый тест (другую операцию или другое программное обеспечение для выполнения тестов представленных здесь).

Обсудить в форуме Комментариев — 1

Последнее обновление: March 14 2011

Дата создания: 04.02.2008
Автор(ы): Максим Дубинин


(Геокруг)

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter