Инструментальный программный комплекс ГИС WinPlan

КОСЯКОВ С.В. (к.т.н., доц.), ИГНАТЬЕВ Е.Б. (к.т.н.), ИСАЕВ С.А. (к.т.н.), ДАНИЛИН И.А. (инженер), НИКОЛЬСКИЙ В.Н. (инженер)

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

     В последнее десятилетие в мире наблюдался бум в области внедрения геоинформационных технологий в различные сферы промышленности и управления. Этот бум сопровождался появлением на рынке большого количества отечественных программных систем и комплексов ГИС, многие из которых не выдержали испытания временем. Одним из программных комплексов, который оказался востребованным на рынке и продолжает успешно развиваться, является разработанный в ИГЭУ инструментальный программный комплекс ГИС WinPlan.
     Разработка инструментальной ГИС WinPlan ведется в ИГЭУ с 1993 года. К настоящему времени выпущено шесть версий базового программного комплекса и реализовано большое количество проектов с его использованием. Работы по созданию и внедрению информационных систем на базе ГИС WinPlan проводились в таких областях как энергетика, создание кадастров, автоматизация деятельности региональных и местных органов управления, эксплуатация дорог, анализ аварийности на дорогах, планирование грузоперевозок, инвентаризация оборудования и анализ режимов работы инженерных сетей, публикация геоданных в Интернет и других. В данной статье описывается архитектура, основные функции и особенности программной реализации комплекса, а также приводятся примеры действующих систем, реализованных на его основе.
     Каждая инструментальная ГИС опирается на некоторый набор принципов, которые будучи положенными в ее основу, в конечном итоге определяют возможности ее развития, удобство и простоту использования, пределы в расширении областей применения. Попытки максимально расширить возможности системы и при этом сохранить ее эффективность, простоту, внутреннюю целостность неизбежно приводят к диалектическим противоречиям, которые не могут быть разрешены без выделения некоторого основополагающего критерия. Для разработчиков ГИС WinPlan таким критерием стал прагматический вопрос эффективности создания, развития и сопровождения семейства специализированных ГИС различного назначения. Другими словами данный критерий определяется как минимизация отношения цена/производительность, где под ценой понимается совокупность затрат разработчиков и всех пользователей в процессе создания и эксплуатации множества специализированных ГИС, а под производительностью - эксплуатационные характеристики, обеспечивающие снижение требований к вычислительным ресурсам, способам организации с информационной средой, квалификации пользователей и т.д.
     В плане выбора объекта моделирования ГИС могут относиться к трем типам:

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

Структура программного комплекса

     Программный комплекс ГИС WinPlan построен по объектно-ориентированной технологии и имеет три уровня реализации. Структура комплекса представлена на рис 1.

Рис 1. Структура программного комплекса

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

Реализация программного ядра

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

Рис 2. Структура графического ядра

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

     Выбор того или иного варианта полностью зависит от разработчика и должен определяться спецификой задачи. Например, для разработки картографических приложений для Web-сервера фирмы Microsoft (Internet Information Server) предпочтительно использовать ActiveX компоненту, а для разработки прикладной программы отображения торговых точек на карте лучше использовать COM объект или библиотеку классов.

