Научная статья на тему 'Технология создания автоматизиро ванных рабочих мест с возможностью обработки пространственных данных на основе метаописаний структур баз данных'

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

CC BY
112
23
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бычков Игорь Владимирович, Фереферов Евгений Сергеевич, Хмельнов Алексей Евгеньевич

В статье рассматривается подход, позволяющий связывать существующие базы данных с геоинформационными системами, В основе подхода лежит разработанная в ИДСТУ СО РАН технология метаописания БД.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бычков Игорь Владимирович, Фереферов Евгений Сергеевич, Хмельнов Алексей Евгеньевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Технология создания автоматизиро ванных рабочих мест с возможностью обработки пространственных данных на основе метаописаний структур баз данных»

вычислительными системами из области физики атмосферы,

Заключение

Трудно представить организацию коллективной работы без существования сети Интернет и, следовательно, без использования Интернет-технологий. Заметим, что для выбора такого пути развития существуют серьезные экономические и технические факторы. Дело в том, что скорость технологических изменений такова, что производительность устройств удваивается, а цена падает в два раза каждые девять месяцев для сетевых устройств, каждые 12 для устройств хранения данных и каждые 18 для процессоров, Экономически выгодным становится вкладывать деньги в технологии, использующие сетевые устройства. Появление фундаментальных стандартов платформы XML (RDF, RDFS, OWL, SOAP, WSDL и т.д.) а также подходов Semantic Web и GRID создало возможность использования семантических особенностей информационных ресурсов и перехода к глобальной компьютерной обработке типовых информационных ресурсов, Именно на этом пути стоит ожидать очередного прорыва в интеграции усилий исследователей окружающей среды,

Библиографический список

1. Фазлиев А.З. Информационные ресурсы и Интернет-технологии для наук об окружающей среде. II Тр, Международной конференции Вычислительно-информационные технологии для наук об окружающей среде «CITES 2003» / ред.

проф, Е.П, Гордов,-Новосибирск: ИВТ СО РАН, 2004,-4,1,-С, 11-21,

