Технологический срез.
Открытое программное обеспечение географических информационных систем: цели и задачи
Вероятно, самый крупный проект, если измерять размерами финансовых вложений. Цель разработки — создание системы, способной заменить ESRI ArcView GIS 3. x в органах муниципальной власти. Инициатор создания — министерство транспорта Валенсии (Испания), начавшее разработку в связи с принятием решения о переводе всех органов региональной власти на компьютеры под управлением ОС Linux. Разработка gvSIG… Читать ещё >
Технологический срез. Открытое программное обеспечение географических информационных систем: цели и задачи (реферат, курсовая, диплом, контрольная)
Архитектура открытого программного обеспечения в целом и ПО ГИС в частности обычно представляет собой многоуровневую структуру и формирует программный стек — набор взаимосвязанных компонент представляющих различные уровни. Уровни в стеке представлены различными, потенциально взаимозаменяемыми продуктами. Для ПО ГИС в качестве базового (операционного) слоя могут выступать как открытые (например, ОС Linux), так и проприетарные операционные системы, такие как Microsoft Windows и Mac OS и соответствующие библиотеки времени исполнения. Разделение открытого ПО ГИС на множество уровней характерно для открытых систем и объясняется моделью разработки, интенсивно использующей другие готовые, чаще всего также открытые компоненты. Реализация многих уровней в одном комбинированном продукте более характерна для проприетарных решений, не имеющих возможности заимствования чужого кода (см. далее Преимущества).
Существующее ПО ГИС можно условно поделить на 3 класса: это веб ГИС, настольные ГИС и пространственные базы данных. В таблице 2 представлены типовые стеки открытого ПО для веб и настольных ГИС. Уровни системного ПО в обоих случаях содержат много общих инструментов. Такое тесное переплетение в перспективе дает возможность реализации различных ГИС функций как для веб, так и для настольных платформ. Можно предположить, что будущие настольные приложения будут использовать веб-сервисы, которые, в свою очередь, будут включать в себя функции, традиционно реализующийся в настольных ГИС (например функции анализа).
Таблица 2. Инструментальные слои открытых настольных платформ.
Тип ПО. | Представители. | Группа. |
Приложения. | QGIS, GRASS, OSSIM, uDig, MapWindow GIS. | Пользовательский интерфейс. |
Среда разработки. | Eclipse, QT, OpenGL, SharpDevelop. | |
Высокоуровневые утилиты. | GeoTools, PostGIS, MapWindow GIS ActiveX. | Хранение данных. |
Высокоуровневые скриптовые языки программирования. | Python, Perl, R. | Обработка данных. |
Низкоуровневые утилиты. | Shapelib, JTS/GEOS, GDAL/OGR, GMT. | |
Низкоуровневые языки программирования. | C, C++, Java, Fortran, C#, VB.NET. | Системное ПО. |
Операционная система. | Linux, Microsoft Windows. |
Таблица 3. Инструментальные слои открытых веб платформ.
Тип ПО. | Представители. | Группа. |
Браузер | Firefox, Safari. | Пользовательский интерфейс. |
Клиентский скриптинг. | JavaScript, Java, Perl, Python. | |
Серверный скриптинг. | PHP, Perl, Python. | Хранение данных. |
Высокоуровневые утилиты. | UMN MapServer, GeoServer. | |
Высокоуровневые скриптовые языки программирования. | PHP, Perl, Python. | Обработка данных. |
Низкоуровневые утилиты. | Shapelib, JTS/GEOS, GDAL/OGR, GMT, PostGIS. | |
Низкоуровневые языки программирования. | C, C++, Java, Fortran. | Системное ПО. |
Операционная система. | Linux, Microsoft Windows. |
В то время как базы данных и картографические веб-сервера заняли достаточно устойчивую нишу в производстве, настольные ГИС находятся на стадии активного поиска своей ниши. В этой статье особое внимание будет уделено именно настольным ГИС. Настольная (пользовательская) ГИС — это картографическое ПО, устанавливаемое и запускаемое на персональном компьютере и позволяющее пользователям отображать, выбирать, обновлять и анализировать данные о географических объектах и связанную с ними атрибутивную информацию. Рассмотрим краткие характеристики основных открытых пользовательских ГИС. Дополнительная информация также представлена в Таблице 3.
Geographic Resources Analysis Support System (GRASS).
Последняя версия GRASS 6.4 является модульной системой, предоставляющей доступ к более чем 300 модулей для работы с двухмерными и трехмерными растровыми и векторными данными и по функциональным возможностям сравнима с продуктом ESRI ArcGIS уровня ArcInfo. По причине отсутствия удобного пользовательского графического интерфейса распространенность GRASS ограничена и она используется преимущественно исследовательскими институтами и университетами. До недавнего времени второй причиной, сдерживающей рост числа пользователей, была невозможность запуска GRASS на платформах MS-Windows без использования эмуляторов Linux или Unix платформ (например, Cygwin). Однако с выходом версии 6.3.0 эта проблема была решена.
Quantum GIS (QGIS).
Разработка QGIS началась в 2002 году группой энтузиастов. Целью разработки было создание простого в использовании и быстрого просмотрщика географических данных для операционных систем семейства Linux. Однако, с ростом проекта появилась идея использовать QGIS как простой графический интерфейс для GRASS, получая таким образом в свое распоряжение его аналитические и другие функции. На сегодняшний момент группа разработчиков QGIS решила первоначальные задачи и работает над расширением функциональных возможностей, давно вышедших за рамки простого просмотрщика. За счет использования кросс-платформенного тулкита QT, QGIS доступна для большинства современных платформ (Windows, Mac OS X, Linux) и совмещает в себе поддержку векторных и растровых данных, а также способна работать с данными, предоставляемые различными картографическими веб-серверами и многими распространенными пространственными базами данных. Функциональность QGIS может быть развита посредством создания модулей расширения на C++, или Python. QGIS имеет одно из наиболее развитых сообществ в среде открытых ГИС, при этом количество разработчиков постоянно увеличивается, чему способствует наличие хорошей документации по процессу разработки и удобная архитектура. Интерфейс пользователя Quantum GIS представлен на Рисунке 1.
Рисунок 1. Пользовательский интерфейс Quantum GIS.
User-friendly Desktop Internet GIS (uDig).
Основной целью создания uDig была разработка ПО, позволяющего просматривать и редактировать данные, хранящиеся в БД напрямую или через веб. Разработка uDig началась между 2004 и 2005 по инициативе канадской компании Refractions Research Inc. uDig написана на Java (с использованием платформы Eclipse) и изначально была сфокусирована на работе с векторными данными. Однако, в 2007 году команда разработчиков uDig присоединилась к команде разработчиков Jgrass, которая занялась работой по реализации в uDig возможности работы с растровыми данными. Очень часто uDig используется в качестве интерфейса доступа к базе данных PostGIS. Существует 2 основных недостатка, связанных с использованием Eclipse. Первый — это размер приложения и второй — это то, что графический интерфейс очень схож со средой разработки для программирования, поэтому может быть очень сложным для конечных пользователей.
Generalitat Valenciana, Sistema d’Informaciу Geogrаfica (gvSIG).
Вероятно, самый крупный проект, если измерять размерами финансовых вложений. Цель разработки — создание системы, способной заменить ESRI ArcView GIS 3. x в органах муниципальной власти. Инициатор создания — министерство транспорта Валенсии (Испания), начавшее разработку в связи с принятием решения о переводе всех органов региональной власти на компьютеры под управлением ОС Linux. Разработка gvSIG началась в конце 2003 года, основной разработчик — компания IVERA S.A. (Испания). В работу над проектом также включены несколько университетов и другие компании. gvSIG поддерживает работу с растровыми и векторными данными, а также способен работать с геоданными, хранящимися в различных БД. Функции по работе с растровыми данными построены на основе алгоритмов проекта SAGA. Язык программирования — Java. Цель создания ПО с функциональными возможностями, сравнимыми с ESRI ArcView (3.X), была полностью выполнена, причем местами gvSIG превзошел ArcView. Отметим, что для данной ГИС существует русскоязычная пользовательская документация. Однако, существует ряд минусов: нет документации для разработчиков и массивная зависимость от более чем 100 C++ и Java библиотек.
System for Automated Geoscientific Analyses (SAGA).
Как следует из названия, данная ГИС имеет научные корни. Первый модуль для SAGA был разработан в 2001 году в Департаменте Географии Геттингемского Университет (Германия) и был предназначен для работы с растровыми данными. Основным предназначением SAGA является анализ рельефа, почвенное картирование и решение задач по визуализации данных. SAGA написана на C++ и предоставляет сторонним разработчикам удобный API. Основной разработчик, а чуть позже и сам проект недавно переместились в Гамбургский Университет. Пользовательская документация очень хорошая, что способствует постоянному росту международного пользовательского сообщества. Так, количество скачиваний руководства пользователя за период 2005;2008 возросло с 700 до 1300 в месяц.
Integrated Land and Water Information System (ILWIS).
Разработка ILWIS начиналась в компании ITC, г. Энсхеде (Голландия) в 80-х годах. Сочетает в себе функциональность векторной и растровой ГИС предназначенной для решения широкого диапазона задач, от анализа изображений до моделирования эрозионных процессов. Версия 3.0 продукта очень хорошо документирована (релиз 2001 года). Однако новая версия отсылает к документации на версию 3.0. В 2007 году исходный код, написанный на языке (MS Visual) C был выпущен под открытой лицензией GPL. В настоящее время основным координатором проекта является немецкая компания 52° North GmbH и в противоположность gvSIG — репозиторий с исходными кодами свободно доступен. ILWIS работает только в ОС семейства MS-Windows.
MapWindow GIS.
Данная ГИС была создана в 1998 году членами Водной Исследовательской Лаборатории в Университете штата Юта (США). Основной целью была разработка «ядра ГИС», которое бы предоставляло необходимую функциональность ГИС-разработчикам. MapWindow GIS ActiveX control написан на MS Visual C и реализовывал функции отображения, поиска и управления пространственными данными. Позже был разработан графический интерфейс, названный MapWindow GIS Desktop и реализована возможность расширения функциональности путем использования системы расширений. Проект возглавляет команда разработчиков Университета штата Айдахо. С недавнего времени разработка базируется на основе Microsoft .Net Framework, в связи с чем MapWindow доступна только для ОС семейства MS-Windows.
Таблица 4. Сравнение основных открытых пользовательских ГИС и некоторых проприетарных аналогов.