Тенденции развития ПО ГИС на примере продуктов ESRI

Владимир Андрианов, DATA+

Программное обеспечение геоинформационных систем (ПО ГИС) развивается на протяжении уже нескольких десятилетий. А ESRI – одна из первых компаний, занявшихся выпуском коммерческого ПО ГИС. Поскольку и сейчас ESRI занимает лидирующие позиции на этом рынке, интересно было бы проследить развитие продукции этой компании, как пример развития ПО ГИС. Зная историю, мы можем почувствовать сегодняшние тенденции этого развития и экстраполировать развитие отрасли в будущем. Поэтому мы вначале рассмотрим продукцию ESRI в историческом контексте, а затем – наиболее актуальные ее характеристики сегодня. Параллельно мы отследим также связь решений этой компании с развитием идей в области геоинформационных систем и подходы к созданию инфраструктуры пространственных данных.

На протяжении многих лет наиболее известным продуктом компании, ее флагманом являлось ARC/INFO [1]. Когда-то даже можно было сказать «мы говорим ESRI – подразумеваем ARC/INFO, мы говорим ARC/INFO – подразумеваем ESRI». Сейчас ситуация изменилась, продуктов стало очень много, но сама система ARC/INFO – классический пример ПО ГИС, который интересно рассмотреть и сейчас с позиций его архитектуры, тем более, что этот продукт и сейчас входит в поставку ArcGIS.

ARC/INFO реализует так называемую геореляционную модель данных ГИС. В этой модели данных графическая и описательная составляющие пространственной информации разделены и хранятся посредством разных механизмов. Графическая составляющая – она называется ARC – хранится в файлах специального формата, называемого «покрытие», а описательные данные (атрибуты) – в таблицах реляционной СУБД INFO. Связь между этими таблицами и графикой осуществляется с помощью уникального числового идентификатора каждого объекта, подобно реляционной связи между таблицами. Эта модель данных показала свою эффективность и долго доминировала на рынке коммерческих ГИС.

Однако развитие аппаратного обеспечения ГИС и технологий структурированного хранения данных не стояло на месте. К рубежу веков появились коммерческие СУБД, способные достаточно эффективно работать с большими объемами данных и «неудобными» для таблиц данными графического представления географических объектов. Компания ESRI быстро отреагировала выпуском Spatial Database Engine (SDE) – серверного приложения для хранения геоданных в стандартных СУБД. «Под ним» была гибридная модель данных, в которой графика и атрибуты хранятся в единой табличной структуре.

Вопрос «какая модель лучше?» некоторое время муссировался, но потом стало очевидно, что гибридная модель данных дает некоторые принципиальные преимущества. Во-первых, мы получаем единое структурированное хранилище данных, а не кучку файлов и папок в придачу с СУБД. Во-вторых, многопользовательский характер стандартных СУБД позволяет реализовать также и многопользовательский доступ к данным ГИС.

Теперь, когда эта модель данных развилась до модели Базы геоданных (БГД) ArcGIS, эти преимущества стали совершенно очевидны. Вся цифровая карта – включая легенду, описания систем координат, взаимосвязи слоев и много чего еще – помещается в одном файле БД Microsoft Access или же на сервере, всё равно реализующем идею единого хранилища. Серверный вариант БГД поддерживает также возможность многопользовательского доступа и редактирования с помощью ArcSDE.

Если бы мы попытались реализовать многопользовательский режим на геореляционной модели данных, то самой очевидной проблемой стало бы существование множества копий каждого набора данных – по одному на каждое рабочее место. Мало того, что после каждого редактирования нужно копировать измененные данные на каждое рабочее место, но, что гораздо серьезнее, надо согласовывать изменения, производимые каждым пользователем. Когда их два-три, еще можно справиться, но если их десятки?…

Только клиент-серверная архитектура СУБД оказалась способной справиться с этой задачей. И когда был найден способ эффективного хранения геоданных в табличных СУБД, ESRI безоговорочно сменила курс именно на этот способ хранения.

Здесь мы можем разглядеть первый качественный скачок ПО ГИС: из локальной системы, функционирующей на одном рабочего месте, мы получили централизованную многопользовательскую систему, в которой множество пользователей могут одновременно работать в едином информационном пространстве. ГИС превратились из специализированных приложений в новый класс информационных систем.