Организация работы с данными

     В ГИС WinPlan Microsoft реализована так называемая гибридная схема хранения данных, которая предусматривает хранение графических данных в файлах специального формата, а атрибутивных данных - в таблицах реляционных СУБД. В качестве СУБД используются MS Access, MS SQL Server, Oracle, Interbase, Informix и другие. При этом поддерживается связь между графическими объектами карты и записями в базах данных в отношении многие ко многим. Реализация механизма связи подробно рассмотрена в [1].
     Особенности графических структур данных ГИС WinPlan определяются тем, что они создавались для работы с большими объемами данных в растровых и векторных форматах. В них в частности предусмотрена возможность создания и работы в обычном режиме просмотра с графической моделью, включающей полное растровое и векторное покрытие города в масштабе 1:2000 или 1:500. При этом объем обрабатываемых данных может составлять десятки гигабайт. Для получения приемлемых скоростей работы с такими объемами графических данных в ГИС WinPlan на физическом и логическом уровнях организации данных реализованы специальные механизмы, обеспечивающие различные виды сегментации данных.
     Внутренние механизмы работы с данными, обеспечивающие сегментацию данных на уровне файловой системы, реализованы в соответствующей подсистеме хранения на 3 и 4 уровнях ядра. Все пространственные данные, составляющие модель сохраняются в файлах специального формата. Каждый файл соответствует одному листу карты, и является независимой пространственной моделью, которая может обрабатываться самостоятельно или как часть более крупной модели, состоящей из многих листов.
     На физическом уровне каждый файл представляет собой хранилище записей переменной длины с произвольным доступом к ним, что позволяет в момент сохранения карты выполнять перезапись не всей информации, а только той, которая действительно изменена и нуждается в сохранении.
     Кроме того, появляется возможность при загрузке загружать не всю модель, а только ту часть, которая необходима для текущей работы. Это экономит время и оперативную память.
vОдной из особенностей современных ГИС является необходимость работы с растровыми изображениями большого размера (десятки гигабайт). Стандартные средства обработки и отображения растров такого размера в Windows работают неудовлетворительно. Для решения этой проблемы в составе ГИС WinPlan был реализован новый механизм хранения и отображения растров, ориентированный на работу с растрами любого размера и учитывающий специфику этой задачи в ГИС.
     Суть механизма заключается в том, что на этапе подключения растра в цифровую карту он преобразуется из стандартного формата в специальный формат. При этом исходный растр делится на множество квадратных блоков небольшого размера, которые сохраняются в нескольких масштабах, так что получается несколько вариантов растрового заполнения области, покрываемой исходным растром. В процессе масштабирования карты и изменения окон просмотра программа вывода выбирает фрагменты растра с наиболее соответствующей степенью генерализации изображения, что повышает скорость вывода карты на экран и улучшает качество растрового изображения.
     Для совмещения множества различных моделей (листов карт разного масштаба, размера и формата, баз данных, схем и т. д.) в единую пространственную модель на логическом уровне представления данных в ГИС WinPlan используется специальная структура данных, названная проектом. Проект позволяет увязать множество данных, хранящихся в различных файлах и СУБД, и дает пользователю возможность настраивать режимы отображения карт и данных при их визуализации и анализе. На рис. 3 показана упрощенная структура проекта.

Рис. 3. Структура проекта в ГИС WinPlan

     Уровень - группа отдельных листов карт одинакового масштаба и одинаковой структуры слоев. Они служат для автоматического перехода к более точным или более грубым представлениям местности при изменении масштаба просмотра на экране. Таким образом, разделение данных на уровни позволяет сегментировать их по масштабам.
     Реализованная структура проекта позволяет эффективно управлять загрузкой различных файлов и данных из СУБД в сети предприятия. В зависимости от условий просмотра в процессе работы ГИС из оперативной памяти могут динамически выгружаться листы (файлы) на основе отсечения по координатам углов листа и по масштабам просмотра (по уровням). Кроме того, на уровне системы безопасности Windows и СУБД ограничиваются права различных пользователей на доступ к различным файлам проекта. Благодаря этому использование проекта позволяет создавать системы, работающие в технологии клиент-сервер, в которых интеграция данных осуществляется посредством организации единой базы данных предприятия [1,9,10].

