![]() |
Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru |
![]() | ||||||
Поиск по сайту | ||||||
![]() | ||||||
Новости | ||||||
![]() | ||||||
Основы OLAP | ||||||
![]() | ||||||
Продукты | ||||||
![]() | ||||||
Business Objects/ Crystal Decisions | ||||||
![]() | ||||||
Каталог | ||||||
![]() | ||||||
OLAP в жизни | ||||||
![]() | ||||||
Тенденции | ||||||
![]() | ||||||
Download | ||||||
![]() | ||||||
| ||||||
![]() | ||||||
Система анализа образовательной статистики на основе интеграции OLAP и GIS технологийМ.С. Заботнев, АннотацияВ статье рассматриваются принципы и технические решения, лежащие в основе информационной аналитической системы, целью которой является повышение эффективности решения управленческих задач в сфере образования РФ. Система основана на применении эффективных методов анализа и визуализации больших объемов статистических данных и является уникальным примером интеграции информационных технологий Oracle Express компании Oracle и GIS-технологии компании MapInfo. Статья может быть полезна широкому кругу читателей, начиная от управленцев и заканчивая программистами, так как кроме освещения общих, принципиальных проблем, возникающих в рамках рассматриваемой задачи, содержит ответы на конкретные технические вопросы и рекомендации по обходу “подводных камней”, с которыми автор столкнулся в ходе создания системы. ВведениеОсновным требованием, предъявляемым к информационной системе, ориентированной на анализ данных, является своевременное обеспечение аналитика всей информацией, необходимой для принятия решения. При анализе больших объемов статистической информации возникает проблема поиска и представления требуемых данных в виде, подходящем для анализа. Кроме того, процесс создания отчета должен занимать время, за которое полученный отчет не потеряет актуальность. Альтернативой традиционным методам анализа данных, основанным на различных системах реализации SQL-запросов к реляционной базе данных является технология оперативной аналитической обработки данных (OLAP). В основе OLAP лежит многомерная модель представления данных, в которой на смену таким понятиям как отношения и сущности приходят понятия измерений и кубов данных. Именно многомерность представления данных позволяет сделать механизм получения данных более доступным и интуитивно понятным аналитику, а многие ограничения языка SQL перестают существовать в силу принципиально иного механизма создания отчетов средствами OLAP. Так, например, подсчет суммарных величин уже не требует времени непосредственно на этапе анализа, поскольку все возможные суммы уже подсчитаны на этапе построения многомерной базы данных. Реляционная база данных, содержащая всю статистическую информацию о предметной области, превращается в хранилище данных в терминах OLAP, а процесс создания структуры аналитической системы сводится к определению измерений и организации витрин данных. Одним из популярных средств разработки OLAP-систем является семейство программных продуктов Oracle Express OLAP компании Oracle. ПО Oracle Express предоставляет широкие возможности для создания аналитических систем на основе сервера многомерных баз данных – Oracle Express Server. В состав инструментальных средств Oracle Express входят средства создания и администрирования многомерных баз данных – Express Administrator, средство визуального создания “облегченных” клиентских приложений и презентаций – Express Analyzer, профессиональная инструментальная среда объектно-ориентированной разработки OLAP-приложений - Express Objects, позволяющая создавать сложные интегрированные клиентские приложения, и другие средства, связанные с публикацией данных в Интернете. В настоящей статье рассматривается пример построения аналитической системы для анализа образовательной статистики РФ. Основой системы является сервер многомерной базы данных – Oracle Express Server 6.2, а в качестве клиента используется приложение, созданное в среде Express Objects. Таким образом, приложение обладает всеми преимуществами реализации технологии OLAP в рамках рассматриваемой предметной области. Кроме того, приложение обладает возможностью отображения территориальных объектов и данных, соответствующих этим объектам, на географической гарте. Данная функциональность реализована с применением технологии GIS (Гео-информационная система) компании MapInfo. Технология GIS применяется в информационных системах, предназначенных для анализа пространственно распределенных данных. Возможности динамической связи картографических объектов с данными (картографическая привязка данных) существенно расширяют функциональность аналитической системы. Реализация технологии GIS позволяет осуществлять пространственные запросы к базе данных и помогает существенно сократить время получения требуемой информации. Пользователь имеет возможность получать визуальное представление о территориальном расположении объектов и соответствии данных этим объектам. Применение различных схем картографической визуализации повышает степень восприятия “голых” числовых данных. Рассматриваемая система является уникальным примером интеграции современных информационных технологий – Oracle Express OLAP и MapInfo GIS. Принципы, положенные в основу создания данного приложения, являются общими для систем такого рода и могут быть применены для создания аналогичных аналитических систем. Структурная схема аналитической системыЯдром системы является многомерная база данных (МБД), предоставляющая возможность реализации механизма составления отчетов на основе технологии OLAP. Система построена по принципу клиент-сервер и обеспечивает удаленный и многопользовательский доступ к серверу МБД (Рис.1). Рассмотрим составные части системы более подробно.
Рис. 1 Структурная схема аналитической системы Хранилище данных Исходные данные представляют из себя значения показателей для конкретных образовательных учреждений. В число показателей входят такие как численность учеников и преподавателей, компьютерное оснащение, учебная нагрузка и многие другие. Данные собираются и помещаются в хранилище, спроектированное в соответствии с принципами построения хранилищ данных и представляющее из себя реляционную базу данных (РБД), организованную по схеме “звезда”. Основная таблица хранилища данных (таблица фактов) содержит числовые значения показателей, по которым собирается статистическая информация. С таблицей фактов связанны другие таблицы (таблицы измерений) в соответствии с топологией “звезда”. Список показателей, список географических объектов и объектов образования, тип образовательного учреждения, тип собственности, тип местоположения учебного заведения являются таблицами измерений (Рис. 2). Таблица, содержащая территориальные объекты РФ (федеральные округа, субъекты федерации, районы, города и другие населенные пункты, образовательные учреждения), имеет иерархическую структуру, т. е. каждый территориальный объект, начиная с образовательного учреждения, включен в более высокий по уровню иерархии согласно административному делению территориальных объектов РФ. Рис. 2. Структура хранилища данных по образовательной статистике Предусматривается ежегодное пополнение хранилища данными. Технология сбора и пополнения хранилища новыми данными представляет из себя отдельную сложную задачу и ее рассмотрение выходит за рамки данной статьи, однако такие задачи решаются уже довольно долгое время и на этом пути гораздо меньше нерешенных проблем по сравнению с количеством попыток ответить на вопрос: “Как повысить эффективность обработки больших объемов статистической информации?”. Многомерная база данных Хранилище данных служит поставщиком информации для многомерной базы данных, представляющей из себя набор объектов, которые позволяют манипулировать данными необходимым для аналитика образом. Основными классами этих объектов являются измерения и показатели. К измерениям относятся множества значений (параметров), по которым происходит индексация данных, например, время, регионы, тип учреждения и т. п. Каждое измерение заполняется значениями из соответствующих таблиц измерений хранилища данных. Совокупность измерений определяет пространство исследуемого процесса. Под показателями понимаются многомерные кубы данных (гиперкубы). В гиперкубе содержатся сами данные, а также агрегатные суммы по измерениям, входящим в состав показателя. Показатели составляют основное содержание МБД и заполняются в соответствии с таблицей фактов. Вдоль каждой оси гиперкуба данные могут быть организованы в виде иерархии, представляющей различные уровни их детализации. Это позволяет создавать иерархические измерения, по которым при последующем анализе данных будут осуществляться агрегирование или детализация представления данных. Типичным примером иерархического измерения служит список территориальных объектов сгруппированных по районам, областям, округам. Клиентское приложение Данные, структурированные соответствующим образом и хранимые в МБД доступны для анализа с помощью клиентского приложения. Пользователь получает возможность удаленного доступа к данным, формулирования сложных запросов, генерации отчетов, получения произвольных подмножеств данных. Получение отчета сводится к выбору конкретных значений измерений и построению сечения гиперкуба. Сечение определяется выбранными значениями измерений. Данные по остальным измерениям суммируются. Таким образом, аналитик получает возможность глобальной оценки показателей в масштабах России в целом. В случае, когда аналитику требуется более детальная информация, например, количество учеников по области или району, он может опускаться на более низкие ступени иерархии измерения, содержащего территориальные объекты и получать информацию по ним. Аналитик имеет возможность получить информацию по конкретному учебному заведению, выбрав его в качестве параметра сечения, а также изменять другие параметры, например тип учебного заведения, время (год) и т. п. При этом требуемую информацию удается получить за относительно короткий промежуток времени, без существенных задержек, характерных при работе с реляционными базами данных. В распоряжении пользователя имеется также географическая карта России, включающая в себя административное деление на федеральные округа, регионы и районы. Пользователь имеет возможность изменять масштаб карты, при этом на более крупных масштабах подключаются слои с высокой детализацией. Также имеется возможность выбора одного или группы объектов на карте для последующей работы с ними. В рамках интеграции OLAP и GIS технологий реализованы следующие процедуры взаимодействия базы данных с картой:
Клиентское приложение обладает дружественным и интуитивно понятным интерфейсом, поддерживает многооконный режим, а также экспорт данных в формат MS Excel. На рисунках, прилагаемых к статье, представлены результаты выполнения типовых запросов к аналитической системе. Рис. 3 демонстрирует результаты запроса количественных данных по численности учеников с разбиением на классы по выбранным областям.
Рис. 3. Численность учеников по областям
Рис. 4. Возрастной состав населения по районам Ивановской области Пользователь задает требуемые параметры для выборки данных (тип образовательного учреждения, год и др.) и получает таблицу с числовыми данными. При этом выбранные области отображаются на карте и подкрашиваются соответствующим цветом (картодиаграмма). На рис. 4 демонстрируется одна из возможностей динамической визуализации полученных данных – построение круговых диаграмм. По результатам запроса о трудоспособности населения строится визуальное представление данных на карте. Анализ представления позволяет оперативно оценить ситуацию: в областном центре и близлежащих районах большинство населения – трудоспособного возраста, в то время как в отдаленных от центра районах основная часть населения – лица младше и старше трудоспособного возраста. Примеры использованияКаковы же перспективы использования такого аналитического инструмента? Прежде всего, это высокая “гибкость” работы с данными. Пользователь имеет возможность просматривать данные в любом направлении, выбирая требуемые измерения в качестве направляющих. Здесь уместно поговорить о решении задач сравнения. К примеру, пользователь может получить в одной таблице сравнительный анализ долей государственных и негосударственных образовательных ресурсов по выбранному показателю, информацию по городским и сельским школам, наконец, сравнить уровень образования в выбранных регионах. Отметим, что для получения сравнительной таблицы ему достаточно лишь сделать несколько точных движений мышью. Сопоставление данных, относящихся к различным временным периодам, позволяет выявлять временные тенденции развития показателей в рассматриваемой области, а также предоставляет возможность для решения задач прогнозирования. Безусловно, достоверный прогноз удается строить только при наличии адекватных прогностических моделей, а это само по себе является отдельной сложной задачей, однако возможность получения данных для временного анализа играет также немаловажную роль. Довольно заманчивой оказывается перспектива проведения многоуровневого анализа, т.е. анализа на различных уровнях детализации данных. Эту возможность обеспечивает введение в структуру МБД иерархических измерений. Территориальные объекты, а также объекты образования находятся в одном списке, имеющем иерархическую структуру. Обладая огромным количеством данных по конкретным образовательным учреждениям (а одних школ в России порядка 70000), пользователь может видеть на экране лишь несколько чисел, соответствующих рассматриваемым показателям на самом высоком уровне иерархии – уровне федеральных округов. Такой подход предоставляет возможность проведения глобального анализа, т. к. на уровне федеральных округов представлены суммарные данные по всем регионам, входящим в округа. Если пользователю требуется более детальная информация, он имеет возможность раскрыть иерархию и “спуститься” до конкретного образовательного учреждения, получая при этом на каждом уровне суммарную информацию по объектам, входящем в состав рассматриваемого. Использование картографической привязки данных не только повышает уровень визуализации данных, но в некоторых случаях способствует получению нового качественного представления о рассматриваемой ситуации. Наглядное отображение данных на географической карте чрезвычайно полезно при решении задач мониторинга. Построение карты-диаграммы в этом случае позволяет визуально выявить наличие “белых пятен” в данных. В системе предусматривается применение и других эффективных способов визуализации, таких как столбчатые и круговые диаграммы. Применение рассматриваемой аналитической системы наиболее эффективно при решении задач динамической поддержки принятия решений, когда сроки принятия решения существенно ограничены и требуется за короткое время рассмотреть ситуацию со всех сторон, вникнуть в нее и найти, возможно, единственно правильное решение. При возникновении серьезной проблемы, в критической ситуации наличие инструмента, позволяющего предоставить всю необходимую аналитику информацию, крайне необходимо. Такие инструменты уже частично применяются на практике при т. н. “мозговом штурме”. Совокупность средств информационной поддержки принятия решения в этом случае известна как “ситуационная комната”. Однако использование рассматриваемой системы не ограничивается критическими ситуациями. На основе клиент-серверной архитектуры системы может быть создан класс рабочих мест для аналитиков и управленцев, которые могут иметь удаленный доступ к данным и решать штатные задачи по повышению эффективности управления системой образования. В число таких задач входит рассмотрение всевозможных вариантов развития отрасли (ответ на вопрос “Что если?”) с целью нахождения оптимального пути ее дальнейшего развития. После рассмотрения возможностей применения данной системы на практике перейдем к основным принципам построения многомерной базы данных и клиентских приложений средствами Oracle Express. Осветим также некоторые технические тонкости, представляющие, с точки зрения автора, наибольшую ценность для разработчиков аналогичных программных продуктов. Серверная частьМногомерная база данных (МБД) функционирует под управлением Oracle Express Server 6.2, который обеспечивает многопользовательский удаленный доступ к соответствующим образом структурированным данным, хранящимся в МБД. Создание структуры МБД сводится к определению множества измерений и показателей (создание витрины данных). Структура витрины данных в Oracle Express может быть организована с помощью клиентского приложения Express Administrator. После подключения к серверу Oracle Express администратор МБД имеет возможность визуально определить измерения (Dimension) и показатели (Variable). После определения списка измерений требуется задать их значения. Если значений у измерения не много, например, измерение State_type (тип собственности) имеет всего два значения – государственное \ негосударственное, можно ввести их вручную (Edit Values). Для измерений, содержащих существенное множество значений, а также для импорта данных из реляционной базы данных в кубы, приходится применять специальные загрузочные программы, написанные на языке Express. Express Administrator позволяет выполнять как отдельные команды языка Express (Express Command), так и целые программные блоки (Program). Приведем пример программы на языке Express, с помощью которой загружаются значения измерения fed_subj_region – списка территориальных объектов начиная от федеральных округов и заканчивая конкретными образовательными учреждениями. Данные загружаются из реляционной базы данных Oracle Database в многомерную базу данных Oracle Express. Т. к. измерение имеет иерархическую структуру, в реляционной базе данных соответствующая таблица имеет три столбца: oid - идентификатор объекта, name – наименование объекта и parent_id – идентификатор иерархии. 'Подключаемся к РБД Oracle 'определяем текстовую переменную 'определяем курсоры для загрузки данных sql declare fsid_db cursor for - show 'loading regions' 'загружаем идентификаторы err1: 'загружаем данные в соответствии с иерархией 'завершаем соединение Показатели заполняются аналогично. После окончания процедуры заполнения базы данными необходимо произвести подсчет агрегатных сумм в узлах пересечения значений измерений (операция rollup). После организации витрины данных и загрузки данных из таблицы фактов в МБД, данные уже доступны для анализа с помощью клиентского средства Oracle Express Analyzer. Однако такой анализ может выполнить лишь “продвинутый” пользователь. Для работы с Analyzer требуются определенные навыки, которые едва ли станут получать аналитики и управленцы. У них, скорее всего, просто не будет на это ни времени, ни желания. Правда, в Analyzer предусмотрен визуальный механизм создания т. н. “брифингов” – демонстрационных приложений для работы с МБД, но создавать эти брифинги должен опять-таки “продвинутый” пользователь и, естественно, ему на это требуется время. Кроме того, функциональность Analyzer ограничивается возможностью просмотра данных и некоторыми методами визуализации. Поэтому, если мы ставим задачу создания серьезного интегрированного аналитического приложения, для использования которого не требуется привлечение дополнительного персонала, приходится обратиться к более мощному средству из пакета Oracle Express – Express Objects. Клиентская частьПосле первого запуска Express Objects выдает ошибку “xobjects.ini is missing or invalid“ и закрывается. Спастись от этого можно копированием файла xpobsres.enu в xpobsres.rus. Ну вот, Express Objects запущен, можно подключиться к МБД и создать новый проект. Создание клиентского приложения начинается с разметки основной формы – рабочего окна приложения. В нашем случае оно будет разделено на две основных части. Левую половину окна будет занимать изображение географической карты России и средства работы с ней. В правой части будут представлены показатели, т. е. сами числовые данные, полученные с сервера МБД. Назовем условно эти функциональные блоки “Карта” и “База” соответственно. Рассмотрим эти блоки, а затем механизмы их динамической связи подробнее. Карта Для работы с картой нам понадобится OLE-компонент (Object Linking and Embedding – технология связывания и внедрения объектов), предоставляемый компанией MapInfo. После инсталляции продукта MapInfo MapX 5.0 можно внедрить компонент MapX в среду Express Objects в виде OLE-объекта (Edit->Install). После внедрения компонента он появится в списке доступных объектов на панели инструментов (ToolBox). Теперь его можно смело включать в разметку окна основной формы. Сама карта России в рассматриваемом приложении имеет формат MapInfo и состоит из 12-ти слоев, в число которых входят слои, соответствующие иерархии территориальных объектов в базе данных, а также слои с гидрографическими и дорожными объектами. Слой карты представляет из себя набор картографических объектов (полигонов, линейных, точечных объектов) и таблицу, в которой каждая строчка соответствует объекту этого набора. Также объекту может соответствовать несколько строчек в таблице. Для создания однозначности соответствия в этом случае желательно выполнить операцию “Join” в редакторе MapInfo. Таблица, соответствующая слою, может иметь произвольное количество столбцов. Добавление \ удаление столбцов таблицы осуществляется также посредством редактора MapInfo. Столбцы таблицы играют ключевую роль при выполнении операций геокодирования. В основе механизма динамической связи карты с базой лежит соответствие между территориальными объектами базы и карты (картографическая привязка данных). Каждый территориальный объект в базе данных имеет свой уникальный идентификатор. Таблицы, соответствующие слоям территориальных объектов имеют дополнительный столбец – “db_id”, в котором хранятся идентификаторы территориальных объектов из базы данных. Таким образом, существует возможность поиска территориального объекта на карте по известному идентификатору и наоборот, осуществление выборки данных из МБД, соответствующих конкретному территориальному объекту. База Вторую половину окна занимает объект “таблица” (Table). В таблице отображается срез гиперкуба данных по выбранным значениям измерений. Над таблицей находится меню выбора показателя (куба данных), оформленное в виде выпадающего списка (“ComboBox”). Пользователь имеет возможность выбора необходимого для анализа показателя. При этом в таблице отображается срез выбранного показателя по указанным значениям измерений. После помещения объекта “Table” в окно проекта, определения его свойств и запуска приложения таблица становится доступной для выполнения пользовательских операций. Пользователь имеет возможность разворота \ свертки иерархий, смены измерений для построения сечения, выбор конкретных значений измерений и т. п. Эта функциональность уже реализована средствами Express Objects и становится доступной при внедрении объекта “Table” в проект. С каждым действием пользователя, относящимся к объекту “Table” ассоциировано событие, после обработки которого управление передается в функциональный модуль. Перед рассмотрением основных процедур функционального модуля остановимся на модуле инициализации. Модуль инициализации Свойства объектов можно задавать, используя меню Properties, принадлежащее каждому объекту, однако, автор настоятельно рекомендует создать программный модуль инициализации свойств объектов, который будет запускаться при каждом запуске программы. Это позволит избежать в дальнейшем неприятных ошибок, связанных с сохранением свойств объектов при предыдущих запусках приложения. Программные модули представляют из себя наборы команд на языке Express Basic и создаются как отдельные объекты в проекте. Кроме того, каждый объект имеет собственный набор событий и может содержать код, соответствующий этим событиям и связанный со свойствами объекта. Тем, кто знаком с принципами визуального программирования это должно быть хорошо известно. Приведем пример кода с пояснениями из модуля инициализации. Sub Table_init 'объявляем переменные 'выбираем куб (показатель) “ученики” Set Tbl = Page.Table1 'строим сечение куба с использованием команд Express 'определяем свойства таблицы end sub После выполнения данной процедуры в таблице окажутся данные из МБД, соответствующие показателю “Ученики”, причем строки будут соответствовать территориальным объектам – федеральным округам, а столбцы – разбиению учеников по классам. Сделаем эту форму представлением “по умолчанию”. В окне определим кнопку (Button), при нажатии на которую происходит обращение к этой процедуре и, следовательно, сброс к первоначальному представлению. Это поможет пользователю в случае, когда он “забредет” в поисках данных слишком глубоко. Также в инициализационном модуле определяются свойства объекта Map (карта), а точнее, свойства слоев карты. Основным свойством слоя, помимо его цвета, является величина, определяющая видимость слоя на определенном масштабе. На небольших масштабах, например, когда мы видим на экране всю Россию в целом, видимым является только один слой – федеральные округа. Отображение других слоев в этом случае не имеет смысла, т. к. различить более мелкие объекты на таком масштабе практически невозможно. Они сливаются друг с другом и принимают вид “грязи”. При увеличении масштаба становятся видимыми слои с более высокой детализацией (регионы, областные центры, реки, дороги, города средней величины и т. д.), в то время как слои с низкой детализацией исчезают. Рассмотрим основные процедуры функционального модуля, обеспечивающие динамическую связь базы с картой. Функциональный модуль Динамическая связь базы с картой реализована на основе нескольких программных процедур, соответствующих событиям, возникающим в системе при определенных действиях пользователя. Примером такого действия может быть выбор пользователем какого-либо территориального объекта в таблице с данными. При этом выбранный объект получает соответствующую окраску и отображается в окне карты. Если до этого уже были выбраны какие-либо объекты и пользователь добавляет объект в выборку, то вся группа выбранных объектов на карте подкрашивается соответствующим образом. Карта центрируется по последнему выбранному объекту. На программном уровне этот механизм реализован следующим образом. После выделения пользователем географического объекта в таблице с данными объект “Таблица” генерирует событие “AfterClick”, результатом обработки которого является передача управления соответствующей процедуре в функциональном модуле. Процедура анализирует параметры, передаваемые при вызове, и выполняет последовательность команд, целью которых является поиск, центровка, масштабирование и отображение соответствующего территориального объекта на карте. В качестве параметра передается массив, содержащий идентификаторы выделенных территориальных объектов. Приведем код процедуры с пояснениями. 'База->Карта 'определяем переменные Set Map = Page.Map 'определяем кол-во объектов в массиве 'если выбран один объект, очищаем предыдущую выборку z = Map.Zoom 'определяем слой, соответствующий выбранному объекту Set Layer = Map.Layers(lname) 'ищем объект на слое 'если объект обнаружен, добавляем его в селекцию 'центрируем объект 'масштабируем карту в соответствии со свойствами слоя End Sub В случае, когда пользователю удобнее идти от карты к базе (навигация по карте), срабатывает механизм обратного взаимодействия. В распоряжении пользователя имеется несколько инструментов работы с картой, в число которых входят инструменты изменения масштаба, а также инструмент выбора географического объекта. При использовании последнего выбранный объект с соответствующей строкой данных немедленно отображается в таблице. Возможен также выбор группы объектов. Таким образом, пользователь имеет возможность визуально отобрать несколько территориальных объектов и продолжить работу с ними в окне базы данных. Рассмотрим программный код процедуры взаимодействия Карта -> База. 'Карта->База 'определяем переменные Set Tbl = Page.Table1 lc = Ubound(index) 'формируем команду Express для выбора территориальных объектов for i = 1 to lc lmt = Left(lmt, Len(lmt)-1) 'выполняем команду для объекта “Таблица” Повышение уровня визуализации полученных данных достигается путем использования методов тематического картографирования. Данные, имеющие картографическую привязку, могут быть представлены на карте в виде круговых и столбчатых диаграмм, картографические объекты могут иметь соответствующую окраску (картодиаграмма). После получения требуемой выборки данных пользователь может выбрать один из методов тематического картографирования и получить визуальное представление данных. При реализации этого механизма на программном уровне автор столкнулся с проблемой, которую не удалось преодолеть стандартными методами языка Express Basic, а именно, невозможностью передачи данных из таблицы напрямую в множество данных (Dataset) слоя карты. Поэтому пришлось прибегнуть к технической “хитрости”, незаметной для глаз пользователя, однако требующей несколько, на первый взгляд, лишних строчек кода и небольшого дополнительного пространства на жестком диске. Идея заключается в создании дополнительного слоя, используемого только для хранения данных. Рассмотрим код процедуры. 'Тематическое картографирование Set Tbl = Page.Table1 lc = Ubound(index) 'определяем объект DataSet Set flds = ds.fields NumCols = Tbl.TotalCols 'подготавливаем массив для хранения данных, полученных из таблицы 'загружаем данные из таблицы в массив 'выбираем все объекты слоя с данными 'открываем доступ к слою с данными 'записываем данные из массива в слой 'закрываем слой 'определяем тип диаграммы Map.Layers.ClearSelection 'определяем объект Theme 'определяем название измерения set sel = Tbl.GetSelection(dname) 'определяем значения измерения для отображения в легенде 'создаем легенду End Sub Рассмотренные процедуры являются основным содержанием функционального модуля. На основе их удается реализовать основные идеи интеграции технологий GIS и OLAP в рамках единого программного комплекса. Дополнительные средства клиентского приложения, обеспечивающие “дружественность” пользовательского интерфейса и расширяющие его функциональные возможности реализуются на основе методов визуального программирования в среде Express Objects и, по мнению автора, не заслуживают детального рассмотрения. ЗаключениеРассмотренный программный комплекс является прототипом информационной аналитической системы для решения управленческих задач в сфере образования РФ. Круг задач, решаемых с использованием потенциала рассмотренной системы довольно широк, и он, безусловно, не ограничивается рамками системы образования. Принципы построения аналитических систем, положенные в основу создания данного комплекса, являются общими для создания систем такого рода. Грамотное применение этих принципов во всех отраслях, где требуется комплексный анализ статистических данных, по мнению автора, ведет к повышению эффективности принятия управленческих решений в рамках отрасли. Внедрение современных информационных технологий в различные сферы жизнедеятельности общества открывает новые возможности использования статистической информации и стимулирует прогрессивное развитие информатизации общества в целом. Литература
© 2001 Interface Ltd |