Надо отметить, что семейство ArcGIS имеет двоякую направленность: с одной стороны, клиентские продукты семейства могут работать автономно как обычные настольные приложения с хранением данных на диске рабочего места, как это и было в старых ARC/INFO и ArcView GIS. В то же время эти же продукты могут работать и как клиенты одной или нескольких баз пространственных данных, которые находятся на серверах под управлением серверных продуктов семейства (ArcSDE и ArcIMS). Для пользователя нет принципиальной разницы, где «лежат» данные, ведь инструменты и функции – одни и те же. Кстати, доступ к серверным данным возможен и в некоторых старых продуктах (наследие переходного периода), и в продуктах дружественной ESRI компании Leica Geosystems. Здесь проявляется очевидная тенденция: использование серверного хранения пространственных данных и обеспечение самого широкого доступа к ним различных приложений. Причем, если поначалу технология SDE поддерживала только простые векторные данные, то теперь на сервере может эффективно храниться любая пространственная информация – векторная, растровая, САПР, с топологией и без, с правилами, системами координат и т.д.

Переход ГИС в класс клиент-серверных информационных систем дал нам не только все преимущества этой технологии, но и, естественно, ее проблемы. Работоспособность всякой централизованной системы существенно зависит от работы сервера. Выход его из строя означает остановку работы всех клиентских приложений, использующих данные сервера. Кроме того, с ростом объема данных всё сложнее обеспечить бесперебойную и производительную работу всей системы. Есть вполне обычное решение – аппаратное дублирование сервера, однако оно, с одной стороны, довольно дорого (удваиваются все объемы работ по серверной части), а с другой – не решает проблему нагрузки, когда пользователей становится очень много.

Продукты ArcGIS могут работать с данными нескольких серверов сразу, причем в одной карте можно объединять данные из разных источников – различных серверов, собственных (локальных) баз геоданных, а также из файлов на локальном диске. Это позволяет строить не только централизованную систему, но и распределенную.

Распределенная архитектура обладает целым рядом достоинств. Во-первых, данные можно разнести по серверам в зависимости от их использования. Так, например, в крупных компаниях, имеющих подразделения (отделы, филиалы и т.д.), обычно имеет смысл каждое подразделение снабжать отдельным сервером и хранить на нем рабочие данные этого подразделение. А поскольку сервера компании могут быть объединены в общую сеть, пользователи клиентских приложений ArcGIS могут работать с данными любых подразделений (если это разрешено администратором системы).

Второе преимущество распределенной архитектуры – ее более высокая надежность. Если сервер одного из подразделений перегружен или вышел из строя, то проблемы имеет только это подразделение и те внешние пользователи, которые к нему подключились. А все остальные могут спокойно продолжать работу. Очевидно, что надежность распределенной системы существенно зависит от грамотного архитектурного проектирования. С одной стороны, данные должны быть как можно «ближе» к основным их пользователям, с другой – наиболее широко используемые данные целесообразно дублировать на нескольких серверах. Частичное дублирование в распределенной системе – не проблема, так как шире всего используются малоизменяемые данные (например, картографическая основа или фотосъемка территории).

Создание распределенных систем – уже реальность нашего дня. Однако мы говорили лишь о распределении данных. Дальнейшее же развитие идеи распределенности – это распределение вычислений. То есть, если мы можем хранить данные на серверах, почему бы их там не обрабатывать? Именно так возникла идея служб (сервисов) геообработки, которая сейчас наиболее активно реализуется в ArcGIS. Первой ласточкой стали модули ArcIMS, реализующие такие операции как геокодирование и построение маршрутов. Очевидно, что результат решения – очень небольшой объем данных (координаты найденных объектов или линия маршрута). Если задачу будет решать клиентское приложений, то оно запросит с сервера большую часть базы пространственных данных, возможно, например, даже всю сеть дорог, для поиска оптимального маршрута. Такие операции в реальной работе требуются достаточно часто, и при большом количестве запросов сеть передачи данных быстро перегружается. При решении задач на сервере клиенту передается только конечный результат, т.е. гораздо меньший объем данных. В таком случае снижается и нагрузка на сеть, и требования к клиентским приложениям.

Идея распределенной обработки сейчас активно развивается не только в геоинформатике. Массовое распространение Интернета сделало экономически оправданным развитие механизма веб-служб (Web services). Веб-службы позволяют реализовать распределенные вычисления в глобальном масштабе, что достигается стандартизацией их содержания и интерфейсов. Крупнейшие разработчики программного обеспечения объединяются в консорциумы по стандартизации. В области Интернет-технологий это W3C, в области геоинформатики – OGC. Задача стандартизации в том, чтобы программные средства разных, в том числе и конкурирующих, производителей могли взаимодействовать друг с другом для решения задач конечного пользователя. Ведь пользователю по большому счету не важно, на чьих программных продуктах построено решение того или иного поставщика услуг, ему важно решение своей задачи. Благодаря стандартизации сегодня появилась принципиально новая возможность создания Интернет-ГИС. Такая система может объединять ресурсы многих поставщиков в одном приложении, для нее даже не важно, где находятся поставщик и потребитель – хоть в соседней комнате, хоть в другой стране. В этом направлении движутся разработки ESRI, как в плане развития ArcIMS, так и с выпуском новых продуктов ArcGIS Server и ArcWeb Services.

