УДК 528.7Оверлейные операции в open source ГИС
Другаков П.В., доцент, Белорусская Государственная сельскохозяйственная академия, Беларусь |
Рассмотрены особенности выполнения оверлейных операций в open source ГИС. Проведено их сравнение с ГИС ArcView на примере выполнения операции объединения двух тем.
Программное обеспечение с открытым программным кодом в последнее время развивается бурными темпами и по многим позициям не уступает пропоритарному ПО. Не исключением является и программное обеспечение ГИС. В сентябре 2013 года была представлена новая версия QGIS 2.0. В ней существенно переработан интерфейс системы, улучшена поддержка пространственных данных, добавлены новые стили оформления тематических данных, появилась возможность формирования макетов атласов, многостраничных карт и многое другое. Помимо оформительских функций изменения коснулись подсистемы анализа данных. Модуль Sextant теперь стал называться Processing Commander. Он интегрирует в себе как встроенные функции анализа, так и подключаемые из других ГИС.
При выполнении землеустроительных и кадастровых работ особый интерес представляют оверлейные функции. Они широко используются при агроэкологическом зонировании территории, кадастровой оценке земель населенных пунктов, формировании слоя ограничений ЗИС и др. Эти функции выполняют формирование нового слоя при наложении друг на друга двух слоев. Примерами этих функций являются: вырезать объекты одной темы с использованием объектов другой, объединить две однотипные темы в одну, разрезать объекты одной темы объектами другой и т.д. Некоторые оверлейные операции можно выполнить только над полигональными объектами, в других могут также участвовать линейные и точечные темы.
В нашем исследовании была поставлена задача - установить перечень оверлейных операций поддерживаемых ГИС QGIS 2.0 и насколько оптимизированы алгоритмы их выполнения. В анализе участвовали также ГИС: SAGA, GRASS, ArcView 3.1 и ArcGIS 10.0.
В выполнении исследований использовался набор данных "Республика Беларусь", подготовленный УП "ИЦЗем". Набор включает 15 тематических слоев в формате shp в географической системе координат.
В ГИС QGIS оверлейные операции можно выполнить несколькими способами. Первый самый простой это в меню Вектор выбрать раздел Геообработка. В этом разделе можно выбрать команды: Пересечение, Объединение, Симметричная разность, Отсечение, Разность Объединение.
При выполнении команды Пересечение в выходном слое содержатся только участки, в которых оба слоя пересекаются. Команда Объединение совмещает слои таким образом, что в выходном слое содержатся как участки пересечения, так и участки, принадлежащие только одному из слоев. Команда Симметричная разность оставляет в выходном слое только те участки, в которых исходные слои не пересекаются. Команда Отсечение совмещает слои таким образом, что в выходном слое содержатся только те участки, которые пересекаются со слоем отсечения. Команда Разность совмещает слои таким образом, что в выходном слое содержатся только те участки, которые не пересекаются со слоем отсечения.
Также оверлейные операции можно вызвать из Processing Commanderа, система команд которого имеет древовидную структуру. В сборке NEXTGIS реализовано 5 оверлейных операций QGIS: вырезать, разность, пересечь, пересечь линейной темой и объединить. Выполнение этих операций занимает от нескольких секунд до десятков минут.
Из Processing Commanderа также можно вызвать некоторые оверлейные операции ГИС SAGA: разбить полигоны, пересечь полигоны линиями, слить полигоны. Для работы с этими функциями необходимо чтобы эта программа была установлена на ЭВМ и соответствующим образом настроена. Скорость выполнения операций SAGA запущенных в ГИС QGIS практически не отличается от скорости выполнения этих же операций запущенных из SAGA. На выполнение операций требовалось несколько секунд.
При установке QGIS одновременно с ней уставливается ГИС Grass, Многие функции этой ГИС также можно вызвать из Processing Commanderа. Для выполнения оверлейных операций необходимо использовать команду v.overlay. Выполнение оверлейных операций Grass выполняется также быстро как аналогичных операций SAGA.
Выполнение почти всех оверлейных операций в QGIS не вызывала особых сложностей, исключение составила команда Объединить. По этой причине ей было уделено особое внимание: было определено время выполнения операции и проведен анализ объединения слоев. Для проведения исследований был подготовлены две полигональные темы np_mog.shp (населенные пункты Могилевской области) и raj_mog.shp (районы Могилевской области). В первой теме было 1378 объектов, во второй 21. Исследования выполнялись на ПЭВМ с четырехядерным процессором. Результаты исследований приведены в таблице.
Таблица 1 - Результат выполнения пространственной операции Объединить |
Наименование показателя | ГИС |
ArcView | ArcGIS | QGIS | SAGA | GRASS |
Время выполнения операции, секунд | 14 | 3 | 5 минут 12 секунд | 6 | 7 |
Количество объектов в новой теме, шт | 1470 | 1470 | 3000 | 1504 | 1497 | |
Время выполнения операции объединения значительно отличается у используемых ГИС. Наилучшую производительность показала QGIS. ГИС ArcGIS. Несколько хуже обстоят дела у SAGA и GRASS. И очень плохо себя показал QGIS. Столь серьезную разницу во времени объяснить можно оптимизацией алгоритмов обработки в ArcGIS, в том числе для многопроцессорных систем.
Из таблицы также видно, что выполнение одной и той же операции в разных ГИС привело к значительно отличающимся результатам и по количеству сформированных объектов. Наименьшее количество сформированных объектов наблюдается при работе с ArcGIS и ArcView. Эти системы часто формируют объекты, состоящие из двух и более частей. ГИС SAGA и GRASS мультипарт-объекты не формируют, по этой причине наблюдается несколько большее количество сформированных объектов в новом слое. Причина по которой было сформировано почти 1,5 тыс. лишних объектов в ГИС QGIS остается неизвестной.
При работе с ГИС Grass была замечена неправильная обработка полей содержащих тест. При объединении эта ГИС ограничивала длину текста десятью символами, обрезая окончание слов. Длина символьного поля оставалась неизменной.
Подводя итог исследованиям можно отметить, что алгоритмы отдельных пространственных операций в ГИС QGIS, не оптимизированы. По этой причине следует использовать оверлейные операции из других ГИС SAGA или Grass, которые добавляют аналитические функции к отработанным графическим функциям QGIS.
27.12.13 08:34 | Владимир (гость)
"Наилучшую производительность показала QGIS. ГИС ArcGIS" - похоже на опечатку?
|
|
Все комментарии (1)
|
|