Прогнозирование, планирование и управление сегодня уже немыслимы без использования разновременной и разнотипной информации, в том или ином виде представляющей пространственные данные (карты, геоизображения высокого разрешения и т.п.). К примеру, агентства, занятые прогнозированием чрезвычайных ситуаций и оценкой их последствий, сталкиваются с дефицитом информации об особенностях местности, распределении опасностей и элементов риска. Место возможной катастрофы никто не предскажет с абсолютной точностью, а потому агентства вынуждены накапливать гигантские массивы картографических данных. Для прогнозирования землетрясений нужны карты всего мира в масштабе 1:1000000, получение информации о населенных пунктах и магистральных системах жизнеобеспечения населения требует работы с картами масштаба 1:200000. На все крупные населенные пункты необходимы карты масштаба 1:10000 и фотоснимки с разрешением на местности 1−4 метра, а на важнейшие объекты хозяйственной деятельности — топографические планы 1:2000 и фотоснимки с разрешением 0,3 метра.

Собирать и поддерживать в актуальном состоянии неуклонно пополняющиеся базы данных становится все труднее. Усложняются технические средства, растут требования к уровню подготовки руководителей и обслуживающего персонала. С другой стороны, отказаться от информационных технологий уже нельзя: глобализация отношений и нарастающая техногенная нагрузка на окружающую среду все чаще вынуждают принимать обоснованные решения по критически важным вопросам. Таким образом, в перспективе — информационный тупик, связанный с запредельным ростом издержек на создание и поддержку информационных систем.

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

Поиску оптимального способа решения этой задачи и посвящен наш сегодняшний разговор. Речь пойдет о создании ГИС-проекта, в котором смогут принять участие такие поставщики картографической информации, как Роскартография, Госцентр «Природа», ЗАО «Совинформспутник», Российское космическое агентство. Некоторые из них уже разместили в Internet свои специализированные сайты 1.

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

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

  • данные зарамочного оформления карт, параметры сканирования (растровые карты), а также классификатор и обменные форматы (векторные карты);
  • данные о параметрах аэрокосмических фотосъемок и схемы покрытия территории фотоснимками;
  • геокодированные изображения растровых карт и фотоснимков с достаточно низким разрешением, которое, с одной стороны, обеспечивает возможность быстрого просмотра карты или снимка в Internet, а с другой — позволяет использовать их без режимных ограничений.

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

Информационной основой ГИС-проекта могут служить:

  1. Векторная карта мира, составленная по географическим названиям (страна, город, река, гора, пролив и т.п.), и соответствующие атрибутивные данные, необходимые для поиска территории на карте.
  2. Векторные слои разграфки номенклатур карт соответствующих масштабов и проекций плюс их атрибутивные данные.
  3. Геокодированные изображения низкого разрешения компактных растровых форматов (MrSID и ECW) карт и данных дистанционного зондирования.
  4. Приложения ГИС-сервера, обеспечивающие выполнение функций операторов и пользователей (web-операторы и web-клиенты) с удаленных мест.
  5. Система администрирования ГИС-проекта.

В принципе как ГИС-ядро проекта, основанного на использовании MapGuide, могут выступать любые ГИС и СУБД. Но учитывая, что в перспективе возникнет желание масштабировать проект, мы рекомендуем использовать Autodesk Map как наиболее развитое средство сбора, обработки, анализа и актуализации пространственных данных и Oracle — как СУБД, обеспечивающее эффективное решение всех вопросов масштабирования проекта при значительном росте объема данных. Перечислим свойства основных компонентов MapGuide и их роль в организации обмена данными.

Web server — приложение, установленное на host-узле. Обеспечивает отработку запросов к web-страницам и MWF-файлам. Autodesk MapGuide поддерживает два типа web-серверов: Microsoft Internet Information Server (IIS) и Netscape Enterprise Server 3.5.1.

MapGuide Server обрабатывает картографические данные в соответствии с запросами MapGuide Author и MapGuide Viewer (компонентов, обеспечивающих функции редактирования и просмотра реализуемых проектов). Предоставляет полный контроль над используемыми источниками данных, программными расширениями, безопасностью, пользовательскими группами и т.п.

Несколько подробнее следует остановиться на процессе взаимодействия web-сервера и MapGuide Server с компонентами создания карт (MapGuide Author) и их графического просмотра (MapGuide Viewer). Связь этих объектов осуществляется посредством программного интерфейса MapGuide Server Agent (Map Agent). Map Agent принимает запросы на объектные и атрибутивные данные компонентов MapGuide, выстраивает их по мере получения и отправляет на MapGuide Server. Роль промежуточного звена в этой «связке» выполняет web-сервер.