Представление карт в Интернете – не новость. Однако нужно различать просто картинку и «настоящую» карту. Ведь можно просто отсканировать бумажную карту, порезать на кусочки (чтобы в браузере удобнее было просматривать), добавить кнопки перехода по этим кусочкам, можно даже добавить указатель названий – и voila! – веб-карта готова! Однако это всё-таки не карта. Настоящая карта это и возможность включать и отключать отдельные слои информации, и произвольное панорамирование и масштабирование, и функции идентификации указанного объекта, и поиск объектов по критерию. Это классические функции ГИС, которые должны, конечно, поддерживаться и в Интернет-ГИС. ArcGIS Server самым решительным образом переносит мощнейшую функциональность настольных приложений ArcGIS (включая ArcInfo) в среду Интернета или интранета. Конечному пользователю ГИС теперь даже не нужно устанавливать какое-либо геоинформационное ПО на свой компьютер, достаточно стандартного веб-браузера, называемого в данном случае «легкий» клиент. В окне браузера создается обычная рабочая среда ArcGIS, при этом все операции с данными производятся на сервере, а пользователю передается только растровая или векторная картинка. ArcGIS Server – идеальное решение для создания корпоративных ГИС, в которых установка, обновление и администрирование программ на рабочих местах – ощутимая статья расходов. Применение этого продукта позволяет обходиться на рабочих местах стандартными средствами операционных систем (которые нужны в любом случае), а все вопросы создания и ведения ГИС сконцентрировать на сервере.

Из вышесказанного нетрудно заметить вторую по важности и глобальности тенденцию развития ПО ГИС – возникновение распределенных систем. Если локальные и корпоративные системы могли обходиться закрытыми форматами данных, протоколами обмена и набором функций, то в распределенных системах важнейший вопрос – стандартизация компонентов для обеспечения взаимодействия. Именно для этого был создан открытый ГИС-консорциум (OGC), активным членом которого является и ESRI.

Стандартизация моделей данных, обменных форматов, наборов функций, интерфейсов позволяет программным компонентам разных производителей взаимодействовать между собой, а потребителю – собирать систему из «кубиков» на свой вкус и соответственно своей задаче. Поначалу может показаться, что производителям ПО это не выгодно, ведь раньше все стремились «привязать» пользователя к своим продуктам, делая системы закрытыми. Но жизнь показала другое: пользователи очень неохотно меняют программные платформы и отдают предпочтение тем продуктам, которые, помимо прочего, могут «дружить» с продуктами других производителей. Кроме того, открытое взаимодействие ПО ГИС открывает новые горизонты в развитии геоинформатики в целом.

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

Интернет интересен не только как средство публикации готовых карт для массового и обезличенного потребителя, но и как среда для распространения данных среди «серьезных» заказчиков. Ведь если я создал некий информационный продукт (скажем, цифровую карту), то с помощью Интернета я могу и сообщить о нем всем потенциальным потребителям, и передать его заказчику, и произвести расчет – инструменты для этого уже созданы. Соответственно, уже как потребитель, я могу воспользоваться on-line каталогами наборов пространственных данных и найти цифровые материалы на интересующую меня территорию.

