Информационные технологии 332 Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 5 (2), с. 332-339
УДК 004.42
МНОГОФУНКЦИОНАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ОБРАБОТКИ ПРОСТРАНСТВЕННО РАСПРЕДЕЛЕННЫХ ДАННЫХ НА МОБИЛЬНЫХ УСТРОЙСТВАХ
© 2012 г. А.А. Егоров
НИИ прикладной математики и кибернетики Нижегородского госуниверситета им. Н.И. Лобачевского
Поступила в редакцию 10.09.2012
Описывается структура многофункционального ПО для карманных компьютеров (КПК), позволяющего решать широкий класс задач обработки пространственно распределенных данных (ПРД). Реализованная структура позволяет использовать созданное ПО в различных предметных областях, а эффективные модели и методы обработки ПРД, положенные в его основу, позволяют существенно повысить скорость обработки ПРД на КПК.
Ключевые слова: малые платформы, большеформатные изображения, геоинформационная система, обработка пространственно распределенных данных.
Введение
В настоящее время остается актуальной проблема продуктивного использования пространственной информации о ключевых объектах производственной и коммунальной сфер деятельности. Электронный документ ПРД - это цифровые топографические и морские навигационные карты, поэтажные планы зданий и сооружений, тематические карты по геологии, землевладению, экологии, хозяйственной инфраструктуре и пр., а также связанные с ними базы данных, результаты полевых исследований и измерений, материалы космической и аэрофотографической съемки. Для решения этой проблемы используют географические информационные системы (ГИС), которые прочно вошли в список обязательных инструментов профессионалов различных направлений: геологов, геофизиков, инженеров-нефтяников, инженеров по обслуживанию объектов и различных коммуникаций, землемеров, юристов, экологов, спасателей, управленцев.
Еще достаточно недавно ряд компьютерной техники, доступной рядовому пользователю, представлял собой PC-совместимые настольные компьютеры. Соответственно все программное обеспечение, в частности ГИС, создавалось в основном для этих компьютеров. В настоящее время рынок компьютерной техники становится все более дифференцированным и достаточно большой его составляющей являются так назы-
ваемые «портативные» компьютеры (КПК, смартфоны, мобильные телефоны, коммуникаторы и т.д.). Появление таких устройств значительно расширяет круг пользователей компьютерной техники и ее области применения.
Однако в настоящее время существующее ПО имеет очень узкую специализацию. В статье представлено описание созданного универсального ПО обработки ПРД, работающего на КПК и реализующего универсальный поиск, навигацию, прокладку маршрутов, вставку файлов из других пакетов (картинки, видео) и др.
Структура созданного ПО для КПК
Структура универсального ПО обработки ПРД для КПК представлена на рис. 1. Данную структуру можно поделить на четыре ключевые составляющие, а именно:
- хранение, быстрый поиск и отображение большеформатных графических файлов (BIG) -растровая основа;
- хранение и быстрый поиск ПРД по местоположению, коду и характеристикам -векторная основа;
- работа в понятиях, а не в кодах - класс-сификатор предметной области;
- эффективное решение прикладных задач.
Дополнением к этим составляющим стало
неотъемлемое преимущество КПК - мобильность и GPS-навигация.
Разработанное ПО обеспечивает пользовате-
лю возможность просмотра полноцветных, по- видимый фрагмент относительно всего элек-лутоновых и индексированных растровых тронного документа в виде прямоугольника, в изображений и их тематических слоёв. пересечении вертикальной и горизонтальной
Многофункциональное ПО для обработки ПРД на КПК
Библиотека работы г форма«™ BlG
Мл/гулъ работы с оборудовавшем Модуль работы с коллекцией карт
Т Г
- ЭРЗ-
ПОЗУЩИОНИЙОБЕНПе
- ОЭМ/С-РЕЗ -слежегак
- поиск карты на текущее местопсчюжв ние
- поиск соседней карты
- поиск карты другого масштаба
а
- передала информации е/из удаленного центра с бора инф ормагши
- удаленное слежение и ко эрдиншр ование действий из цешра
Набор классов р ты с шкгегр аньныга фахлол
Вектор. Поиск
объектов по коду,
метрике, семантике
,■
Классификатор. Работа е .любой предметной области в потчтиях, а не в кодах
Набор классик
райотмс ¡кззицрутажк
Модуль рапоты с заэтегжаин
Решение задач на графах
Поиск маршрута по бездорожью
- ручная г^окпадка ■ мртодршшя
- ЛТ1ЖЙКК
- согдговождениг
- Текст
- Фото
- Перевод
- Отчет по шаблону
Рис. 1. Структура ПО для КПК
Реализация высокоэффективных методов адаптивного сжатия и статистического кодирования, иерархических структур представления сжатой информации в виде разностных бинарных деревьев существенных отсчетов позволили в десятки раз сократить объемы памяти, требуемой для хранения сжатых растровых изображений, и обеспечить быстрое отображение и навигацию по изображению на экране КПК [1-7].
Доступ к основным функциям приложения осуществляется из главного меню программы (рис. 2).
В зависимости от текущего режима (навигация по планшету или просмотр указанного фрагмента изображения) на рабочей области отображается планшет с указателем на текущий
линий (рис. 3), или определенный фрагмент документа в выбранном масштабе (рис. 4).
Рис. 2. Главное меню
Рис. 3. Окно навигации по планшету
Меню управления тематическими слоями (рис. 6) служит для отображения списка тематических слоев, отображения и скрытия каждого из слоев. Каждый тематический слой может находиться в одном из двух состояний - активный (слой отображается), отключенный (слой не отображается). Внешний вид индикаторов тематических слоев для различных состояний (сверху вниз - отключенный, активный) представлен на рис. 6.
Рис. 4. Окно отображения фрагмента документа
Пользователь может осуществлять навигацию по изображению следующими способами:
- указав стилусом на место, в которое нужно переместить центр отображаемого фрагмента документа;
- сдвигая видимую область планшета или фрагмента документа (зависит от текущего режима) по технологии Вга§&Огор;
Изменение интерполяционного масштаба отображения фрагментов электронного документа производится с помощью пунктов меню «Масштаб» (рис. 5).
Рис. 6. Меню тематических слоёв
Создание коллекции электронных документов и работа с ней призваны упростить поиск нужного документа среди их множества в памяти КПК. Индексный файл содержит список всех имеющихся в памяти КПК документов с информацией об их местоположении в памяти КПК, их географическим описанием (географические координаты углов рамки листа) и масштабом [8, 9].
С помощью созданного индексного файла пользователь может осуществлять поиск документов другого масштаба, на текущее местоположение или имеющих общие границы с текущим документом. Для этого в меню «Масштаб» (см. рис. 5) следует выбрать соответственно пункт «Другого масштаба», «На текущее местоположение» или «Соседние карты». После выбора требуемого пункта меню появится список найденных карт (рис. 7).
Рис. 5. Меню «Масштаб»
Для повышения удобства работы объекты электронного документа могут быть разнесены по нескольким тематическим слоям.
Рис. 7. Поиск электронной карты
При наличии ОРБ-приемника появляется возможность не только просматривать электронные документы, но и определять текущее местоположение, а также передавать свои координаты в оборудованный удаленный центр слежения в фоновом режиме.
Для использования GPS-приемника в BigViewer CE и определения текущего местоположения в меню настроек GPS необходимо указать номер сот-порта, через который ведется обмен данными с GPS-приемником, открыть электронный документ, покрывающий требуемую местность, и выбрать режим отображения текущего местоположения в меню GPS (рис. 8).
Пройденный путь
Позиционирование Обычный режим Текстовый вид
Рис. 8. Меню GPS
Существует несколько различных режимов отображения текущего местоположения:
- слежение - отображает определенное количество (выбранное в меню настроек) последних точек пройденного пути (трек) в виде красных крестиков (точки пути), соединенных синей прямой в порядке появления точек;
- позиционирование - отображается текущее местоположение (в виде красного крестика) и позиционируется в центр рабочей области (смещается отображаемая область электронного документа ПРД);
- обычный режим - в текущем местоположении на документе рисуется крестик. Найти его можно либо самостоятельным визуальным поиском по документу, либо кратковременно переключившись на режим позиционирования;
- привязка - служит для определения текущих географических координат, высоты, количества видимых и используемых спутников, растровых и географических координат центральной точки текущего фрагмента электронного документа.
Накопленную информацию (трек) можно сохранять в файл для дальнейшего использования в качестве намеченного пути.
Для создания пометок, различных дополнительных характеристик объектов, отчетов, прикрепления фотографий и переводов надписей на документе на другие языки в программе предусмотрены заметки. Заметки создаются непосредственно в программе, а хранятся и загружаются из файла. Каждую заметку можно редактировать и удалять. На документе заметки имеют привязку к растру, на котором они были созданы, и отображаются в виде небольших оранжевых квадратов с буквой «Т» внутри (рис. 9).
Классификатор предметной области служит для описания атрибутов объектов одного типа среди множества объектов ПРД. Классификатор
хранит текстовое описание каждого объекта предметной области, его код и связи с другими объектами. Для быстрого поиска объектов по классификатору в малых платформах был разработан специальный индексный файл, представляющий собой древовидную иерархическую структуру. Объекты в данной структуре упорядочиваются в соответствии со своим иерархическим кодом [10].
Рис. 9. Отображение заметки
Наличие классификатора - необязательное условие. При наличии классификатора пользователь работает не в кодах, а в понятиях, а также может использовать функцию автоматического построения шаблона отчета по объекту для дальнейшего заполнения (например, при обходе и инспектировании объектов) в заметках. Для создания шаблона пользователь указывает объект в дереве объектов классификатора (рис. 10), информацию о котором предстоит заполнять, и в тексте заметки появляется текст шаблона для заполнения по выбранному объекту, а именно список всевозможных характеристик объекта по классификатору (рис. 11).
gg Starl Й т.зз э
Г~
<25.1.2.1.7} спсрз ДЕревянная од к (25,1/3.1.6} опоы клэыя деом^ i2512.1S} опора деревянная юн <25.1.2.1.4} слсра ;»:епет:6етгцкэ? [25,1,2.1.5} оном девев*н+зч одх [251.2.1.2} слсра деревянная сди (25,1.2.1.1} ontpi дереел«ая иди (251.!)&«.! НЭП "I
<25.11.2} юздуижая fijfi высоиогв (25.1.1.воздушная ЛЭП нляэга Н _
. 1 «I [V
1 с, j СЗПСЕ!
Рис. 10. Выбор объекта для шаблона заметки
На рис. 10 показан пример выбора по классификатору объекта «кабельная ЛЭП низкого напряжения», а на рис. 11 - результат сформированного шаблона для дальнейшего заполнения.
При наличии в файле электронного документа векторной и семантической информации [11, 12] (базы данных, содержащей различную
информацию об объектах на карте) пользователь получает возможность работать с каждым объектом электронного документа (получать различную информацию об объекте) и осуществлять поиск нужного объекта. Для быстрого поиска объектов по базе данных специально под малые платформы был разработан иерархический древовидный индекс, структурой которого является адаптированное под интегральный файл Я-дерево [10].
вать при поиске (рис. 15), характеристики (одну или две) и условие поиска (рис. 16), которым может быть значение искомой характеристики, часть значения характеристики (в случае текстовой характеристики) и числовой диапазон для отбора характеристик.
Рис. 13. Подсветка выделенного объекта
/¿¡Эеою!
Рис. 11. Создание заметки из шаблона
Для того чтобы получить информацию об объекте, необходимо его выделить, указав стилусом на интересующий объект или его окрестность в электронном документе. После этого появится диалоговое окно со списком из пяти самых близких объектов к координате, указанной стилусом (рис. 12). После выбора конкретного объекта он будет выделен на документе красной линией (рис. 13) и о нем можно получить информацию с помощью специального раздела главного меню (рис. 14). На рис. 12, 13 представлен пример выделения лестницы на поэтажном плане здания и получения информации о ней на рис. 14.
Рис. 12. Выбор объекта при выделении
В программе предусмотрен поиск объектов по значению их характеристик. Пользователь указывает объекты, которые следует рассматри-
Рис. 14. Информация о выделенном объекте
Например, чтобы найти все кабели на плане здания сечением от 2 до 3 мм, в меню поиска по характеристикам:
а) выберем объект поиска «Гибкий провод, кабель» (рис. 15);
б) аналогично, по классификатору, выберем первую характеристику поиска «Сечение», а вторую характеристику оставим пустой;
в) укажем тип поиска как диапазон «от - до» (рис. 16);
г) укажем минимальное значение 2, максимальное 3 (см. рис. 16);
д) нажимаем кнопку «Ок» для поиска и видим результат - список найденных объектов, удовлетворяющих условиям поиска, которые можно просмотреть и подсветить на документе (рис. 17).
Для планирования своего маршрута и поиска наиболее оптимальных путей движения и обхода препятствий в программе предусмотрена работа с маршрутами. Пользователь имеет воз-
можность прокладывать маршрут движения между двумя точками как в ручном, так и в автоматическом режиме. Созданные маршруты пользователь может сохранять в файл, а затем и загружать их для продолжения работы или редактирования.
Рис. 15. Выбор объекта по характеристикам
Рис. 16. Меню поиска по характеристикам
решение трех основных задач автоматической прокладки маршрута. При открытии документа строится матрица переходов с использованием специально разработанного алгоритма, а далее в процессе работы используется алгоритм Дейк-стры по этой матрице [8, 13]. Реализовано решение следующих задач:
1) кратчайший маршрут между двумя точками (рис. 19);
2) кратчайший маршрут между двумя точками с обходом заданной опасной области (рис. 20);
3) задача преследования - отображаются все точки, в которых может находиться объект, при движении из заданной точки в заданное время с заданной скоростью (рис. 21).
Рис. 17. Результат поиска по характеристикам
Создание маршрута в ручном режиме заключается в нанесении точек ломаной, представляющей собой траекторию намеченного пути по электронному документу (рис. 18).
Создание маршрута в автоматическом режиме может быть выполнено либо по графу дорожной сети, либо по бездорожью. В случае работы с графом дорожной сети реализовано
Рис. 18. Намеченный путь
"СЧ-
Рис. 19. Кратчайший маршрут
Рис. 20. Кратчайший безопасный маршрут
Рис. 21. Задача преследования
При необходимости прокладки маршрута по бездорожью пользователь выбирает точку нача-
ла движения, точку назначения и объекты препятствия. По заданным условиям строится маршрут между двумя точками. Алгоритм поиска маршрута по бездорожью основан на постепенном построении матрицы переходов, используя и загружая лишь те объекты, описывающие прямоугольники которых лежат на пути от начальной точки к конечной. Соответственно, подобный подход требует значительно меньше вычислительных ресурсов, чем при чтении всех объектов и построении полной матрицы переходов, что очень важно для малых плафторм [14, 15].
Результатом решения задач построения машрутов является набор точек ломаной, представляющей собой траекторию найденного пути на карте (см. рис. 18-21).
Ко всем описанным функциям добавляются прикладные картографические задачи, такие как измерение расстояний на электронном документе, построение ортодромии [8] намеченного пути, контроль движения по намеченному пути и др. Решение прикладных задач и задание параметров при необходимости можно инициировать из главного меню программы.
Заключение
Описанная структура позволила создать универсальное приложение, которое обладает широким функционалом и позволяет работать в различных тематических приложениях. Апробация созданного ПО [9] на решении разнообразных задач подтвердила его эффективность.
Работа выполнена при поддержке РФФИ (проект №12-07-33107 молавед).
Список литературы
1. Васин Ю.Г. Оптимизация описания исходных данных в диалоговых системах решения задач классификации // Современное состояние теории исследования операций / Под ред. М.Н. Моисеева. М:. Наука, 1979. С. 424-450.
2. Васин Ю.Г. Хорошо приспособленные базисы и задачи обработки экспериментальной информации: Учебное пособие. Горький: ГГУ, 1979. 129 с.
3. Васин Ю. Г. Хорошо приспособленные локальные однородные методы обработки графической информации // Автоматизация обработки сложной
графической информации: Межвуз. сб. Горький: ГГУ, 1984. С.131-158.
4. Васин Ю.Г. Эффективность различных стратегий обработки видеоинформации на базе локальных однородных функций // Методы и средства обработки графической информации: Межвуз. сб. Горький: ГГУ, 1986. С. 4-47.
5. Кудин А.В. Технология эффективного хранения и оперативного отображения картографической растровой информации: Дисс. ... кандидата технических наук. Нижний Новгород, 2000.
6. Vasin Yu.G., Zherzdev S.V. Information techniques for hierarchical image coding // Pattern Recognition and Image Analysis. 2003. V. 13. No 3. Р. 539-548.
7. Васин Ю.Г., Жерздев С.В. Технология иерархического кодирования видеоинформации // Тезисы 12-й Международ. конф. по компьютерной графике и машинному зрению «ГрафиКон 2002». Н. Новгород: Изд-во НГАСУ, 2002. С. 326-333.
8. Vasin Yu.G., Zherzdev S.V., Egorov A.A. Mobile Geoinformation System // Pattern Recognition and Image Analysis. 2009. V. 19. No 2. Р. 342-348.
9. Васин Ю.Г., Егоров А.А. Сравнение функциональных возможностей существующих ГИС для малых платформ и BigViewer CE // Технологии Microsoft в теории и практике программирования: Тезисы конф. Н. Новгород, 2010. С. 137-140.
10. Васин Ю.Г., Жерздев С.В., Егоров А.А. Иерархическая структура хранения пространственно-распределенной информации // Модели, методы и программные средства: Тезисы конф. Н. Новгород, 2007. С. 70-72.
11. Васин Ю.Г., Ясаков Ю.В. Система управления базами видеоданных // Методы и средства обработки графической информации: Межвуз. сб. науч. тр. Горький: Горьк. ун-т, 1989. С. 93-115.
12. Vasin Yu.G., Yasakov Yu.V. GIS Terra: A graphic database management system // Pattern Recognition and Image Analysis. 2004. V. 14. №4. P. 579-586.
13. Васин Ю.Г., Егоров А.А. Решение задач на графах в мобильном программном картографическом комплексе BigViewer CE // Технологии Microsoft в теории и практике программирования: Тезисы конф. Н. Новгород, 2009. С. 55-61.
14. Васин Ю. Г., Егоров А. А. Реализация на малых платформах алгоритма прокладки маршрута транспортных средств по бездорожью (при отсутствии дорожной сети) // Технологии Microsoft в теории и практике программирования: Тезисы конф. Н. Новгород, 2010. С. 134-136.
15. Vasin Yu.G., Egorov A.A. An Algorithm for Off-Road Routing of Vehicles // Pattern Recognition and Image Analysis. 2010. V.4. Р. 573-576.
MULTIFUNCTIONAL SOFTWARE FOR SPATIALLY-DISTRIBUTED DATA PROCESSING
ON MOBILE DEVICES
A.A. Egorov
The article describes the structure of multifunctional software for handheld computers (PDAs) which allows one to solve a wide class of problems in spatially-distributed data (SDD) processing. The implemented structure makes it possible to use the developed software in various subject areas. The effective models and methods of SDD processing, which are the basis of the developed software, can substantially increase the SDD processing speed on PDAs.
Keywords: handheld computers, large-format images, geoinformation system, spatially-distributed data processing.