Вы можете проинсталлировать три вида «агентов» MapGuide Server:

  • CGI (Common Gateway Interface) инсталлируется (записывается в виртуальную директорию) на любом из упомянутых серверов. Он наиболее прост в использовании и настройке, но запускается при каждом клиентском вызове снова и запросы обрабатывает последовательно, что сказывается на скорости работы. С возрастанием сложности проектов и увеличением нагрузки этот недостаток проявляется все заметнее.
  • ISAPI (Internet Server Application Programming Interface) инсталлируется только на Microsoft IIS. Прост в установке. В отличие от CGI-агента (MapAgent.exe), реализован как динамическая библиотека (MapAgent.dll), постоянно находящаяся в активном состоянии. Как следствие, превосходит CGI по скорости обработки запросов.
  • NSAPI (Netscape Server Application Programming Interface) инсталлируется только на Netscape Enterprise Server. В остальном идентичен ISAPI.

Map Agent использует так называемые RPCs-вызовы (вызовы удаленной процедуры): это позволяет максимально оптимизировать выполнение клиентских запросов и реализовать схему, не требующую присутствия агента на том же компьютере, что и MapGuide Server. Такая схема позволяет существенно повысить информационную безопасность проекта в сети. Преимущество ее в том, что располагать ГИС-данные, MapGuide-сервер и web-сервер на одном и том же компьютере здесь не обязательно. На «смотрящем в мир» компьютере можно разместить только web-сервер с Map Agent, HTML-страницы и MWFs-файлы, а данные ГИС-проекта (атрибутивные, растровые и все остальные) разместить на компьютерах локальной сети, защищенной firewall (рис. 1). Этот способ размещения данных, дополненный внутренней системой паролей и ключей доступа к данным, разграничением прав пользователей сводит к минимуму риск несанкционированного доступа и копирования.

Рис. 1. Схема размещения серверов Рис. 1. Схема размещения серверов

На работу с MapGuide, безусловно, влияет состояние коммуникационных линий: время отработки запросов и визуализации карт напрямую зависит от пропускной способности каналов связи. В России скорость передачи данных в корпоративных сетях колеблется от 512 Kбит/сек. до 10 Мбит/сек. (крупные компании и операторы связи). Этого вполне достаточно для взаимодействия практически любых серверных приложений, включая и MapGuide со всеми необходимыми дополнительными утилитами. Скорость же Internet-соединений находится в пределах 64 Кбит/сек. — 2 Мбит/сек. Таких каналов для работы «клиент-сервер» MapGuide тоже более чем достаточно.

Значит, главной становится задача обеспечения приемлемого для всех пользователей быстродействия ГИС-проекта. Решать ее лучше в два этапа: на первом вы оптимизируете схему организации и размещения данных, а на втором сам проект.

Оптимизация схемы организации и размещения данных

Схема распределенных данных

Эта модель интересна возможностью размещения данных проекта на нескольких ГИС-серверах (рис. 2). Каждый из web-серверов взаимодействует лишь с одним сервером, на котором установлены MapGuide Server и только ему присущие ГИС-данные. Запросы в этом случае распределяются между серверами, но при поступлении повторных запросов сервер вынужден обрабатывать их поочередно.

Рис. 2. Схема распределенных данных Рис. 2. Схема распределенных данных

Схема «зазеркаленных» данных

В основу этой модели положен следующий принцип: существует несколько MapGuide-серверов, причем на каждом из них установлены одни и те же данные. Запросы к серверам будут автоматически распределяться между ними: если один из серверов уже занят обработкой, новые запросы будут переданы свободному серверу.

Web-сервер взаимодействует с несколькими имеющими идентичные установки и данные ГИС-серверами, поэтому последние могут работать как автозагрузчики в случае, если один из них занят или отключен (рис. 3).

Схема распределенных данных требует меньших затрат на техническую поддержку, но не свободна от существенного недостатка: если один из серверов утрачен, получить данные с этого сервера пользователи уже не смогут. Схема «зазеркаленных» данных надежнее: она обеспечивает возможность передачи данных с других серверов. Но и требует больших затрат, связанных с дублированием данных на серверах.

Рис. 3. Схема «зазеркаленных» данных Рис. 3. Схема «зазеркаленных» данных

Комбинированная схема

Эта схема размещения данных объединила преимущества двух других. Например, web-сервер-2 может быть одним из серверов, которые используются для обработки собственных (соответствующих его данным) запросов, и в то же время распределять запросы по трем серверам, каждый из которых содержит одни и те же данные. Таким образом, отдельные web-серверы используют схему распределенных данных, а один из распределенных web-серверов — зеркальную модель, что и позволяет быстрее обрабатывать адресованные ему запросы.

Оптимизация проекта

Необходимо отметить еще несколько не относящихся к связке «клиент-сервер» особенностей MapGuide, позволяющих оптимизировать время обработки запросов.

MapGuide позволяет задавать два режима отображения слоев: динамический и статический.

В динамическом режиме слои передают визуальную информацию (цвет и стиль линий и т.п.), но не объектные данные. При выполнении запроса к объектам этого слоя карты (посредством MapGuide Author или MapGuide Viewer) Map Agent обращается к MapGuide Server, а тот в свою очередь посылает объектную информацию только о видимом на экране участке карты. Режим продуктивен при использовании информационно загруженных и/или интенсивно изменяющихся во времени карт.

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

MapGuide может создавать пирамидальную схему визуализации слоев в зависимости от величины их зумирования. Например, слой карты, имеющий высокую детализацию объектов, будет появляться на экране только при определенном и достаточно большом увеличении карты. Объекты другого слоя, не требующие высокой степени детализации, могут появляться после начальной загрузки карты.

