Автору данной работы было предложено принять участие в доработке открытой многопользовательской географической информационной системы (далее ГИС) O-GIS, находящейся по адресу http://app.o-gis.org/.
Данная система предназначена для решения задач анализа и обработки пространственных данных более чем одним пользователем в реальном времени. Система нацелена на работу с растровыми или векторными слоями, из которых можно составлять композиции слоев, получать информацию о конкретной точке текущей композиции, а также применять операции реклассификации и растровой алгебры. Преимуществами такой системы являются единое информационное пространство и вычисление ресурсоемких операций на стороне сервера, благодаря которым пользователи могут осуществлять работу над одним проектом из разных точек нашей планеты и использовать устройства с малыми вычислительными мощностями, которые имеют доступ в Internet.
Конечной целью при разработке проекта O-GIS было создание приложения, которое функционирует не только на стационарных, но и на моби - льных устройствах. В первую очередь это обусловлено тем, что в большинстве случаев система применяется в условиях, не предназначенных для настольных компьютеров, — «в поле», где доступны только те устройства, которые имеют достаточно малые размеры и которые не зависят от проводной сети.
На текущий момент работа на мобильных устройствах ограничена и неудобна — элементы системы не адаптированы под мобильные устройства; редактор картографических данных не помещаются во всю ширину экрана, в связи с чем интерфейс приходится масштабировать и перемещаться по нему как в горизонтальном, так и в вертикальном направлении; функциональность текущей версии O-GIS урезана — например, невозможно изменять порядок отображения слоев, перетащив имя слоя вверх либо вниз в окне настроек редактора. Также на стороне клиента используется устаревшая библиотека визуализации картографических данных OpenLayers 2 [1]. На момент написания выпускной работы актуальна 4-ая версия — она направлена на повышение производительности, улучшение визуальной составляющей и API.
Цель выпускной квалификационной работы состоит в следующем: необходимо модернизировать систему O-GIS таким образом, чтобы использование редактора на мобильных устройствах не вызывало трудностей, перечисленных выше. Отметим, что замена устаревшей библиотеки визуализации картографических данных OpenLayers 2 будет логичным этапом модернизации системы — прирост производительности существенно важен, в особенности на устройствах, мощность которых пока еще мала по сравнению с современным персональным компьютером.
В этой связи первая часть данной работы «Обзор библиотек визуализации картографических данных» направлена на сравнение современных библиотек визуализации картографических данных на стороне клиента и выбор наиболее подходящей из них для O-GIS.
Решение задачи адаптированности системы под мобильные устройства обсуждается во второй главе выпускной квалификационной работы.
Автором данной выпускной квалификационной работы была решена поставленная задача: адаптирование модуля открытой многопользовательской географической информационной системы O-GIS под мобильные устройства. Автор приобрел незаменимый опыт разработки программных продуктов, в частности: планирование этапов разработки, проектирование архитектуры web-приложения, сравнение инструментов разработки и выбор наиболее подходящего для решаемой задачи, применение популярных инструментов разработки на практике, знакомство с web-технологиями в области геоинформационных систем. Дополнительно, автором были получены знания о методах работы с геопространственными данными, такими как геокодирование, перепроецирование, растровая алгебра, растровая реклассификация.
1. Официальное описание библиотеки отображения картографических данных OpenLayers 2. http ://openlayers. org/two/
2. Официальный список выпусков библиотеки OpenLayers 2 на GitHub. https://github.com/openlayers/ol2/releases
3. Официальное описание проекта библиотеки отображения картографических данных OpenLayers 4. http ://openlayers. org/
4. Официальное описание библиотеки отображения картографических данных LeafLet. http://leafletjs.com/
5. Информация о проектах разработчика библиотеки LeafLet Владимира Агафонкина. https://github.com/moumer
6. Описание библиотеки Google Maps в сетевой энциклопедии Википедия. https://ru.wikipedia.org/wiki/ Карты Google
7. Официальное описание библиотеки отображения картографических данных Google Maps. https: //developers .google.com/maps/documentation/j avascript/tutorial
8. Официальный онлайн-реестр картографических проекций. http: //www. epsg.org/
9. Описание проекции Меркатора в сетевой энциклопедии Википедия. https: //ru.wikipedia. org/wiki/Проекция Меркатора
10. Описание библиотеки LeafLet в сетевой энциклопедии Википедия. https: //ru.wikipedia. org/wiki/Leaflet
11. Информация о пространственных данных сервиса «Космосиники». http: //geomixer.ru/index .php/ru/do cs/manual/datum
12. Информация о пространственных данных сервиса «Яндекс.Карты». https://tech.yandex.ru/maps/doc/theory/concepts/coordinates-docpage/
13. Официальное описание библиотеки отображения картографических данных Polymaps. http: //polymaps.org/
14. Загрузочные файлы библиотеки OpenLayers 4. http://openlayers.org/download/
15. Загрузочные файлы библиотеки LeafLet. http://leafletjs.com/download.html
...