Поддержка темпоральности в ГИС автомобильных дорог ІпСогРоаС
Скачкова А.С., ведущий разработчик ООО «ИндорСофт» (г. Томск)
Субботин С.А., начальник отдела ГИС автомобильных дорог ООО «ИндорСофт» (г. Томск)
Скворцов А.В., д.т.н., профессор, ген. директор ООО «ИндорСофт» (г. Томск)
Приводится определение темпоральности и битемпоральности. Рассматриваются возможности, которые сможет предоставить ГИС автомобильных дорог при поддержке темпоральности. Обозначается круг задач, решать которые стало возможным благодаря поддержке темпоральности в ГИС IndorRoad.
Введение
Процесс информатизации дорожной отрасли продолжает набирать обороты. Информационные системы давно стали реальностью и постепенно вымещают бумажные варианты паспортов. Совместное использование ГИС и САПР автомобильных дорог позволяет увеличить эффективность решения задач, возникающих в течение всего жизненного цикла автомобильных дорог [1]. Однако на данный момент большинство информационных систем использует далеко не весь свой потенциал, предоставляя возможность хранить в базе данных лишь текущее состояние автомобильной дороги. При этом уже появилась необходимость полноценной работы и с другими временными срезами, что позволило бы обеспечить доступ к архивным данным, отслеживать происходящие с автомобильной дорогой изменения, управлять проектами. Кроме того, есть потенциал и для повышения удобства наполнения баз данных: возможность восстановления случайно затёртых или удалённых данных и контроля за вводом данных с поиском ответственных за внесённые изменения.
Темпоральность
Все эти вопросы так или иначе связаны с так называемой темпоральностью [2]. В очень широком смысле темпоральные данные — это данные, которые связаны с определёнными датами или интервалами времени. Поддержка темпораль-ности информационной системой предполагает возможность работы с временны ми данными: возможность указывать для объектов связь с временем, их изменения и просматривать временные срезы данных.
Различные виды атрибутов [3], содержащих информацию о времени, представлены в таблице 1 и проиллюстрированы на рисунке 1.
Действительное время
При работе с ГИС автомобильных дорог можно поставить перед системой следующие вопросы:
■ Когда была установлена автобусная остановка?
■ Была ли в прошлом году автобусная остановка на заданном километре?
■ Какие изменения произошли на участке дороги?
Информационная система сможет ответить на эти вопросы, если будет поддерживать темпо-ральность по действительному времени, т.е. хранить время, когда объект изменился в реальном мире [4].
Какие же новые возможности сможет предоставить нам такая информационная система? В первую очередь это хранение в одном месте истории всего жизненного цикла автомобильной дороги, включая хранение архивных данных. При поддержке системой темпоральности отпадает необходимость обращения к архивным базам данных или же бумажному архиву. Кроме того, появляется возможность анализа изменений, происходивших с отдельными объектами, их группами или же всей дорогой.
Нелинейность действительного времени
Несколько сложнее обстоит дело с хранением информации о будущем, ведь зачастую существуют альтернативные версии развития ситуации. Зачем нам может понадобиться информация о будущем? В случае ГИС или
Таблица 1. Виды атрибутов, содержащих информацию о времени
Вид Определение Атрибут Пример
Временная отметка Точка времени на соответствующей временной оси Дата оценки состояния дорожного объекта 01.02.2014
Интервал времени Время между двумя временными отметками Время проведения работ с 01.02.2014 по 01.04.2014
Список интервалов Конечное множество интервалов времени Периоды функционирования паромных переправ с 15.05.2012 по 15.12.2012 и с 25.05.2013 по 25.11.2013
список интервалов
I
■Ф
■<*>
временная отметка Рис. 1. Виды атрибутов, содержащих информацию о времени
■4——
интервал времени
время
САПР автомобильных дорог речь может идти о различных вариантах проектов. Изменения, которые планируется реализовать в рамках проекта, могут храниться независимо, но в той же базе данных, что позволит с одной стороны управлять реализацией проекта, а с другой стороны — продолжать вести историю актуального состояния автомобильной дороги. При этом можно проводить многовариантное проектирование и сравнивать различные версии проектов друг с другом. По завершении проекта после небольшой его корректировки по результатам исполнительной съёмки можно применить изменения к текущему состоянию автомобильной дороги (рис. 2). Сам проект и его альтернативные версии продолжат храниться в базе данных, и к ним всегда можно будет вернуться, чтобы сравнить с результатом или же просто просмотреть.
Транзакционное время
Информация об изменениях, произошедших с объектом, когда речь идёт об автомобильной дороге, может попадать в базу данных не сразу. Иногда информация вносится не в полном объёме, а иногда вносятся ошибочные данные, и в таком случае информация в базе данных будет изменяться, хотя в реальности с объектом изменений
не происходило. Такая ситуация приводит к появлению новых вопросов, например:
■ Когда информация об автобусной остановке была внесена в базу данных?
■ Какая информация об автобусной остановке была в базе данных в прошлом году?
■ Какие изменения были внесены в информацию об автобусной остановке с прошлого года?
На эти вопросы информационная система может ответить, если поддерживает темпоральность по транзакционному времени, т.е. хранит время изменения данных [4]. Чем же полезно хранение таких данных в ГИС?
Одна из главных задач, возникающая на практике при вводе данных — это восстановление случайно удалённых объектов. В случае непреднамеренного удаления данных поможет архив изменений, который хранит информационная система, поддерживающая транзакционную темпоральность. Из этого архива можно восстановить удалённые объекты. Кроме того, в том же архиве хранятся и все предыдущие версии объектов, что позволит восстановить данные не только в случае удаления, но и в случае замещения корректной информации некорректной.
Чтобы уменьшить вероятность ошибок при изменении текущего состояния, транзакционная темпораль-ность позволяет обеспечить независимый ввод данных операторами. При просмотре текущего состояния эти данные будут отображаться не сразу, а только после процедуры применения изменений, которая предоставляет возможность дополнительного контроля корректности модифицированных данных.
В архиве, кроме версий объектов, можно хранить информацию о том, кем и когда были сделаны изменения, что в случае необходимости позволит выяснить, кто ввёл некорректные данные, кто принял эти изменения, и когда это произошло. Из этих же данных можно собрать различную статистику по действиям операторов ввода.
Битемпоральность
Для большинства объектов полезно хранить связи как с действительным, так и с транзакционным временем. Поддержка двух временных осей называется битемпоральностью [4]. Рассмотрим на примере, что может происходить с объектом и информацией, хранящейся о нём в базе данных. В 2012 году при заполнении базы данных была внесена информация об откосе земляного полотна, для него была указана дата создания объекта —
Таблица 2. Информация об объекте в системе, поддерживающей битемпоральность
Объект Ширина Действительное время Транзакционное время
с по с по
Откос земляного полотна, М-0 «Демо», км 336+825,40 3,28 01.03.2010 По настоящее время 01.03.2012 01.03.2014
3,28 01.03.2010 02.02.2014 01.03.2014 По настоящее время
5,00 02.02.2014 По настоящее время 01.03.2014 05.03.2014
4,96 02.02.2014 По настоящее время 05.03.2014 По настоящее время
01.03.2010 и ширина — 3,28 м. В марте 2014 года вносились изменения, произошедшие в феврале, но сначала была внесена неточная информация о ширине — 5 м, которая затем была исправлена на 4,96 м. В случае поддержки битемпоральности всю информацию об объекте, хранящуюся в базе данных, можно представить в виде таблицы 2.
Реализация в коммерческих системах
На данный момент многие коммерческие системы в той или иной степени поддерживают темпоральность. На уровне СУБД поддержка транзакционной темпоральности появилась в новой версии Microsoft SQL Server 2012 (Microsoft, США). Oracle (Oracle, США)
уже несколько лет обеспечивает полноценную поддержку битемпорально-сти с помощью дополнения Workspace Manager. Появилось расширение, добавляющее поддержку темпорально-сти в PostgreSOL (The PostgreSOL Global Development Group). Есть даже СУБД, которые изначально создавались с поддержкой темпоральности, например TimeDB (Steiner A., Швейцария).
Из геоинформационных систем, полноценно поддерживающих тем-поральность, особо стоит выделить ArcGIS (ESRI, США). База геоданных ArcGIS поддерживает многопользовательское редактирование данных путём создания версий. Дополнительный модуль системы Tracking Analyst предоставляет обширный функционал для работы с темпоральными данны-
ми, уделяя особое внимание обработке данных в реальном времени.
Реализация темпоральности в ГИС І^огКоаЬ
Компания «ИндорСофт» в 2014 году выпустила новую, 9-ю версию ГИС IndorRoad [5], в которой введена полноценная поддержка битемпоральности. В модель дорожных данных были внесены изменения [6], необходимые для хранения интервалов актуальности по действительному и транзакционному времени, что позволило решать важные и полезные задачи:
■ Хранение и просмотр архива. Просматривать данные из прошлого можно, просто переключив текущую дату в настройках программы. При
Рис. 3. Сравнение атрибутивных данных объекта в системе IndorRoad 9
Рис. 4. Просмотр участка автомобильной дороги на карте в системе ІпбогНоаб 9: а) до изменений, б) после изменений, в) в режиме сравнения изменений
этом доступен весь функционал ГИС: поиск объектов, просмотр видеорядов, актуальных на выбранную дату, формирование различных ведомостей и отчётов, построение картограмм и т.д.
■ Сравнение различных временнЫх срезов. Просматривать изменения можно как в карточках объектов (рис. 3), так и на карте (рис. 4).
■ Многовариантное проектирование. Программа позволяет работать с альтернативными версиями проектов, которые можно сравнивать друг с другом и с текущим состоянием.
■ Восстановление удалённых и испорченных данных. Архив изменений, который хранит программа, позволяет в случае необходимости вернуть нужную информацию.
■ Просмотр журнала операций. Журнал операций позволяет отследить, кто и когда вносил изменения.
Заключение
В изменчивом современном мире недостаточно работы лишь с текущим состоянием, требуется оценка состояния автомобильной дороги в динамике. Отслеживание и анализ происходящих изменений становятся приоритетными направлениями по развитию ГИС. Реализация битемпоральности в ГИС IndorRoad 9 позволяет вывести решение задач по управлению жизненным циклом автомобильных дорог на новый уровень [7]. Благодаря этому нововведению от-
крываются перспективы по анализу изменений, происходящих на дороге, и упрощается процесс наполнения базы данных. а
Литература:
1. Бойков В.Н. САПР АД — перспективы развития // САПР и ГИС автомобильных дорог. 2013. №1(1). С. 6-9.
2. Костенко Б.Б., Кузнецов С.Д История и актуальные проблемы темпоральных баз данных // Труды института системного программирования РАН. 2007. Т. 13. №2.
С. 77-114.
3. Jensen C.S., Dyreson C.E. (Eds). The consensus glossary of temporal database concepts // Temporal Databases: Research and Practice. Springer Verlag. 1998. 367-405.
4. Jensen C.S., Snodgrass R.T. Temporal Data Management // IEEE Transactions on Knowledge and Data Engineering. 1999. January/February. №11(1). 36-44.
5. Петренко Д.А. Новое поколение программных продуктов ИндорСофт // САПР и ГИС автомобильных дорог. 2013. №1(1). С. 10-17.
6. Скворцов А.В. Адресный план автомобильной дороги // САПР и ГИС автомобильных дорог. 2013. № 1(1). С. 47-54.
7. Субботин С.А., Скачкова А.С. ГИС автомобильных дорог IndorRoad. Новая версия // САПР и ГИС автомобильных дорог. 2013. №1(1). С. 55-59.