7 - 2003

Что нам стоит ГИС построить

Сергей Матвеев, Ольга Аршава

Первые шаги

Как хранить данные

Как создать решение, доступное для каждого потребителя

Как построить инструментальную систему

Затраты на создание системы

Геоинформатика никогда не относилась к числу динамично развивающихся направлений компьютерной индустрии. Более того, до недавнего времени большинство геоинформационных систем, занимающих ключевые сегменты этого рынка, могли с полным основанием считаться консервативными. Однако сегодня ситуация меняется — появившиеся за последние год-два новые тенденции в идеологии построения ГИС воплотились в реальные продукты, на базе которых можно строить более дешевые и более эффективные решения. Большинство идеологических аспектов построения ГИС, связанных с новыми механизмами интеграции данных (не зависимо от того, являются ли они пространственными или семантическими), с построением открытых систем обмена данными, с созданием масштабируемых пользовательских рабочих мест, уже обсуждалось в ранее публиковавшихся статьях. Поэтому в настоящей статье мы намерены уделить больше внимания практическим вопросам построения корпоративных геоинформационных систем на базе одного из уникальных продуктов компании Autodesk — Autodesk MapGuide. Речь пойдет о создании систем, число пользователей которых составляет от 6-8 человек до нескольких десятков, то есть о корпоративных системах, работающих в масштабах от среднего предприятия до целого города или даже области и края. В то же время некоторые подходы, обсуждаемые в данной публикации, могут найти применение и при создании отдельных рабочих мест в малых предприятиях или в организациях, где требуется минимальный ГИС-анализ.

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

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

Первые шаги

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

• функции поиска и просмотра информации;

• функции анализа данных (аналитические инструменты, инструменты создания тематических карт и построения отчетов);

• инженерные функции (связанные с добавлением и модификацией информации).

Данный список функций несколько шире, чем то, что обычно предполагается реализовать на MapGuide. Как правило, большинство компаний, предприятий, муниципалитетов, строящих свои решения на базе MapGuide, используют его только как основу для поисковой и справочной системы, иногда снабжая простыми аналитическими функциями. Инженерные решения предлагается строить на базе «инструментальных» ГИС. В ряде случаев это оправданно. Однако многие задачи удается решить без использования инструментальных систем, таких как Autodesk Map, MapInfo, ArcView, Geomedia и пр. Конечно, существуют случаи, когда без инструментальной системы обойтись невозможно, но об этом мы поговорим в следующих публикациях.

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

Последнее, что может потребоваться на начальной стадии, — спроектировать или попросту нарисовать удобный интерфейс пользователя для рабочих мест вашей ГИС.

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

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

Как хранить данные

Фундамент дома — это основа, на которую опираются стены и крыша, основа, которая редко претерпевает изменения при реконструкции. Надежность — основное требование к фундаменту. Неплохо также, если конструкция фундамента будет при этом достаточно простой. Что является фундаментом построения ГИС? Безусловно, модель хранения данных. Правильно выбранная модель позволит в дальнейшем построить функциональные и модифицируемые решения. Функции, которые будет выполнять ваша ГИС, не останутся неизменными. Со временем появятся новые формы отчетов, более удобные аналитические инструменты, но работа с данными, скорее всего, значительно не изменится. Можно ли уже на первом этапе построить фундамент так, чтобы по мере развития системы нам не пришлось бы заниматься преобразованием и реструктурированием огромных массивов накопленной информации? С помощью идеологии, заложенной в MapGuide, это возможно.

Несмотря на достаточно длительную историю развития ГИС, одной из основных проблем остается проблема разнообразия способов хранения пространственных данных. В результате, выбирая то или иное ГИС-решение, мы оказываемся своего рода заложниками: использование других систем и программных средств становится в этом случае затруднительным. Приходится осуществлять преобразование данных, использовать системы, в которых предусмотрены драйверы для доступа к различным форматам хранения карт, но и здесь мы неизбежно сталкиваемся с проблемами нестыковки всевозможных mif’ов, dgn’ов, dxf’ов. Кроме того, ряд индустриальных ГИС уходит от файловых хранилищ к СУБД, что является вполне естественным. Лидерство здесь, несомненно, принадлежит пространственному картриджу Oracle. Существуют и другие хранилища, построенные на базе различных СУБД и реализующие различные модели хранения данных.