Огромное внимание и всеобщее восхищение вызвало появление службы Google Maps (http://maps.google.com). Это как раз Интернет-продукт для массового непрофессионального потребителя, очень качественный и удобный. Однако уже несколько лет при поддержке и на основе технологий ESRI существует другая, профессиональная служба – Geography Network (http://www.geographynetwork.com). Это глобальный каталог пространственных данных, которые вы можете использовать в своих геоинформационных проектах. Этот каталог открытый и «живой» – любое лицо может опубликовать в нем сведения о предлагаемых наборах геоданных, а сам каталог постоянно обновляется по мере поступления новых публикаций. Информация о наборах геоданных называется метаданными. Их состав и форма представления стандартизованы, благодаря чему поддерживаются возможности поиска в каталогах и их автоматического обновления. Важно отметить, что средства публикации метаданных встроены в клиентские приложения ArcGIS, а в составе ArcIMS есть приложение для ведения каталога метаданных. То есть, пользователи ArcGIS уже могут участвовать в глобальном обмене наборами геоданных, создавая у себя на столе динамические карты из источников данных (веб-служб) по всему миру, публикуя собственные данные и веб-службы в мировых и национальных каталогах, и даже создавая собственные каталоги геоданных. Последняя возможность, кстати, очень актуальна для крупных компаний с филиальной сетью, где каталогизация информационных ресурсов позволяет преодолевать барьеры между подразделениями и повышать отдачу от использования геоинформационных технологий.

Идея создания каталога пространственных данных и обеспечения возможности обмена ими в национальном масштабе привела в свое время в США к разработке концепции Национальной инфраструктуры пространственных данных (NSDI). Сейчас NSDI практически полностью сформирована.

Важнейшая составляющая инфраструктуры пространственных данных (ИПД) – каталоги метаданных. В них поставщики пространственных данных и служб публикуют информацию о своих продуктах, и в них же любые заинтересованные лица могут найти информацию о нужных им продуктах. Доступ к каталогу обычно осуществляется через ГИС-портал, включающий инструменты поиска по метаданным, предварительного просмотра найденных наборов данных, указатели названий и т.д. Программные продукты ESRI включают все элементы, необходимые для создания ИПД. Новая разработка в этой области – GIS Portal Toolkit, набор компонентов для построения ГИС-портала.

Развитие моделей данных

  • точки, линии, полигоны (шейп-файлы ArcView)
    • мультиточки, полилинии, регионы
  • топология (покрытия ARC/INFO)
    • линейно-узловая, полигональная
  • объектно-ориентированная модель (база геоданных ArcGIS)
    • классы объектов
    • классы отношений
    • правила проверки правильности
    • наборы классов объектов
    • геометрические сети
    • межслойная топология
  • прикладные модели данных
    • электрические сети
    • водопровод, канализация
    • кадастр
    • геодезия
  • корректировка старых моделей по мере понимания новых возможностей

Развитие моделей данных ГИС – также один из аспектов развития ПО ГИС. В этом отношении ESRI является мировым лидером, предложившим технологию базы геоданных. Эта технология позволяет создавать не просто карты на экране компьютера, но весьма точные модели реального мира, описывающие не только положение объектов в пространстве, но и их взаимосвязи и «поведение» (например, реакции на события в окружающем мире). Причем вы можете не только использовать готовые элементы моделей, но и создавать свои, для более точного описания реальности.

Современная структура ПО ESRI

  • Клиентские продукты
    • настольные (ArcGIS Desktop: ArcInfo, ArcEditor, ArcView)
    • мобильные (ArcPad)
  • Серверные продукты
  • Встраиваемые компоненты
    • ArcGIS Engine
  • Готовые отраслевые решения
    • ArcLogistics, ArcCadastre, Network Engineer, Cellular Expert и др.

В этой статье обозначены магистральные тенденции развития ПО ГИС и показано, что ESRI идет в ногу со временем, всесторонне поддерживая в своих продуктах все актуальные веяния.

ESRI: все компоненты распределенных ГИС

  • Единая масштабируемая архитектура
    • ArcObjects a Desktop, Server, Engines
  • Общая модель данных
    • база геоданных
  • Множество взаимодополняющих продуктов
    • модульная структура
  • Основа – промышленные стандарты
    • OGC, ISO, FGDC
  • Постоянное развитие с каждым релизом

Но это не единственный аспект развития ПО ГИС. Среди других важных аспектов – развитие инструментария ГИС, как в плане функциональности, так и в плане удобства использования; создание готовых решений для различных отраслей (коммуникации, логистика, кадастр и пр.); включение в орбиту ГИС всех вычислительных платформ, среди которых серверы, рабочие станции, карманные компьютеры, мобильные телефоны. Можно быть уверенным, что если завтра появится какая-то новая серьезная тенденция в геоинформатике, ESRI не заставит себя ждать с выпуском соответствующего продукта или добавлением новых функций в продукты, которые уже сегодня стали классикой программного обеспечения геоинформационных систем.


[1] Сейчас ESRI пишет название иначе – ArcInfo. Но в историческом контексте в данной статье употребляется старый вариант, чтобы подчеркнуть те концепции, которые этот продукт олицетворял, и не возникало путаницы с ArcInfo семейства ArcGIS. ArcView версий 1-3 называлось «ArcView GIS».