Шел по городу MapGuide

Для внимательных читателей нашего журнала, которым небезразлично слово «ГИС», эта статья будет третьей по счету (без всяких аналогий с тремя источниками и тремя составными частями...). По-прежнему оставляя на будущее весьма актуальный вопрос выбора инструментальной ГИС (честное ГИСоведское, в следующем номере покров тайны с этого вопроса будет снят), поговорим о совершенно необходимом компоненте любой ГИС -- системе просмотра информации в среде Internet/Intranet. Мы-то абсолютно уверены, что Autodesk MapGuide R.5.0 -- то, что нам всем нужно. И очень надеемся, что после прочтения этой статьи наши мнения будут совпадать.

Итак, что же такое Autodesk MapGuide R.5.0 и для чего он вам нужен.

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

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

Теперь по порядку.

Первая функция обеспечивается компонентой, которая называется Autodesk MapGuide Server. Устанавливается просто, если вы знакомы с тем, как устроены Windows NT Server или Windows 2000 Server -- потому что именно на этих платформах она и живет.

ГИС в интернет... Autodesk MapGuide создан для этого!

ГИС в интернет... Autodesk MapGuide создан для этого!

Вторая компонента -- это Autodesk MapGuide Author, после применения которого, как поет Земфира, «веревочки связаны». То есть установлены все связи и иерархии, а пользователь, «кликая» по понятным кнопкам абсолютно логичного интерфейса, и не поймет вовсе, что собственно карта находится на сервере мэрии: слой, обозначающий туристические агентства, «живет» на сервере местных «Желтых страниц», а некие специальные механизмы поиска и заказа «горящих» путевок реализованы на сервере местного Internet-провайдера. Результатом деятельности Autodesk MapGuide Author является MWF (Map Window File), в котором все связи и обозначены. Но только связи! Попытка «достать» что-либо из упомянутых ресурсов без соответствующей авторизации и регистрации будет сурово пресечена Autodesk MapGuide Server'ом.

И наконец вьюеры-просмотрщики. Это надстройки для любых Internet-браузеров: и для широко распространенного Internet Explorer, и для Netscape Communicator -- уже снятого с производства, но тем не менее второго по популярности. То есть весь ГИС «смотрится» прямо из браузера, из специально подготовленного HTML-файла. Кстати, нелишне будет напомнить, что в состав Autodesk MapGuide R.5.0 включается ColdFusion Studio 4.5 от компании Allair, известной среди веб-дизайнеров популярным продуктом HomeSite. Но ColdFusion Studio 4.5 -- это намного более развитый продукт, с ним проектирование специализированных HTML-страниц пойдет куда быстрее.

Чтобы пользователь не мучил себя пустыми расчетами, как наиболее экономично и эффективно построить систему на основе Autodesk MapGuide R.5.0, помимо разрозненных компонентов предлагаются так называемые «сюиты», приобретение которых выгоднее покупки «по кускам» -- такова ценовая политика компании Autodesk.

Думаете, это всё? Нет, рассказ об использовании Autodesk MapGuide R.5.0 только в самом начале. Потому что никто не хочет покупать «мертвую», закрытую систему. А открытость определяется наличием и развитостью интерфейса программиста -- API. Это, определенно, сильное место Autodesk MapGuide R.5.0. Чтобы не быть голословным, несколько весьма конкретных примеров.

1. «Задача коммивояжера», алгоритмическая классика.

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

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

А если добавить, что все это делается специальной программной надстройкой (plug-in) для Autodesk MapGuide Viewer, но с обязательной авторизацией в Autodesk MapGuide Server, то функции дополнительной программы для Autodesk MapGuide R.5.0, которую мы назвали Path Guide, будут полностью описаны.

Оптимальный маршрут из точки А в точку Б? Через интернет? Почему бы и нет...

Оптимальный маршрут из точки А в точку Б? Через интернет? Почему бы и нет...

