Geodesic computer system

11
Дипломний проект спеціаліста на тему: «Комп’ютерна система для задач геодезії» Виконувач: студент групи АК-101 Догар Д.В. Керівник: ст.вик. Гнатенко В.Ю. Одеський національний політехнічний університет Інститут Комп’ютерних Систем Кафедра Комп’ютерних Систем 2015 рік

Transcript of Geodesic computer system

Дипломний проект спеціаліста

на тему:

«Комп’ютерна система для задач геодезії»

Виконувач: студент групи АК-101 Догар Д.В.

Керівник: ст.вик. Гнатенко В.Ю.

Одеський національний політехнічний університетІнститут Комп’ютерних СистемКафедра Комп’ютерних Систем

2015 рік

Актуальність

• Стрімкий розвиток мобільних технологій

• Використання геоінформаційних систем

• Збереження даних у надійному хмарному сховищі

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Мета

• Ознайомлення з розробкою під ОС Android

• Розробка мобільного додатку для вирішення задач геодезії

• Ознайомлення з сучасними хмарними сервісами

• Побудова серверної частини додатку для зберігання геодезичних даних

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Інструменти розробки

• Середа розробки Android Studio + Gradle

• Android SDK

• App Engine SDK

• Android Google Maps API version 2

• Система контролю версій Git

• хостинг на GitHub

• 3d-part Android бібліотеки:

GreenRobot Eventbus, Lombok,

Butterknife,Material Drawer,

Material dialogs та інші.

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Загальна структура

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Авторизація

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Початок

В SharedPrefences Є значення аккаунту

Завантажити фрагмент з картою

Так

Запустити активність вибору

аккаунту

Аккаунт вибрано

Кінець

Занести в SharedPreferences

аккаунт

Ні

Ні

Так

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Інтерфейс та функціональність

Навігаційна панель

Вимір площі та периметру

Підрахунок зворотної задачі геодезії

Пошук локації по назві

Інтерфейс (орієнтація landscape)

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Серверна частина

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

• PaaS AppEngine

• Зберігає інформацію

про відмічені точки

• Взаємодіє з клієнтом за

допомогою Cloud Endpoints

• REST архітектура (CRUD функції)

• Зберігає дані у NoSQL

• БД DataStore

• Механізм multitenancy з id

- Google Account

• Стандарт OAuth 2.0

• Працює на інфраструктурі Google

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії

Зберігання точок з інформацією

На сервері AppEngine (DataStore) - JPA(реалізує DataNucleus)

@Entity

public class GeoPointInfo {

@Id

@GeneratedValue(strategy

= GenerationType.IDENTITY)

private Long id;

private double latitude;

private double longitude;

private Long timestamp;

private String titleInfo;

private String textInfo;

private boolean isDeleted;

//getters & setters }

У локальній БД Android SQLite

(Content Provider)

"CREATE TABLE entries (

entry_id INTEGER PRIMARY KEY,

point_id INTEGER,

latitude TEXT,

longitude TEXT,

timestamp INTEGER,

title TEXT,

info TEXT,

account TEXT,

dirty INTEGER,

deleted INTEGER);"

Синхронізація

• Синхронізує дані за алгоритмом

• Реалізована за допомогою

Sync Adapter Framework:

o Автоматично перевіряє наявність мережі

o Економить заряд батареї

o Прив’язує синхронізацію до

Google Аккаунту

o Виконує синхронізацію за

наказом користувача

o Анімація інтерфейсу під

час виконання

Догар Дмитро ВасильовичКомп’ютерна система для задач геодезії