2, Berners-Lee Т., Brickley D„ Connolly D„ Weifzner D, in coilboration with Karger D. and Stein/Oiin L, The Semantic Web, (http://www.w3, org/2002Aalks/09-!cs-sweb-tbl/slidel-0.html)

3, Herman I. Introduction to the Semantic Web. (http://www,w3.org/2003/Tal!<s/l 112-BeijingSW-IH)

4, De Roure D„ Jennings N., Shadbolt N. A Future e-Science Infrastructure, Report commissioned for EPSRC/'DTI Core e-Science Programme, 2001. 78 p,

5, Гордов Е,П„ Фазлиев А.З. Научные информационные ресурсы для помержки исследований об атмосфере в сети Интернет, Вычислительные технологии ,-сп, вып, - 2004, - Т.9, ч, I, - С, 123-136,

6, Дмитриев 5.Н., Суторихин И,А, Базы данных для ТИС «Аэрозоли Сибири». II Тр, Международной конференции «ENVIRONMIS-2002» / Ред, проф, Е.П. Гордов. - Томск: Издательство ГУ «Томский ЦНТИ», 2002,-Т,1,-С, 70-77.

7, Гордов Е,П„ A,D,De,Rudder, В.Н, /шосов, Фазлиев А.З., К, Feara Веб-портал АТМОС как основа для выполнения интегрированных исследований по окружающей среде Сибири II Тр. Международной конференции Вычислительно-информационные технологии д\я наук об окружающей среде «CITES 2003» / ред, проф, Е.П, Гордов,-Новосибирск, ИВТ СО РАН, 2004,-4,2,-С, 3-13,

8, Молородов Ю.И., Куценогий К.П, Атлас по атмосферным аэрозолям Сибири как основа обеспечения мониторинга Сибирского региона // Сб, научных трудов,- Т.5 «Мониторинг окружающей среды, геоэкология, дистанционные методы зондирования земли», ГОУ ВПО «Сибирская государственная геодезическая академия»,-2005,-С. 142-146.

И.В.Бычков, Е.С.Фереферов, А,Е.Хмельное

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

Как правило, информационно-аналитическая среда организаций и предприятий представляет из себя набор автоматизированных рабочих мест (АРМов), реализованные в разных системах программирования и ориентированы под разные СУБД. Базы данных (БД) этих АРМов могут содержать информацию об объектах, имеющих пространственную привязку (почтовые адреса, описание расположения объектов и т.д.), которая в явном виде не хранится в БД, В этом случае для учёта пространственной информации об объектах необходимо расширить функциональные возможности АРМов за счет интеграции с геоинформационными системами (ГИС), что позволит привлечь современные геоинформационные технологии для решения специализированных задач, В результате, применение ГИС повысит производительность, уровень автоматизации и

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

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

Одним из подходов к решению рассматриваемой задачи - это разработка приложений на базе популярных ГИС, таких как АгсМеу/ [1] или Мар1пк) [2]. В этих системах предусмотрена работа с таблицами БД наряду с семантическими таблицами, связанными со слоями карт, существуют возможности построения

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

В качестве возможной альтернативы, рассмотрим ГИС «Карта-2000» версии 7.01 [3]. 8 данную ГИС встроена система управления пользовательской БД -«Проект БД». Эта система предназначена для работы с данными, хранящимися во внешних БД. Она позволяет описывать совокупность отдельных таблиц данных, способов их отображения и редактирования. Однако, в «Проект БД» для построения пользовательских запросов требуется знание встроенного в систему языка построения запросов (на уровне оператора SELECT языка SQL). 8 результате, полученные тексты запросов можно использовать только при построении интерфейса системы (пользовательских форм). При создании форм пользователь практически производит визуальное программирование, аналогичное настройке взаимодействия программ с БД в Delphi или С++ Builder. Весь механизм создания таких форм копирует соответствующий механизм Delphi, а стандартные формы, создаваемые системой автоматически, не поддерживают функцию отображения информации из справочников (работу с LookUp-полями) и, поэтому, никак не экономит усилия разработчика и требует достаточно высокой квалификации пользователя сравнимой с уровнем профессионального программиста.

Учитывая вышесказанное можно сделать вывод, что существующие возможности коммерческих ГИС не обеспечивают автоматизацию интеграции с уже созданными АРМами использующими БД.

Постановка задачи. Для решения задачи привязки к карте данных, хранящихся в БД функционирующих на предприятии АРМов, было предложено разработать систему, которая интегрировала бы в существующие АРМы функциональные возможности ГИС. Требования к функциональным возможностям разрабатываемой системы можно сформулировать следующим образом:

• формирование и отображение электронной картм местности;

• поиск объектов на карте (адрес на плане города, пром.площадки, лесозаготовительные базы и т.д.);

• просмотр и редактирование содержимого БД;

• связь БД с электронной картой;

• выполнение пользовательских запросов с возможностью отображения результатов на электронной топооснове;

• ведение тематических слоев на карте местности с привязкой к БД;

• автоматизация администрирования описаний БД и электронных карт.

Создать такую систему было предложено на основе оригинальной технологии обработки метаданных, Разработка этой технологии базируется на принципах апробированных в ИДСТУ СО РАН при создании информационно-аналитических систем (ИАС) на основе клиент-серверных технологий, с использованием ГИС в концепции интернет/интранет систем, предназначенных для публикации картографической информации (геоданных) из БД без возможности её модифицирования на «клиенте» [4]. Для создания ИАС был разработан модуль для публикации геоданных из БД, настраиваемый на работу с конкретной БД при помощи метаопи-саний её структуры и шаблонов пользовательских форм (страниц), также был реализован настраиваемый модуль редактирования геоданных в БД [5]. Разработка этого модуля позволила перейти к созданию системы ГеоАРМ, которая обеспечивает взаимодействие с наиболее распространенными СУБД, и содержит полнофункциональные средства работы с геоданными. При этом созданная система ГеоАРМ поддерживает в существующих АРМах функции поиска, просмотра, и редактирования информации из существующих БД, обеспечивая при этом возможности отображения этой информации на карте.

Разработанная система ГеоАРМ включает в себя картографическую подсистему, реализованную при помощи пакета GIS ToolKií [6] из ГИС Панораме, с использованием карты г. Иркутска в масштабе 1:2000, Для поиска на карте объектов в соответствии с почтовыми адресами в системе реализована так называемая функция «адресный план города». Окно отображения карты содержит поля ввода для выбора имеющихся на карте домов по наименованию улицы и номеру дома.

Система взаимодействует с БД, используя файлы описаний структуры БД, которые являются текстовыми INI-файлами и могут быть созданы и изменены в любом текстовом редакторе. В систему включены формы, позволяющие создавать и редактировать основные элементы файлов описаний интерактивно. В готовый файл описания структуры БД, для повышения уровня безопасности функционирования АРМа, может быть записан признак завершённости, после считывания которого все административные функции в системе блокируются.

Система ГеоАРМ состоит из двух основных подсистем: настраиваемого АРМа и картографического модуля.

Настраиваемый АРМ. Настраиваемый АРМ включает модуль просмотра и редактирования содержимого базы данных. Система ГеоАРМ может быть настроена без перекомпиляции на работу с любыми БД, доступ к которым обеспечивается на основе BDE (Borland Database Engine), при условии, что эти БД имеют следующую структуру: в качестве первичных ключей основных таблиц должны использоваться целочисленные поля, а связи между таблицами должны определяться как список соответствий между отдельными полями таблиц. Для таких БД может быть организована работа системы ГеоАРМ непосредственно с той же базой, с которой, работают уже внедренные АРМы. Если же структура существующей БД препятствует её непосредственному использованию в системе, то может быть использовано периодическое преобразование такой БД с учетом вышеперечисленных требований.

В основе настраиваемого АРМа лежит разработанная в ИДСТУ СО РАН технология метаописаний БД, которая позволяет единообразно решать различные задачи обработки данных с использованием описаний структуры БД.

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

Под связью или ссылкой из таблицы А в таблицу В понимается наличие в одном или нескольких полях таблицы А уникального для таблицы В набора значений одного или нескольких её полей. При этом говорят о наличии внешнего ключа [7], в таблице А. Заметим, что для ?:го, чтобы определить связь в описании, не обязательно существование соответствующего внешнего ключа (FOREIGN KEY) в БД. Таблицу А будем называть исходной таблицей связи, а таблицу В - целевой. Поля, по которым устанавливается связь из исходной таблицы, будем называть ссылочными полями. Поля целевой таблицы, по которым устанавливается связь, должны удовлетворять свойству уникальности, т.е. в целевой таблице не должно существовать двух записей, содер-

жащих одинаковый набор значений в этих полях. Поэтому, в общем случае, связь устанавливается по полям, входящим в первичный ключ целевой таблицы. При наличии ссылки каждой записи исходной таблицы сопоставляется не более одной записи целевой таблицы. В отличие от ограничений FOREIGN KEY, допускается наличие 8 полях исходной таблицы значений, которым не сопоставляется запись целевой таблице. Данная возможность позволяет работать и в тех случаях, когда, например, в зависимости от значения поля Т.А, содержащего информацию о типе ссылки, значение поля Т.В интерпретируется как код из соответствующей типу ссылки таблицы (рис. 1),

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

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

Метаописание БД строится, начиная с одной базовой таблицы, при этом в него могут быть включены поля других таблиц, связанных с базовой (может быть через несколько уровней ссылок). Описание представления содержит следующую информацию: на какой таблице основано данное представление, и какие поля этой таблицы и таблиц, связанных с ней, включаются в это представление. Таким образом, можно считать, что представления в описании БД отличаются от обычных представлений (VIEW), тем, что их структура ограничена определённым видом, предназначенным для декодирования значений кодовых полей через справочники.

После создания описания структуры БД можно получить доступ к табличным формам для просмотра и редактирования содержимого таблиц и представлений БД (рис. 2). При редактировании представления в табличной форме значения полей, получаемых из справочников, становятся LookUp-полями, т.е. позволяют изменять значения поля базовой таблицы с кодом-ссылкой на справочник посредством выбора из выпадающего списка соответствующего ему в справочнике значения (например, поле «Район» на рис, 2).

_|__!_У/,."-.... ■!-....:

Микрорайон

байкальская Б зйкальская Байкальская Байкальская Б айкальская Байкальская Байкальская Байкальская Байкальская

Октябрьский : Октябрьский О ктябрьский Октябрьский Октябрьский

658 г. Иркутск 653 г Иркутск 869 г. Иркутск 861 г. Иркутск 662 г. Иркутск 863 г. Иркутск

664 г; Иркутск

665 г. Иркутск

666 г. Иркутск

^-гт-.- -г-г. ?.г„ -.-----— .--г,

Рис. 2. Редактирование представления в табличной форме

Кроме того, описанные таблицы и представления можно отобразить и редактировать в виде формы (рис. 3), при этом поля, включённые в представление из справочников, также отображаются как Ьокир-поля, если они получены по ссылке непосредственно из базовой таблицы. Форма для редактирования таблицы или представления генерируется автоматически в соответствии с описанием. Поля, получаемые по общей ссылке, автоматически объединяются в группы (см., например, поля «Тип ул.» и «Улица» на рис. 3), каждой ссылке соответствует кнопка перехода к форме для редактирования записи, на которую указывает ссылка.

Построитель запросов, В системе ГеоАРМ реализована возможность формирования пользовательских запросов. Пользователь может самостоятельно сформулировать условие запроса для отбора записей при

просмотре таблицы или представления в табличной форме.

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

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

и> 1<«6лиц<1 *'.1> ЛОВ ьлтлсШ^^^^Щ

тщЩШшёШШЩ

• Яг:

'ШмЩШШЖжШё

ГЦНКТ_

] Г. Мрклп-ск

