Одним из вариантов сохранения истории, сведений об исторических зданий, памятниках и архитектуры города в целом, является возможность запечатлеть эту самую архитектуру в информационных системах.
Почему было решено реализовать именно мобильную информационную систему? Потому что мобильные устройства в настоящее время доступны большинству людей, и ими овладели все, от детей до пожилых людей. Мобильными устройствами можно легко воспользоваться и они у нас всего под рукой. И для того, чтобы сделать новый снимок, необходима всего пара секунд, но сам облик здания сохранится в информационной системе надолго.
Постановка задачи заключалась в необходимости разработки географической информационной системы «Гид» под мобильную операционную систему Android, с возможностью внесения в базу данных пользователями системы исторических справок по уникальным архитектурным объектам, их дальнейшей проверкой и размещением в свободном доступе или личном архиве.
Для выполнения данной работы было необходимо выполнить следующие цели:
· Изучить архитектуру мобильной операционной системы Android.
· Изучить основные технологии и методологии разработки мобильных приложений.
· Разработать мобильное приложение под ОС Android, спроектировать и развернуть базу данных, написать сервисы для серверной части.
Для достижения поставленных целей были выделены следующие основные задачи:
· Провести сравнительный анализ API картографических сервисов.
· Изучить существующие картографические сервисы.
· Изучить алгоритмы кластеризации объектов на карте. Реализовать выбранный алгоритм кластеризации маркеров.
· Разработать мобильное приложение для операционной системы
Android.
· Разработать сервисы для серверной части системы.
· Спроектировать и развернуть базу данных.
· Разработать сервис интеграции с OpenStreetMap.
Объектом исследования являются картографические информационные системы. В качестве предмета исследования выбраны API от Google Maps.
Магистерская диссертация состоит из введения, двух основных глав и заключения.
В разделе введения описываются актуальность и проблемы выбранной предметной области, цель и задачи исследовательской работы, объект и предмет исследования, а также структура самой работы.
В первой главе рассматриваются существующие картографические информационные системы, проводится их исследование с поиском преимуществ и недостатков каждого из них, и делается заключение, которое должно быть учтено при разработке информационный системы «Мобильный гид».
Во второй главе описывается реализация основных модулей информационной системы. Описывается функционал разработанной системы, и представлены примеры пользовательского интерфейса приложения.
В заключении приводятся результаты исследования и итоги по каждой из задач, которые были решены в ходе разработки системы.
Глава 1. Сравнительный анализ картографических сервисов...................... 7
1.1 Сценарии использования картографической и справочной информации
............................................................................................................................... 7
1.1.1 Поиск объекта на карте.................................................................. 8
1.1.2 Поиск информации об услуге........................................................ 9
1.1.3 Построение маршрута.................................................................. 10
1.2 Преимущества и недостатки существующих картографических сервисов 12
1.3 Удобство интерфейса......................................................................... 16
Глава 2. Программная реализация............................................................... 20
2.1 Выбор средств реализации............................................................... 20
2.1.1 Xamarin......................................................................................... 20
2.1.2 PostgreSQL и WCF........................................................................ 21
2.2 Требования к настройкам безопасности........................................... 23
2.2.1 Android-манифест......................................................................... 23
2.2.2 Uses permission............................................................................. 23
2.3 Сервис загрузки данных................................................................... 28
2.4 Кластеризации маркеров.................................................................. 30
2.5 Реализация основных модулей......................................................... 32
2.5.1 Класс Label.................................................................................... 32
2.5.2 WCF-сервис................................................................................... 32
2.5.3 Карта............................................................................................. 32
2.5.4 Панель предварительного просмотра......................................... 34
2.5.5 Редактор маркеров......................................................................... 35
Заключение.................................................................................................... 39
Список использованной литературы............................................................ 40
Приложение................................................................................................... 42
1. Рихтер Дж. [Jeffrey Richter] CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#. 4-е изд. СПб.: Питер, 2017. 896 с.
2. Майер Р. [Meier R.] Android 4. Программирование приложений для планшетных компьютеров и смартфонов. М.: Эксмо, 2013. 816 с.
3. Фаулер М. [Fowler M.] Архитектура корпоративных программных приложений.: Пер. с англ. — М.: Вильямс, 2006. 544 с
4. Харди Б., Филлипс Б. [Hardy B., Phillips B.] Программирование под
Android.: Пер. с англ. Матвеева Е. СПб.: Питер, 2013. 592 с.
5. J.D. Meier, David Hill, Alex Homer, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr., Akshay Bogawat. Руководство Microsoft по проектированию архитектуры приложений. 2-е изд. Microsoft, 2009. 527 с.
6. Фаулер М. [Fowler M.] UML. Основы. 3-е изд. СПб.: Символ-Плюс, 2006.
544 с.
7. Xamarin Documentation. Microsoft [Электронный ресурс]. URL: https://docs.microsoft.com/en-us/xamarin/
8. Google Maps Platform Documentation. Google [Электронный ресурс]. URL: https://developers.google.com/maps/documentation/
9. API Яндекс.Карт. Яндекс [Электронный ресурс]. URL: https://tech.yandex.ru/maps/mapsapi/
10. API 2ГИС. Документация. 2ГИС [Электронный ресурс]. URL: https://api.2gis.ru/doc/maps/ru/quickstart/
11. Невзоров В. [Nevzorov V.] Android application architecture. Part I –
background [Электронный ресурс]. 2011. URL: https://vladnevzorov.wordpress.com/2011/04/18/android-application- architecture-part-i-background/ (дата обращения: 22.04.2019).
12. Невзоров В. [Nevzorov V.] Android application architecture. Part II –
architectural styles and patterns [Электронный ресурс]. 2011.
URL: https://vladnevzorov.wordpress.com/2011/04/30/android-application- architecture-part-ii-architectural-styles-and-patterns/ (дата обращения: 23.04.2019).
13. Невзоров В. [Nevzorov V.] Android application architecture. Part III – main parts of the applications [Электронный ресурс]. 2011. URL: https://vladnevzorov.wordpress.com/2011/05/18/android-application- architecture-part-iii-main-parts-of-the-applications/ (дата обращения: 01.06.2019).
14. Невзоров В. [Nevzorov V.] Android application architecture. Part IV – Android application integration layer [Электронный ресурс]. 2011. URL: https://vladnevzorov.wordpress.com/2011/07/04/android-application- architecture-part-iv-android-application-integration-layer/ (дата обращения: 03.06.2019).