MapGuide позволяет использовать SQL-фильтры для выводимых на экран слоев, то есть осуществлять фильтрацию объектов слоя и их отображение по какому-либо условию.

Таким образом, MapGuide предлагает эффективные средства для управления работой с картами. Выбрать подходящие методы может сам разработчик.

Организация HTML-отчетов в MapGuide

Зачастую бывает необходимо, используя MapGuide Author или MapGuide Viewer, вывести на экран не только значение какого-либо ключевого поля, но и все данные, сопоставленные выбранному объекту (например, название города, его население, координаты, тип застройки). Для этого в MapGuide предусмотрен механизм создания пользовательских отчетов: динамически генерируемых по запросу HTML-страничек. При разработке программ, создающих такие отчеты, могут использоваться практически любые средства построения динамических HTML-страниц (например, ColdFusion, Microsoft ASP (Active Server Pages), PHP, Perl).

Программа, генерирующая отчет, может выдавать данные по результатам обработки SQL-запросов, содержать HTML-разметку, включать клиентские скрипты (JavaScript и VB Script) для придания отчетам интерактивности и многое другое.

Механизм формирования отчета можно разбить на следующие этапы:

  1. Выбор объектов на карте.
  2. Вызов программы формирования отчета и одновременная передача данных о выбранных объектах в программу генерации отчета. При создании карты в MapGuide можно указать, какие данные будут передаваться. Как правило, достаточно передать уникальные идентификаторы (ключи) выбранных объектов.
  3. Отработка программы генерации отчетов. В соответствии с полученными от MapGuide Server данными осуществляется извлечение дополнительной (связанной через ключи) информации из баз данных и оформление этой информации в HTML-страничку.

Сформированную HTML-страничку с отчетом web-сервер отправляет клиенту.

Рис. 4. Схема формирования отчета Рис. 4. Схема формирования отчета

На рис. 4 представлена наиболее простая схема: она позволяет лишь выполнять поиск информации в удаленных базах данных и ее просмотр, но не обновлять информацию. Это решение для одного предприятия, которое одновременно является владельцем и поставщиком информации. Возможно создавать и более сложные отчеты, позволяющие модифицировать и добавлять данные, а также произвольным образом манипулировать ими.

Рентабельность и продуктивность ГИС-проекта будут тем выше, чем больше предприятий-клиентов примут в нем участие. Следовательно, каждый участник проекта должен иметь возможность полнофункциональной работы через Internet с удаленными базами данных. (Возможная схема взаимодействия участников ГИС-проекта в Internet представлена на рис. 5.) Это обязательное условие. Выполняется оно посредством разработки клиентских приложений, размещаемых на ГИС- и web-сервере.

Основные функции клиентских приложений в данном проекте:

  • поиск информации и генерация отчетов — web-клиенты;
  • редактирование метаданных — web-операторы.
Рис. 5. Схема взаимодействия участников ГИС-проекта в Internet Рис. 5. Схема взаимодействия участников ГИС-проекта в Internet

Входящие в MapGuide компоненты программирования (MapGuide SDF Component Toolkit) и средства программирования web-сервера (Perl, Java, ASP, ColdFusion…) позволяют создавать клиентские приложения, реализующие через web-браузер те или иные функции ГИС (редактирование, актуализация, оцифровка, поиск информации разной степени сложности). Таким образом, пользователь может непосредственно взаимодействовать с объектами карты, используя ТОЛЬКО свой web-браузер.

Совместными усилиями компании Consistent Software и ООО «Центр исследования экстремальных ситуаций» начало проекту уже положено. Идея активно поддержана на шестой дилерской конференции компании Consistent Software (ноябрь 2001 г.).

Всех, кто заинтересован в сотрудничестве, мы приглашаем к участию в развитии проекта и готовы оказать организационно-методическую поддержку при его реализации на предприятии. Таким образом, силами ГИС-общественности готовится подарок уважаемому ведомству — Федеральной службе геодезии и картографии России.

  1. Существующие в Internet проекты (по крайней мере те, что нам известны) имеют два крупных недостатка. Во-первых, они не располагают развитыми функциями поиска и анализа пространственной информации, присущими традиционным ГИС, а во-вторых, не имеют решений для коллективной работы разноплановых поставщиков информации (экологов, историков, экономистов, управленцев, геодезистов, проектировщиков и т.д.). 
  2. См., например, «MapGuide — векторно-растровая ГИС для Internet от компании Autodesk» (CADmaster № 5`2000); «Шел по городу MapGuide» (CADmaster № 4`2001); «Диалектика Autodesk MapGuide» (CADmaster № 5`2001). 
Андрей Макурин,
кандидат технических наук
Consistent Software
Тел.: (495) 069−4488
E-mail: makurin@csoft.ru

Александр Угаров,
кандидат технических наук
Олег Коверзнев,
ООО «Центр исследования экстремальных ситуаций»
Тел.: (495) 916−1022
E-mail: esrc@online.ru