ШШМж

м-'

Рис. 3. Редактирование записи представления в виде формы

Построение запросе * v(íatM6

Явив

¡Волжская

ФИО владельца начинается с Vísanos'

Улица ехосиг в Ъайкальекая'.'Волжск.аз'

р Адрес ьлаиельиа содержит "Байкальская'

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

В окне построителя запроса логическое выражение для условия запроса представлено в виде дерева разбора с корнем, расположенным слева (рис 4.). Выражение представляет собой набор операций сравнения связанных между собой логическими связками «и», «или» или их отрицаниями. Под отрицанием логической связки понимается отрицание результата вы-

числения со связкой без отрицания. Например, "не и"(А,В) означает не(А и В). Операции сравнения задают условия на отдельные поля таблицы или представления.

Чем выше в дереве разбора находится логическая операция, тем позже она применяется, т.е. сначала вычисляются значения для находящихся под некоторым узлом дерева поддеревьев, а затем к результатам вычислений применяется операция, стоящая в данном узле. Так например для дерева, представленного выше (рис. 4) сначала вычисляются условия на поле «Адрес владельца», затем к результатам применяется логическая операция «или», затем вычисляется условие на поле «Улица», к результатам применяется логическая операция «или» и, наконец, вычисляется условие на поле «ФИО владельца» и к результатам применяется операция «и». В результате вычисляется выражение:

al Адресныйплан

Рис 4. Окно построителя запросов

IIII

Файл 8мд Сервис Объект ;1 ¡ЛЕРМОНТОВА

^ О, ^ Ы & ^ - -

^isjxj j

3 Найти адрес ;

1 : 2000 I 16870,83 ;30876,67

Рис. 5. Пример окна карты с найденным зданием по адресу ул.Лермонтова, д.134

MAP LNK

KIND Код таблицы в БД

ID Указатель на ключевое поле таблицы с данными из тематической БД (таблица определяется значением поля KIND)

ID L Номер слоя карты

ID OBJ Уникальный номер объекта на карте в слое ID L

Рис. 6. Структура таблицы привязки объектов к карте

(ФИО владельца начинается с 'Иванов') и

(Улица входит в 'Байкальская','Волжская' или(Адрес владельца содержит 'байкальская' или Адрес владельца содержит 'Волжская'))

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

Картографический модуль. Данный модуль позволяет просматривать картографическую информацию, находить на карте объекты и адреса, информация о которых содержится в БД и, наоборот, находить в БД информацию, связанную с объектом карты, (рис. 5). Также в модуле реализованы стандартные механизмы просмотра карты, такие, как загрузка карты, масштабирование, перетаскивание карты, нанесение, удаление объекта, получение информации об объекте.

Привязка БД к карте может быть осуществлена двумя способами: через геокодирование, т.е. по полям содержащим адреса домов или привязкой к произвольным объектам карты через таблицу связей. Для первого способа при описании структуры БД должны быть указаны поля таблиц, в которых содержатся почтовые адреса. При наличии такой информации на форме для редактирования таблицы отображается кнопка «Адрес на карте» (рис. 2), после нажатия на которую выполняется поиск адреса. При этом открывается окно карты, улица и номер дома заносятся в поля панели поиска адреса, и, если такой адрес имеется на карте, то в окне выделяется соответствующее здание (рис. 5). Для использования второго способа в БД должна быть создана специальная таблица привязки объектов к карте МАР_1Ж (одна на всю базу), позволяющая связать любой объект карты с данными из БД (рис. 6).

Отметим, что создание такой таблицы является единственным необходимым изменением структуры исходной БД.

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

классификатор должен быть создан или изменён средствами ГИС Панорама.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Заключение. Созданная система ГеоАРМ позволяет организовывать работу с картой для баз данных, в которых изначально эта возможность не была предусмотрена. Настройка системы для работы с конкретной БД может быть выполнена специалистами предметной области в достаточно сжатые сроки. После настройки системы, ГеоАРМ становится альтернативой уже существующего АРМа и в случае простых АРМов может их полностью заменить.

В настоящее время система ГеоАРМ проходит опытную эксплуатацию в администрации г. Иркутска. Была проведена настройка системы для работы с БД «Учет гаражей на территории г. Иркутска» и «Учет рекламных конструкций на территории г. Иркутска».

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

Библиографический список

1. http://esn.com GIS and Mapping Software.

2. http://mapinfo.com Mapinfo Corporation

3. http://www.gisinfo.ru ГИС Панорама.

4. Ружников Г.М., Моисеев А.Н., Оглоблин В,А., Бычков И.В,, Кухаренко ЕЛ, Хмельное А.Е. Геоинформационная система органов государственной власти Иркутской области, / Информационный бюллетень, №2(29)-3(30) 2001. С.ЗО.

5. Хмельнов А,Е„ Фереферов Е.С. ГеоАРМ - Настраиваемое автоматизированное рабочее место с помержкой работы с пространственной информацией / Труды X Байкальской Всероссийской конференции «Информационные и математические технологии в науке, технике и образовании». -2005, - Ч. II. - С. 154.

6. Присяжнюк С.П., Железняков А,В, Опыт применения инструментария GIS ToolKit в отечественных разработках, / ИНФОРМАЦИОННЫЙ БЮЛЛЕТЕНЬ, ГИС Ассоциация, № 3(30) 2001. http://Mvw.gisinfo,ru/item/8,htm

7. К.ДжДейт. Введение в системы баз данных. - М.: Диалектика, 1998.

i Надоели баннеры? Вы всегда можете отключить рекламу.