«Информационные Ресурсы России» №4, 2012



А. Кадочников, А. Токарев.

Разработка информационной системы «Сеть образовательных учреждений Красноярского края»

Введение

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

Основная цель создания информационной системы «Сеть образовательных учреждений Красноярского края» – наглядное представление на картографической основе информации об образовательных учреждениях, включая их географическое местоположение и данные об условиях и качестве предоставляемых образовательных услуг. Всем участникам образовательного процесса (управленцам, потребителям, власти) важно иметь ясное представление о том, как устроена образовательная сеть. Сколько и каких учреждений функционирует, какие условия в этих учреждениях, какова их плановая наполняемость и сколько детей реально обучается. При планировании образовательной сети важно представлять, какие учреждения расположены рядом, какие учреждения дополнительного образования расположены в зоне транспортной доступности от школы и др. [2,3]. Кроме того, потребители образовательных услуг (учащиеся и их родители) должны иметь возможность увидеть, какие учреждения расположены рядом с местом жительства, и делать обоснованный выбор образовательной услуги. Современные геоинформационные технологии позволяют достаточно просто решать задачи такого типа.

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

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

Решение строилось на основе свободно распространяемых технологий и программного обеспечения:
−    платформа для публикации картографических данных – MapServer 5.x (http://www.mapserver.org);
−    система кэширования картографических данных – GeoWebCache 1.2.2 (http://www.geowebcache.org);
−    основной язык разработки – PHP 5.2 (http://www.php.net);
−    СУБД – PostgreSQL 8.3 (http://www.postgresql.org) + PostGIS 1.5 (http://www.postgis.org).

База данных

На основе требований к системе была спроектирована концептуальная модель базы данных, основные блоки которой показаны на рисунке 1.

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

Для учреждения помимо основных атрибутов хранится подчинение муниципальному образованию, населенному пункту, а также конкретные координаты его расположения.  Взаимосвязь организаций из разных версий выполняется по служебному полю «Код». Предусмотрено ведение организационной структуры – для учреждений без образования юридического лица есть ссылка на родительское учреждение [4].
 

Не указано

Рис. 1. Структура данных

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

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

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

Программное обеспечение и технологии для веб-приложения

Для построения клиентской части веб-приложения подходят несколько технологий – DHTML, Flash, SVG (Scalable Vector Graphics – масштабируемая векторная графика). Их возможностей достаточно для реализации клиентской логики картографического веб-интерфейса. Одним из интересных и популярных на сегодняшний день решений  является применение технологии динамического HTML с методами асинхронного обмена данными без перезагрузки страницы (Remote Scripting, AJAX). Практически все современные веб-браузеры поддерживают эти технологии без использования дополнительных модулей.

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

Интерфейс клиентского веб-приложения для информационной системы «Сеть образовательных учреждений Красноярского края» можно условно разделить на 2 части:
−    общий интерфейс пользователя, содержащий информацию в текстовом и табличном виде;
−    карта, обеспечивающая пользователя визуальной информацией о расположении объектов сети образовательных учреждений.

Общий интерфейс пользователя построен с использованием библиотеки Sencha (ранее ExtJS). Sencha – это библиотека JavaScript для разработки веб-приложений и пользовательских интерфейсов. Использует адаптеры для доступа к библиотекам Yahoo! UI Library, jQuery или Prototype/script.aculo.us. Поддерживает технологию AJAX, анимацию, работу с DOM (Document Object Model), реализацию таблиц, вкладок, обработку событий и все остальные новшества «Веб 2.0». Использование этой библиотеки при разработке системы позволило значительно сократить время на подготовку интерфейса пользователя.

При разработке картографического компонента веб-интерфейса были проанализированы два способа представления картографической информации для пользователя. Первый способ – карта отображается с использованием фрагментов (тайлы). Эту технологию используют такие ресурсы, как Google Maps (http://maps.google.com), Яндекс Карты (http://maps.yandex.ru), Virtual Earth (http://www.bing.com/maps/) и др. Основным преимуществом такого способа является скорость получения визуальной информации пользователем и малая нагрузка на сервер при отображении статической информации. Процесс формирования карты на клиентском компьютере состоит из нескольких этапов, с использованием дополнительных программных потоков, механизма кэширования, очереди загрузки фрагментов и др. При таком способе отображения карты пользователю процесс построения композиции карты позволяет оптимизировать процесс загрузки, снизить нагрузку на веб-браузер и более равномерно ее распределить по времени. Однако при отображении меняющихся тематических данных такой способ снижает скорость доступа пользователя к пространственным данным и увеличивает нагрузку на сервер. Для решения этой проблемы используется второй способ отображения информации – по запросу пользователя генерируется одно растровое изображение [5,6]. В зависимости от типа представляемой информации пользователю в программном интерфейсе системы используется комбинация этих двух способов.

Сегодня существует большое число библиотек с открытым исходным кодом для создания готового пользовательского интерфейса с картографическим интерфейсом, например, OpenLayers (http://www.openlayers.org), GeoExt (http://geoext.org), MapFish (http://www.mapfish.org), Fusion (http://trac.osgeo.org/fusion/) и др. Однако функционала существующих библиотек было недостаточно для решения поставленной задачи, и было разработано веб-приложение с использованием библиотеки OpenLayers. OpenLayers − это JavaScript библиотека с открытым исходным кодом, предназначенная для создания карт на основе программного интерфейса, подобного API Яндекс.Карт (http://api.yandex.ru/maps/), GoogleMap API (http://code.google.com/intl/ru/apis/maps/) или Virtual Earth API (http://www.microsoft.com/maps/isdk/ajax/), поддерживает технологию AJAX и анимацию.

При разработке серверной части веб-приложения для информационной системы «Сеть образовательных учреждений Красноярского края» используется программное обеспечение MapServer, предназначенное для обеспечения доступа через интернет к интерактивным картам, к различной пространственно увязанной информации. MapServer позволяет интегрировать данные из нескольких источников или серверов, а также использовать средства программирования для создания пользовательских приложений, обеспечивает прямой доступ к файлам различных форматов систем автоматизированного проектирования и разработки геоинформационных систем. MapServer представляет собой открытую и свободно распространяемую среду разработки интернет-приложений для работы с электронными картами широко распространенных среди множества геоинформационных систем векторных и растровых форматов, обладающую большим числом функциональных возможностей. На основе механизма динамических библиотек разделяемого доступа MapServer обладает программным интерфейсом к нескольким наиболее популярным скриптовым языкам программирования, таким как PHP, C#, Python и т. д., что позволяет использовать функции и процедуры MapScript при разработке различного рода приложений с применением этих языков и обеспечивает значительную гибкость при решении каждой конкретной задачи. В дальнейшем рассматривается возможность использования программного обеспечения GeoServer, который во многом похож на MapServer. Однако в отличие от MapServer, GeoServer реализует спецификацию WFS-T (Web Feature Service -Transaction). Это означает, что используя GeoServer, вы можете не только получать данные для построения на их основе собственных карт, но также редактировать полученные данные с последующим автоматическим обновлением исходной информации на сервере.

Для создания карты из фрагментов использовалось программное обеспечение GeoWebCache. GeoWebCache использует cпецификацию WMS Tile Caching (WMS-C), которая явилась результатом конференции FOSS4G в 2006 г. Сервисы WMS (Web Map Service) разрабатывались с учетом большой гибкости и богатого функционала. Но это оборачивается высокими требованиями к вычислительной мощности сервера. Серверы WMS-C по протоколам совместимы с OGC WMS (OpenGIS consortium), поэтому их можно встроить между клиентом и сервером WMS, что позволяет существенно увеличить скорость реакции и разгрузить сервер. Рассмотрены альтернативные решения для создания каталога фрагментов (тайлов), такие как ka-Map Cache (http://ka-map.ominiverdi.org), TileCache (http://tilecache.org) и др.

Источником пространственных данных для сервера с программным обеспечением GeoWebCache послужил WMS сервер с картой Красноярского края на основе программного обеспечения MapServer. Объем этой карты составляет приблизительно 6 Гбайт файлов в векторном формате и постоянно увеличивается. Дополнительно реализована система сервисов, которые поддерживают кэш растровых изображений на сервере с GeoWebCache в актуальном состоянии при обновлении исходных данных на WMS сервере.

Исходными данными для карты Красноярского края являются файлы векторных данных в формате shape-файлов (общепринятый формат для обмена картографической информацией). Однако с помощью библиотек GDAL (Geospatial Data Abstraction Library, http://www.gdal.org) и OGR Simple Features Library (http://www.gdal.org/ogr/) появляется возможность для загрузки огромного числа различных растровых и векторных форматов (OGR – PostGIS, ESRI ArcSDE, Oracle Spatial, MySQL, MapInfo и др., GDAL – TIFF/GeoTIFF, EPPL7, MrSID и др.). Проведенные исследования показали, что на основе пространственных данных в формате shape-файлов MapServer быстрее всего формирует растровое изображение по запросу пользователя.

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

В качестве слоя подложки используется карта Красноярского края, построенная на основе маленьких растровых изображений (тайлов) размером 256х256 пикселей. Набор тайлов организован в виде пирамиды для 16 масштабных уровней, начиная от карты России и заканчивая картами населенных пунктов масштаба 60 см на пиксель. Эта карта может размещаться на любом сервере, путь к которому определяется в клиентском программном обеспечении. Важным требованием к такому серверу является наличие большого дискового пространства (порядка 10 терабайт при полностью сформированном наборе тайлов). Однако территория Красноярского края слабо населена и не возникает необходимости в создании набора тайлов на весь край для самых подробных масштабных уровней, что значительно сокращает его объем. Кэш тайлов заранее был сформирован для первых 10 уровней, для остальных уровней кэш тайлов генерируется по мере обращения пользователя к определенным участкам карты Красноярского края.

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

Сегодня авторами статьи предпринимаются активные шаги для повышения скорости загрузки тематического слоя на стороне клиента веб-приложения. Наиболее перспективным решением является замена растрового полупрозрачного слоя на группу векторных объектов на странице пользователя. Необходимо отметить тот факт, что веб-браузеры накладывают ограничения на количество таких векторных объектов на странице пользователя. Для Mozilla Firefox, Google Chrome такое ограничение равно 500 объектам, а для браузера Internet Explorer 6 – максимум 50 объектов. Эта проблема решается объединением групп объектов в один объект для всех фрагментов видимой области карты при навигации по ней (перемещение карты в окне пользователя, уменьшение или увеличение масштаба видимой области карты) [7]. Фрагменты представляют собой ячейки сетки, видимой пользователю области карты. Такой способ распределения и группировки значков объектов сети образовательных учреждений повышает качество представления информации пользователю и незначительно увеличивает нагрузку на интернет-соединение.

Для повышения скорости загрузки подложки с картой Красноярского края нужно либо создать несколько серверов с программным обеспечением GeoWebCache, либо создать несколько CNAME-записей (каноническая запись имени (псевдоним) используется для перенаправления на другое имя) в DNS-таблице (Domain Name System – система доменных имён) сервера (например, map1.yoursite.ru, map2.yoursite.ru и map3.yoursite.ru). Такая необходимость возникает из-за ограничения веб-браузеров на количество одновременных соединений по протоколу HTTP 1.1. Количество растровых фрагментов для текущей области карты может достигать 30 штук, а при навигации по карте создается одновременно до 40 соединений с сервером при первых загрузках этих изображений. Такой метод значительно повышает скорость загрузки карты и широко применяется в современных веб-приложениях. Например, в Google Maps для распараллеливания загружаемых фрагментов карты используются несколько доменов. Тот же подход задействован в других известных картографических сервисах.

Пользовательский интерфейс


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

 Рис. 2. Интерфейс пользователя

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

Информационная панель состоит из трех частей:
Карта – образовательные учреждения отображаются пиктограммами на карте края, уровень детализации которой до отдельных зданий в крупных городах и кварталов во всех остальных населенных пунктах. Для управления картой предусмотрен ряд стандартных инструментов:
−    показать всю карту на экран;
−    включить режим мыши «Перемещение карты»;
−    включить режим мыши «Информация по объектам»;
−    включить режим мыши «Масштабирование карты»;
−    «Увеличить масштаб» – приблизить карту;
−    «Уменьшить масштаб» – отдалить карту;
−    «Отменить действие»;
−    «Повторить действие»;
−    «Настройка карты» – выбор отображаемых на карте типов учреждений сети.

Информационные панели «Информация» и «Показатели» – в результате навигации пользователя по дереву объектов сети образовательных учреждений в традиционном стиле Проводника Microsoft Windows, в информационных панелях системы автоматически отображаются данные по учреждениям и муниципальным образованиям Красноярского края.

Для Красноярского края в целом и для муниципальных образований отдельно реализована возможность просмотра табличных тематических данных по объектам сети образовательных учреждений. Дополнительно для Красноярского края доступна возможность просмотра сводных показателей по муниципальным образованиям.

Реализована возможность экспорта табличных данных различных тематических показателей в файлы Microsoft Excel. Для некоторых показателей предусмотрена возможность фильтрации данных по ряду параметров.
Управление системой реализовано через административный веб-интерфейс с аутентификацией. Приложение обеспечивает оператора следующими функциями: редактирование сетей учреждений, управление списком тематических разделов и показателями в них, редактирования данных по учреждениям и муниципальным образованиям и др.

Заключение

Информационная система «Сеть образовательных учреждений Красноярского края» предназначена для представления на картографической основе информации об учреждениях образования и состоянии сети образовательных учреждений в разрезе муниципалитетов и края в целом. Предложенная технологическая основа успешно использована в нескольких проектах:
−    «Терра: Визуальные паспорта Югры», комитет по информационным ресурсам Администрации Губернатора Ханты-Мансийского округа – Югры, 2008 г. (внутренний ресурс).
−    «Карта здравоохранения Красноярского края», Красноярский краевой медицинский информационно-аналитический центр (ККМИАЦ), 2008-2011 гг. (http://www.kmiac.ru/).
−    «Сеть образовательных учреждений Красноярского края», Министерство образования и науки Красноярского края, 2009-2011 гг. (http://issou.cross-edu.ru/).

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

Литература:
1.    О.Э. Якубайлик, А.А. Кадочников, В.Г. Попов, А.В. Токарев. Модель геоинформационной аналитической Интернет-системы для анализа состояния и презентации региона // Вестник СибГАУ. – 2009. -  - Вып. 4 (25). – С. 61-66.
2.    Электронный мониторинг образовательных  учреждений Владимирской области. [Электронный ресурс]. – Режим доступа: http://www.ceod.ru/ – Заглавие с экрана (дата обращения 16.03.12).
3.    Петухов Д.В. Внедрение сбалансированной  системы показателей как административная инновация в процесс управления образовательным учреждением. Социокультурные факторы  инновационного  развития  организации:  Научно-практическая  интернет-конференция. – М.: МАИ, 2009. [Электронный ресурс]. – Режим доступа: http://www.mai.ru/events/sfiro/articles.php – Заглавие с экрана (дата обращения 19.03.12).
4.    Токарев А.В. Организация базы данных для информационной системы «Сеть образовательных учреждений Красноярского края» // Геоинформатика: технологии, научные проекты. Тезисы II Международной конференции. – Барнаул: изд-во АРТ, 2010. – С. 98.
5.    Кадочников А.А. Программное обеспечение информационно-аналитических систем на основе геоинформационного Интернет-сервера // Вычислительные технологии. - 2007. - Т.12. - Специальный выпуск 2: Информационные технологии для эколого-биологических исследований. Междисциплинарный интеграционный проект СО РАН. - С. 70-78.
6.    Якубайлик О.Э. Геоинформационный Интернет-портал // Вычислительные технологии. - 2007. - Т.12. - Специальный выпуск 3. ГИС- и веб-технологии в междисциплинарных исследованиях. Материалы Междисциплинарной программы СО РАН 4.5.2. Выпуск I. -С. 116-125.
7.    Luke Mahe, Chris Broadfoot. Too Many Markers! / Google Maps API [Электронный ресурс] – Режим доступа: http://code.google.com/intl/ru-RU/apis/maps/articles/toomanymarkers.html – Заглавие с экрана (дата обращения  01.04.2012).