Этот программный модуль может быть поставлен нами как отдельное решение -- в силу общности задачи он нужен практически всем. Необходимая ремарка: модуль вряд ли смог бы родиться без тесного взаимодействия с Центром новых информационных технологий Калининградского государственного университета (http://www.cnit.albertina.ru/; E-mail: support@cnit.albertina.ru), который и оказывает по нему техническую поддержку нашим клиентам.

2. «Задача Сусанина», или Чертик в табакерке.

В предыдущем случае мы добавляли новую функциональность к стандартному набору функций Autodesk MapGuide R.5.0. А если задача обратна, если у вас уже есть некое программное приложение, которое хочется обогатить геоинформационными возможностями? Да и стандартный web-интерфейс кажется каким-то уж слишком простым и банальным. Если всё так, нужно учиться встраивать Autodesk MapGuide R.5.0 в свои приложения. В нашем случае использовался собственный интерфейс, позволяющий выбрать из справочника нужную улицу и найти ее, нажав на кнопку «Показать». При этом Autodesk MapGuide Viewer, встроенный в нашу задачу как компонент, автоматически позиционируется на выбранной улице и подсвечивает ее. За время, необходимое для «зумирования», в левой части экрана отфильтровываются из общей базы данных все строения, относящиеся к выбранной улице. Укажите на интересующий вас дом, нажмите правую кнопку, выберите пункт «Показать на карте» -- и картина вам предельно ясна. На этот информационный остов нанизываются любые дополнительные ресурсы; в нашем случае по запросу мэрии была добавлена связь с базой данных жильцов. По той же правой кнопке можно включить дополнительную закладку и ответить на с детства знакомый вопрос: «Кто в теремочке живет?».

Просто? Да. Эффективно? Еще бы. Осталось только приобрести необходимый опыт в программировании для Autodesk MapGuide. Или пригласить тех, кто этот опыт уже имеет...

Так выглядит реализованное нами решение  «Задачи Сусанина»

3. «Закрома Родины», или Как снабдить нашу ГИС достоверными данными.

Представьте себе, что все хорошо. И деньги на ГИС выделены, и оцифровка жизненно важных слоев идет не абы как, а под вашим мудрым руководством. И тут выявляется то, о чем вы догадывались, но в чем боялись себе признаться. Информация на картографических планшетах из городского архива -- не самая полная и достоверная! И после оцифровки, даже самой правильной и изящной, надо погружаться в технические архивы держателей коммуникаций («Водоканал», «Теплосеть» и т. д.), чтобы недостающую информацию добыть. А если этого не сделать, ценность ГИС становится такой иллюзорной, что вам и не ответить потом, для чего были потрачены деньги на ГИС, о которой вы так долго и с выражением рассказывали. Создать летучую бригаду и барражировать над техническими архивами города -- долгая и маловероятная перспектива. Вот привлечь к этому делу производственно-технические отделы соответствующих организаций -- на первый взгляд, самая правильная мысль. Ведь, в конечном счете, они заинтересованы в такой инвентаризации с ГИСовским уклоном. Но как включить в этот процесс людей, пока весьма далеких от информатизации вообще, не знающих особенностей геоинформационных систем да, может, и слова такого еще не слышавших?

На помощь приходит специально разработанная нами серия программных продуктов, жестко специализированных под конкретные службы. Понятный интерфейс, максимальное использование справочников, при котором информация не «набивается» вручную, а выбирается из возможных значений. И... связь с соответствующим графическим слоем (водяные и канализационные трубы, газовые коммуникации и т.д.). Вся графическая информация показывается в режиме только «для чтения», испортить ничего нельзя. При этом объекты подлежащего заполнению слоя автоматически меняют цвет по мере заполнения соответствующих им табличных данных. И беглого взгляда достаточно, чтобы понять, что вот эта паутина ЧЕРНЫХ труб уже обработана, а вот те несколько КРАСНЫХ труб явно были пропущены и к ним стоит вернуться. Все это уже реализовано, и вряд ли я удивлю вас, если скажу, что и здесь в качестве встроенного компонента используется Autodesk MapGuide Viewer.

 

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