Инструментальные средства для разработки приложений

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

     Следует отметить, что в качестве типовых элементов специализированных ГИС, создаваемых для разных предприятий, расположенных на одной территории, являются на только программные модули, но и компоненты информационного обеспечения. Для предприятий и организаций города Иваново, являющихся основными потребителями ГИС WinPlan, к таким компонентам можно отнести адресную и транспортную модели города Иваново.
     Адресная модель, построенная на основе справочника улиц года, позволяет решать в составе ГИС не только традиционные задачи поиска на карте объектов по адресу, но и выполнять автоматизированным способом достаточно трудоемкие процедуры, называемые геокодированием баз данных. Такие процедуры обеспечивают, например, нанесение на карту в виде знаков всех записей базы данных, имеющих в качестве поля адрес. Описание технологии создания и использования адресных моделей в среде ГИС WinPlan приведено в [2].
     Транспортная модель города Иваново включает сопоставленное с картой описание условий проезда всех участков улиц города а также некоторых пригородов и Кохмы. Такое описание позволяет искать кратчайшие маршруты проезда по городу, оптимизировать маршруты доставки продуктов [3] и т.д.
     Указанные модели поставляются в составе специализированных ГИС как их неотъемлемые части вместе с соответствующими программными модулями.

Примеры реализации прикладных решений

     Разработки на базе ГИС WinPlan внедрены в составе десятков информационных систем как самостоятельные системы или как компоненты интегрированных программных решений. Примеры работы систем на базе ГИС WinPlan приведены на рис. 4. К наиболее существенным разработкам можно отнести:


a)

б)

в)

г)

д)

е)

ж)

з)

     Рис 4. Примеры работы прикладных программ, реализованных на базе ГИС WinPlan:
а) паспортизация газовых сетей;
б) создание карты кадастрового деления города Иваново;
в) создание плана дислокации дорожных знаков;
г) анализ последствий радиоактивного заражения местности;
д) анализ очагов аварийности на транспорте;
е) выделение зон на основе геокодирования базы данных;
ж) планирование маршрутов доставки продуктов;
з) геоинформционный WEB-сервер ИГЭУ

Заключение

     Ввиду того, что промышленные ГИС являются сложными, дорогостоящими, интегрированными системами, они создаются на основе инструментальных программных комплексов. Однако широта применения ГИС не позволяет сформулировать однозначных критериев к инструментальным комплексам. Особенно это становится очевидным при создании специализированных ГИС, в составе которых велика доля специфических задач предметной области.
     В таких условиях у разработчиков появляются дополнительные возможности для специализации инструментальных систем и получения преимуществ перед конкурентами за счет обеспечения большей гибкости программного инструментария, технологичности разработки и сопровождения множества проектов по внедрению различных специализированных систем, учета особенностей используемых данных. Благодаря реализации указанных возможностей в ИГЭУ силами специалистов управления геоинформационных технологий успешно развивается инструментальная ГИС WinPlan.
     Найденные разработчиками технологические решения в области организации программного и информационного обеспечения ГИС позволили успешно выполнить более десятка проектов по созданию специализированных ГИС, которые в настоящее время продолжают использоваться заказчиками и модернизироваться в соответствии с изменяющимися условиями и требованиями. Кроме того, более 50 копий ГИС WinPlan установлены в различных организациях в виде универсальной ГИС. ГИС WinPlan на протяжении 3 лет используется в ИГЭУ для обучения студентов специальности "Программное обеспечение вычислительной техники и автоматизированных систем" в рамках курса "Геоинформационные системы".
     Формат статьи не позволяет рассмотреть все возможности, области применения и функции программного комплекса ГИС WinPlan. Дополнительные сведения о реализации компонентов данного комплекса можно найти в [1,8-12]. Более детальные примеры использования ГИС WinPlan приводятся в [13].
     В заключение следует отметить, что развитие индустрии производства программного обеспечения и стандартов взаимодействия программных компонентов постоянно открывает новые возможности для совершенствования программных комплексов. В связи с этим разработчики ГИС WinPlan вынуждены периодически осуществлять коренную реорганизацию ядра. В данной статье описано второе поколение ядра ГИС WinPlan, его окружение и решения на его основе. Это ядро является функционально завершенным и доведенным до промышленного уровня реализации. В настоящее время в управлении геоинформационных технологий создается программное ядро ГИС нового поколения, которое базируется на тех же идеологических принципах, но предоставляет ряд дополнительных технологических возможностей. В частности, в нем реализуются современная объектно-компонентная технология, обеспечивающая более высокую гибкость при разработке, технология распределенного хранения моделей в сетевых средах, представление знаний о пространственных свойствах и отношениях объектов.

