Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

3 - 2002

Подарок для Роскартографии

Андрей Макурин, Сергей Еремин, Александр Угаров, Олег Коверзнев

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

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

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

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

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

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

Прогнозирование, планирование и управление сегодня уже немыслимы без использования разновременной и разнотипной информации, представляющей в том или ином виде пространственные данные: карты, геоизображения высокого разрешения и т.п. К примеру, агентства, занятые прогнозированием чрезвычайных ситуаций и оценкой их последствий, сталкиваются с дефицитом информации об особенностях местности, о распределении опасностей и элементов риска. Место возможной катастрофы никто не предскажет с абсолютной точностью, а потому агентства вынуждены накапливать гигантские массивы картографических данных. Для прогнозирования землетрясений нужны карты всего мира в масштабе 1:1 000 000; получение информации о населенных пунктах и магистральных системах жизнеобеспечения населения требует работы с картами масштаба 1:200 000. Для всех крупных населенных пунктов необходимы карты масштаба 1:10 000 и фотоснимки с разрешением на местности 1-4 м, а для важнейших объектов хозяйственной деятельности — топографические планы 1:2000 и фотоснимки с разрешением 0,3 м.

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

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

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

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

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

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

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

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

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

Web Server — приложение, установленное на host-узле. Обеспечивает отработку запросов к Web-страницам и MWF-файлам. 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, который принимает запросы на объектные и атрибутивные данные компонентов 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). Этот способ размещения данных, дополненный внутренней системой паролей и ключей доступа к данным, разграничением прав пользователей, сводит к минимуму риск несанкционированного доступа и копирования.

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

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

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

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

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

В начало В начало

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

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

Web-сервер взаимодействует с несколькими ГИС-серверами, имеющими идентичные установки и данные, поэтому эти серверы могут работать как автозагрузчики в том случае, если один из них занят или отключен (рис. 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 представлена наиболее простая схема: она позволяет лишь выполнять поиск информации в удаленных базах данных и ее просмотр, но не обновлять информацию. Это решение подойдет для одного предприятия, которое одновременно является владельцем и поставщиком информации. Однако можно создавать и более сложные отчеты, позволяющие модифицировать и добавлять данные, а также произвольным образом манипулировать ими.

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

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

  • поиск информации и генерация отчетов — Web-клиенты;
  • редактирование метаданных — Web-операторы.

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

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

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

«САПР и графика» 3'2002

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557