По мере плавного перетекания картографии из файлов в СУБД появлялись и характерные для СУБД решения по преодолению проблем, вызванных «войной форматов». Действительно, рядом с СУБД существовали сначала ODBC-драйверы, затем OLE-DB-провайдеры данных и, наконец, механизмы ADO. При этом драйверы создаются непосредственно производителями хранилищ, а потребители получают четко обозначенный набор интерфейсов для извлечения и записи информации в хранилища.

Не так давно в области ГИС также появились спецификации на интерфейсы провайдеров данных для доступа к пространственной информации. Эти спецификации носят название OpenGIS (http://www.opengis.org). В разработке стандартов и спецификаций сегодня принимает участие более 230 организаций.

К сожалению, OpenGIS в настоящее время достаточно редко используются производителями ГИС-решений. Одним из немногих продуктов, построенных на базе этого стандарта, является Autodesk MapGuide.

MapGuide, созданный для публикации пространственных данных в Интернет/интранет-сетях, для доступа к информации использует именно механизм провайдеров данных.

Несмотря на то что создание провайдеров является достаточно сложной задачей, компания TENAX SOFT разработала несколько провайдеров данных для Autodesk MapGuide. Один из них служит для доступа к данным, хранящимся в Oracle Spatial Cartridge, и позволяет работать как с реляционной, так и с объектной моделью (рис. 1).

Другой интересный пример использования провайдеров связан с сочетанием различных, несовместимых друг с другом программных продуктов в рамках одного ГИС-решения. Предположим, что в одной из организаций в качестве средства для создания и редактирования карт используется ГИС Intergraph Geomedia. По мере роста архивов цифровых данных потребовалось предоставить доступ к этой информации в режиме просмотра и анализа широкому кругу сотрудников. Типичное решение, которое предлагает в подобном случае компания Intergraph, связано с использованием Intergraph WebMap. Однако для пользователя такое решение является слишком дорогостоящим. В то же время удобный и в несколько раз более дешевый MapGuide не совместим с уже созданными другой системой хранилищами данных. Это означает, что для использования MapGuide придется постоянно осуществлять конвертацию и ни о каком режиме реального времени говорить не приходится.

В данном случае задачу удалось решить, разработав универсальный провайдер данных, который обеспечил прямой доступ MapGuide к Access Warehouse, «родным» хранилищам GeoMedia. Таким образом, доступное по цене решение оказалось вдобавок качественным: те сотрудники, кто работал с хранилищами Intergraph, могут продолжать работать с ними, а те, кто присоединился к этому процессу, с удовольствием и без каких-либо дополнительных затрат просматривают данные с помощью MapGuide практически в реальном времени.

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

Подобная схема организации подразумевает, что:

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

• легкий переход от одного хранилища данных к другому по мере роста объемов вашей системы. На первом этапе для хранения информации можно использовать небольшие базы данных, например Microsoft Access или самых маленьких представителей семейства Oracle. По мере роста объемов данных и количества пользователей есть возможность буквально на лету перейти на новые хранилища информации, такие как Oracle Enterprise, Microsoft SQL Server и т.п. Этот переход можно осуществлять поэтапно, сохраняя части информации в разных хранилищах;

• в одном проекте можно интегрировать данные из разных источников без их преобразования. Все, что получено вами из других организаций в форматах ArcView, MapInfo, Intergraph GeoMedia, AutoCAD, Microstation и т.п., будет незамедлительно интегрировано в ваш проект соответствующим провайдером данных.

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

После того как фундамент нашей ГИС будет построен, можно переходить к строительству стен и к формированию «внутренней планировки» нашей ГИС. Здесь важно найти удобное решение для каждого из пользователей, то есть подружиться с пользователями.

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

Как создать решение, доступное для каждого потребителя

Получение бюджетного и эффективного средства просмотра картографических данных — всего лишь первый шаг на пути к созданию сетевых ГИС’овских решений. Обычно пользователей, работающих с картами через MapGuide Viewer, быстро перестает устраивать роль наблюдателей. Народная мудрость об аппетите, который приходит во время еды, справедлива и в случае программных технологий. Каждому из сотрудников обычно приходится решать свои уникальные задачи, связанные с ведением баз данных в привязке к картам, расчетам на местности, анализом рельефов, подсчетом объемов, запасов и… (список можно продолжать до бесконечности).

Решение этой проблемы лежит на поверхности. Еще несколько десятилетий назад в эпоху крупногабаритных компьютеров каждый сотрудник организации получал свою специализированную систему, которая называлась «автоматизированным рабочим местом» (АРМ). Почему бы не использовать этот многолетний опыт? Ведь в этом случае именно MapGuide вместе с провайдерами данных стал бы основой для создания единой корпоративной системы, имеющей множество специализированных АРМ’ов, большинство из которых необходимо делать «на вырост».

Идея реализации масштабируемых рабочих мест несложна: поскольку MapGuide Viewer является не более чем компонентом, который необходимо «завернуть» в оболочку АРМ’а, снабдив всеми необходимыми функциями, то значит, и функции эти надо изготавливать в виде отдельных компонентов. Приведем примеры трех подобных решений.

Первое решение, несмотря на свою простоту, достаточно универсально: в задачах экономического и экологического анализа, в задачах ландшафтного проектирования и нефтеразведки встречается проблема построения изолиний по данным каких-либо измерений и исследований. Для решения этой проблемы достаточно «пристыковать» к MapGuide Viewer специальный модуль TENAX WEBLandTool (рис. 2).

Теперь любые поверхности, изолинии и даже трехмерные изображения можно строить на рабочих местах пользователей в Интернет- и интранет-сетях.

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

Другое, не менее показательное решение — модуль TENAX PathGuide — позволяет отыскать самый оптимальный путь в сети городских улиц (рис. 4).

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

Какие функции нужны пользователям, как лучше организовать интерфейс для доступа к этим функциям и какая форма отчета предпочтительней — все эти вопросы теперь могут решать сами пользователи. Но самое главное, что при этом удается действительно сэкономить не только на создании системы, но и на ее вводе в эксплуатацию — обучение практически не требует времени! Критерием правильности решения является простота инструкции по его применению. В идеальном случае описание АРМ’а занимает не более одной страницы формата А4.

Безусловно, MapGuide предназначен для просмотра и картографического анализа информации. Для того чтобы модифицировать картографию, необходимо использовать инженерные системы, стоимость которых достаточно высока. Традиционно считается, что MapGuide в этом случае мало эффективен. Однако здесь вполне уместно процитировать одну известную рекламу: «Забудьте о правилах!» С помощью MapGuide можно решать задачи, связанные с обновлением пространственной информации, — в противном случае наше сооружение будет напоминать дом без дверей.

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

Как построить инструментальную систему

Действительно, было бы очень жаль, если бы построенный нами дом имел исключительно окна (туда, конечно, можно заглянуть, но зайти нельзя), а двери бы отсутствовали. В реальных проектах очень часто бывает необходимо добавить к карте, демонстрируемой при помощи MapGuide Viewer, нужный объект (провести границу земельного участка, наметить площадь для земляных работ и т.п.). Это вполне осуществимо с помощью комплекта модулей Master+ для MapGuide. Так же как и функции анализа данных, обсуждавшиеся выше, функции редактирования реализованы как отдельные модули, которые добавляют и модифицируют данные, находящиеся в хранилищах, и позволяют создавать/удалять/модифицировать графические примитивы. Схема работы в этом случае достаточно проста (единственное ее ограничение — она не работает в сети Интернет, как большинство других модулей, зато прекрасно решает свои задачи в интранет-сетях предприятий) (рис. 6).

Итак, мы достаточно подробно обсудили технологию построения корпоративной ГИС на базе Autodesk MapGuide. Такая «рецептура» строительства ГИС достаточно проста и эффективна, остается вернуться к заголовку статьи, добавив к нему знак вопроса: что нам стоит ГИС построить?

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

Затраты на создание системы

Конечно, оценить затраты на создание системы, не держа в руках соответствующего проекта, практически невозможно, но мы позволим себе сделать несколько приблизительных оценок, основываясь на ценовой политике Autodesk (рис. 7).

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

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

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

«САПР и графика» 7'2003