Список литературы

1. Косяков С.В., Никольский В.Н., Точилкин С.В. и др. Организация расчетов тепловых сетей в технологии клиент-сервер / В кн. "Повышение эффективности работы ТЭС и энергосистем. Тр. ИГЭУ. Вып. 1. Под ред. А.В. Мошкарина, В.А. Шуина. - Иваново, 1997, с. 119-122.
2. Косяков С.В., Исаев С.А. Анализ территориальных систем на основе пространственных моделей распределения объектов / Ж. "Вестник ИГЭУ", N1, 2001, с. 104.
3. Бадашкин В.А., Косяков С.В. Опыт создания системы планирования грузоперевозок по городу с использованием ГИС / Ж. "Информационный бюллетень. ГИС-Ассоциация". - М.: "ГИС-Ассоциация", N3,2000, с. 61-62.
4. Лебедев П.А., Феськов С.В., Косяков С.В. и др. Автоматизация решения задач землеустройства в г. Иваново / В сб. конф. "Организация, технология и опыт ведения кадастровых работ". - М.: "ГИС-Ассоциация", 24-28 ноября 1997 г.
5. Косяков С.В., Исаев С.А. Разработка корпоративной ГИС автомобильных дорог Ивановской области / Сб. ст. к конф. "Информационная среда вуза". - Иваново: ИГАСА, 2000, вып. 7, с. 162-164.
6. Косяков С.В., Исаев С.А., Ермошин А.В., Сизяков Р.А. Разработка ГИС для анализа чрезвычайных ситуаций / В сб. тез. докладов междунар. на-уч.-техн. конф. "Состояние и перспективы развития электротехнологии" (Х Бенардосовские чтения). - Иваново: ИГЭУ, 6-8 июня 2001 г., с. 51.
7. Косяков С.В., Игнатьев Е.Б., Исаев С.А., Панюшкин А.В. Геоинформационный WEB-сервер для системы управления вузом // Информационная среда вуза: Сб. ст. к конф. - Иваново: ИГАСА, 2000, вып.7, с. 143-146.
8. Косяков С.В., Никольский В.Н. Программный комплекс для отображения оперативной диспетчерской информации в составе корпоративных информационных систем / В кн. Повышение эффективности работы ТЭС и энергосистем: Труды ИГЭУ. Вып. 2. Под ред. А.В. Мошкарина, В.А. Шуина, Е.С. Целищева. - Иваново, 1998.
9. Косяков С.В. ГИС в составе информационных систем предприятий городских инженерных сетей / В журнале "Информационный бюллетень. ГИС-Ассоциация", (2,1997.
10. Косяков С.В., Игнатьев Е.Б., Точилкин С.В. Автоматизация предприятий городских инженерных сетей на основе принципов открытых систем / В сб. " Четвертый Всероссийский форум "Геоинформационные технологии. Управление. Природопользование. Бизнес" Материалы форума". - М.: РАГС, 2-6 июня 1997 г., c.169-171.
11. Косяков С.В., Никольский В.Н., Точилкин С.В. Об интеграции ГИС и прикладных программных систем / В сб. " Четвертый Всероссийский форум "Геоинформационные технологии. Управление. Природопользование. Бизнес" Материалы форума". М.: РАГС,2-6 июня 1997 г., c.174-175.
12. Косяков С.В.Информационные системы масштаба предприятия и автоматизация предприятий инженерных коммуникаций / В сб. "Инженерные коммуникации и геоинформационные системы". ГИС-Ассоциация, Москва, 14-17 октября 1997.
13. Косяков С.В. Геоинформационные системы в управлении и производстве / Учебное пособие. - Иваново: ИГЭУ, 2001. -100 с.

Тел./факс: (0932)38-70-78, Е-mail: ksv@igt.ispu.ru