Mobilne technologie geoprzestrzenne z uwzględnieniem aplikacji w systemie Android

Podobne dokumenty
Android - wprowadzenie. Łukasz Przywarty

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Systemy Geoinformatyczne

BUDOWA APLIKACJI NA PLATFORMĘ IPHONE/IPAD. dr inż. Marcin Tomana

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Projekt inżynierski uwagi

Nawigacja po trasie wycieczki

tel. (+48 81) /22 fax (+48 81) Cel przedmiotu

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

I N S T Y T U T I N F O R M A T Y K I S T O S O W A N E J 2016

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Tworzenie aplikacji na platformie Android

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Chorwacka firma softwarowa z 10 letnią tradycją, specjalizująca się w rozwoju i udoskonalaniu technologii z dziedziny nawigacji GPS i telematyki

SOP System Obsługi Parkingów

- nawigacja satelitarna w turystyce

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Programowanie aplikacji mobilnych

Google Android. Opracował Maciej Ciurlik

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Konspekt pracy inżynierskiej

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

KARTA KURSU. Projektowanie aplikacji mobilnych

Rozwiązanie GIS dla mniejszego. miasta: model Miasta Stalowa Wola. Janusz JEśAK. Jacek SOBOTKA. Instytut Rozwoju Miast. ESRI Polska Sp. z o. o.

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

OpenGL Embedded Systems

Programowanie dla ios

ROZWÓJ INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ w statystyce publicznej. Janusz Dygaszewicz Główny Urząd Statystyczny

edycja 1 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

Programowanie dla ios

Załącznik do umowy nr..

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

ActiveXperts SMS Messaging Server

Mobilne aplikacje multimedialne

Co to jest smartfon?

akademia androida Pierwsze kroki w Androidzie część I

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

URZĄDZENIE DO BEZPRZEWODOWEGO STRUMIENIOWANIA MULTIMEDIÓW

WPROWADZENIE DO JĘZYKA JAVA

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia

ERDAS ADE Suite edytor baz danych Oracle Spatial

REFERAT PRACY DYPLOMOWEJ

SMARTWATCH ZGPAX S99

Format KML w oprogramowaniu GIS

Dokumentacja aplikacji Szachy online

Uniwersalny System Mobilny CRM dla Androida

Skrócona instrukcja obsługi rejestratorów marki IPOX

Katedra Geodezji Satelitarnej i Nawigacji. Geodezja i geoinformatyka

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Materiał dystrybuowany na licencji CC-BY-SA

System Nawigacji Samochodowej Navmax FLEET - opis nawigacji

Krótkoterminowa prognoza warunków jakości powietrza dla Miasta, Powiatu, Województwa system informatyczny. Piotr Ciwiś Maja Trzepacz Jerzy Jamrocha

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Zaawansowane programowanie w języku C++

Android tworzenie aplikacji mobilnych

2 INSTALACJA OPROGRAMOWANIA. 3 3 GŁÓWNE OKNO PROGRAMU 3 4 MODUŁ OBSŁUGI ARCHIWUM 7

edycja 3 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

Czym jest Android Architektura systemu Cechy platformy Android

REFERAT O PRACY DYPLOMOWEJ

Dokumentacja techniczna

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Systemy wbudowane i mobilne

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Urządzenia Elektroniki Morskiej Systemy Elektroniki Morskiej

Infrastruktura drogowa

SESJA SZKOLENIOWA. SZKOLENIE I Wprowadzenie do ArcGIS Desktop. 8-9 X (2-dniowe) max. 8 osób. SZKOLENIE II Wprowadzenie do ArcGIS Server

Elastyczność i mobilność w jednym, kompletnym pakiecie Panasonic UC Pro. Doskonała łączność gdziekolwiek się znajdujesz

REFERAT O PRACY DYPLOMOWEJ

Voicer. SPIKON Aplikacja Voicer V100

INŻYNIERIA OPROGRAMOWANIA

Integral over IP. Integral over IP. SCHRACK SECONET POLSKA K.Kunecki FIRE ALARM

Skrócona instrukcja obsługi rejestratorów marki

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Mobilne systemy operacyjne. Adam Malizjusz, Piotr Galanek

CMS, CRM, sklepy internetowe, aplikacje Web

+/- 1,5 cm PLM CONNECT RTK. Sygnał korekcyjny z największą dokładnością w Europie.

Wykorzystanie nowoczesnych technologii w zarządzaniu drogami wojewódzkimi na przykładzie systemu zarządzania opartego na technologii GPS-GPRS.

Technologie i aplikacje mobilne Kod przedmiotu

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Scenariusze obsługi danych MPZP

Cape Town 945 charakteryzuje się wyszukaną stylistyką, spójnym interfejsem użytkownika opartym na systemie Android i niesamowitymi możliwościami. Wypo

GEO-SYSTEM Sp. z o.o. ul. Kubickiego 9 lok. 5, Warszawa, tel./fax , geo-system@geo-system.com.

APLIKACJA INTERTON INSTRUKCJA

SpriteKit. Biblioteka do tworzenia gier wbudowana w SDK. Wspiera grafikę 2D w oparciu o sprite y

e-sprawdzian instrukcja programu do sprawdzania wiedzy ucznia przy pomocy komputera (WINDOWS & LINUX)

Kurs wybieralny: Zastosowanie technik informatycznych i metod numerycznych w elektronice

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

instrukcja obsługi Oprogramowanie klienckie na urządzenia mobilne oparte na systemie Android. NMS Mobile

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia. Język Java. Bezpieczeństwo języka Java

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Transkrypt:

Mobilne technologie geoprzestrzenne z uwzględnieniem aplikacji w systemie Android Łukasz Markiewicz Katedra Systemów Geoinformatycznych Wydział Elektroniki, Telekomunikacji i Informatyki

Plan prezentacji GIS i GPS Platformy mobilne (Android, ios, Unity 3D) Android ios Unity 3D Stworzenie Android prostej aplikacji mobilnej na platformie Wykorzystanie platformy Android do tworzenia złożonych projektów geoinformatycznych na przykładzie systemu nawigacji dla niewidomych Mówiące Mapy (w tym zagadnienia geoinformatyczne)

GIS i GPS GIS (Geographic Information System): system informacji geograficznej rozległy termin, wiele różnych zastosowań system łączący dane i atrybuty geograficzne z innymi danymi w celu wizualizacji map, dokonywania analiz przestrzennych,... GPS (Global Positioning System): globalny system pozycjonowania na lądzie, wodzie i w powietrzu aktualna pozycja, prędkość i czas w popularnych urządzeniach mobilnych wspomagany przez sieć GSM, kompas cyfrowy dokładność zależna od: warunki pogodowe, jakość odbiornika,...

GIS i GPS Wyzwania w wykorzystaniu GIS i GPS w aplikacjach mobilnych: (GIS) potrzeba pozyskania specjalizowanych danych przestrzennych (GIS) mnogość danych i meta-danych (GIS) dokładność danych (GPS) dokładność pozycjonowania (GPS) błędy wyznaczania pozycji (GPS) odbiorniki wbudowane i zewnętrzne...

Platformy mobilne (przenośność aplikacji) Ta sama aplikacja mobilna na różnych urządzeniach: dawniej JavaME i Symbian aktualnie Android, ios, Windows Phone, BlackBerry,... wybór: popularność, możliwości udostępnione wytwórcom oprogramowania, sprawdzona platforma, cena urządzeń,...

Platformy mobilne mobilne urządzenia i systemy operacyjne znaczący i rosnący trend w wytwarzaniu oprogramowania zmiany w przemyśle sprzętowym urządzenia mobilne pojawiły się na rynku razem z rozwojem komputerów osobistych w latach 90. ubiegłego wieku usługi mobilne stały się szeroko dostępne i popularne (telefony komórkowe, pagery) w latach 2000-2008 nowoczesne smartfony wytwarzane przez RIM, Nokia, Apple i Google, potem przez wiele firm zwiększające się możliwości sprzętowe urządzeń mobilnych coraz bliższe komputerom osobistym od roku 2010 duża popularność tabletów

Android w roku 2008 premiera systemu operacyjnego Android oraz smartfonu Google G1 w odpowiedzi na ogromny sukces urządzeń mobilnych firmy Apple (iphone, ipod) stworzony przez Google we współpracy z wieloma firmami zrzeszonymi w OHA (Open Handset Alliance) aktualnie w OHA ponad 80 korporacji z różnych gałęzi przemysłu (producenci sprzętu, oprogramowania, operatorzy sieci,...) główny cel OHA utworzenie systemu operacyjnego (opensource) opierającego się o Linux oraz stworzenie listy wytycznych dla kompatybilnych urządzeń mobilnych system zdobył silną pozycję na rynku - nadal jest rozwijany oraz rozbudowywany z roku na rok nieustannie rosnąca ilość sprzedawanych kompatybilnych urządzeń

Android język programowania - zmodyfikowana wersja Java maszyna wirtualna Dalvik (DVM) - mniej wymagająca sprzętowo i zajmująca mniej pamięci niż maszyna wirtualna Java (JVM) API Androida używa dodatkowych bibliotek i modułów (brak ich w API Javy) wsparcie dla ekranów dotykowych i sensorów urządzeń mobilnych projekty mogą być tworzone w wielu środowiskach: m.in. w Eclipse lub Netbeans (poprzez dodatkowe wtyczki) oficjalnym środowiskiem jest ADT (Android Development Tools - oparte o Eclipse) zawiera obraz systemu urządzenia mobilnego operacyjnego oraz emulator parametry urządzenia i jego możliwości są konfigurowalne

Android ADT (Eclipse) Cechy ADT: moduł tworzenia projektu, edytor kodu źródłowego, edytor GUI DDMS (Dalvik Debug Monitor Server) zestaw narzędzi używanych do kontroli stanu urządzenia i jego maszyny wirtualnej (podgląd wątków i pamięci, explorator plików itp.) tworzona aplikacja może również zostać uruchomiona poprzez ADT na fizycznym urządzeniu podłączonym do komputera

Apple ios mobilny system ios firmy Apple (system na komputery stacjonarne to Mac OS X) od 2007 roku na rynku urządzenia iphone, ipod, ipad duży wpływ na rynek, jeden z dwóch najbardziej popularnych systemów mobilnych język programowania: Objective-C znacznie poszerzone możliwości) (oparty o język C, zaprojektowany aby dodać metody programowania obiektowego do języka C, kod w języku C może być używany w plikach języka Objective-C oferuje odmienne podejście do wywoływania metod oraz dostępu do parametrów

Apple ios zamiast operatora. pojawiają się znane z języka Smalltalk kwadratowe nawiasy w późniejszych wersjach Objective-C dodano operator. wywołanie metod w Objective-C: obiekt.metoda(); [obiekt methoda]; obiekt.metoda(parametr); [obiekt method: parametr];

Apple ios - Xcode Cechy Xcode IDE: wspólne srodowisko programowania dla ios i Mac OS X moduły do budowy projektów, GUI i edycji kodu źródłowego zestaw narzędzi Instruments do testowania sprawdzenia wydajności i wyszukiwania błędów aplikacji,

Unity 3D

Unity 3D Unity3D: środowisko do wytwarzania gier (również wizualizacji geoprzestrzennych) na wiele platform pierwsza wersja w 2005 roku jedynie na MAC OS X obecnie wytwarzanie projektów na wiele stacjonarnych, mobilnych i sieciowych platform: Windows, ios, Android, Mac OS X, XBox 360, PS3, Wii i Adobe Flash zawiera wiele gotowych elementów, które upraszczają proces tworzenia gier i aplikacji (silnik, fizyka, kolidowanie obiektów itp.) silnik do wyświetlania grafiki (rendering), zarządzanie i edycja zasobów (grafiki, modele), obsługa skryptów i wielu języków programowania oraz multimediów silnik graficzny używa wielu API (Direct3D, OpenGL, OpenGL ES, etc.) w zależności od wybranej platformy wynikowej wizualizacja sceny (ekranu), możliwa edycja kodu w trakcie

Unity 3D skrypty mogą być pisane w językach C# i JavaScript udostępniane biblioteki edytorów i narzędzi umożliwiają tworzenie własnych wbudowany moduł wizualizacyjny umożliwia testowanie działanie aplikacji podczas każdego etapu wytwarzania (zmiana parametrów obiektów lub wartości zmiennych podczas uruchomienia moduł Inspection ) zmiana platformy wynikowej prawie jednym kliknięciem, wymagane drobne zmiany w kodzie źródłowym projektu (np. obsługa innego systemu plików, obsługa odmiennych API, różne sposoby sterowania) np. aplikacja została początkowo zaimplementowana na stacjonarną platformę (np. Windows), a następnie zostaje dostosowana do platform mobilnych (pojawia się konieczność obsługi ekranu dotykowego oraz potrzeba innego sposobu sterowania)

Platformy mobilne - podsumowanie ogromny wzrost rynku platform mobilnych w ostatnich latach nieustanny rozwój sprzętowych platform mobilnych i możliwości konsumenci oraz wytwórcy oprogramowania mogą wybrać platformę, która spełnia ich oczekiwania i potrzeby urządzenia mobilne stały się czymś więcej niż urządzeniami używanymi do bezprzewodowej komunikacji (kalendarz, notatnik, aparat fotograficzny, kamera, narzędzie do przeglądania internetu, rozrywka, narzędzie pomiarowe,...) duże zapotrzebowanie - powstają mniejsze i większe firmy nastawione na tworzenie mobilnego oprogramowania istniejące firmy tworzą działy technologii mobilnych każdego roku pojawiają się nowe narzędzia, platformy i produkty

Stworzenie prostej aplikacji mobilnej używającej map na platformie Android (ADT) instalacja środowiska ADT użycie Google Maps V2 API jest elementem i wymaga instalacji Google Play Services w SDK wygenerowanie klucza do API dla aplikacji (http://console.developers.google.com, SHA1 + nazwa pakietu Android Key) utworzenie nowego projektu Android Application, np. wersja API 17, czyli Android 4.2.2 import biblioteki Google Play Services (Google Maps V2 API) dodanie do pliku AndroidManifest.xml danych klucza API dodanie zgód aplikacji w tym samym pliku utworzenie widoku mapy (MapFragments) w aplikacji (plik.xml aktywności)

Stworzenie prostej aplikacji mobilnej używającej map na platformie Android (ADT) kod na pobranie i wyświetlenie mapy (plik.java oncreate(), initializemap(), onresume()) wyświetlenie mapy dodanie znacznika marker na mapie zmiana koloru i ikony znacznika przeniesienie widoku mapy do znacznika zmiana typu mapy (normal, hybrid, terrain) pokazanie aktualnej pozycji urządzenia na mapie włączanie/wyłączanie przycisków zoom, gestów, kompasu, prezentacja

Przykładowy system Mówiące Mapy - system GIS wspomagający poruszanie się niewidomych w terenie miejskim Projekt został wsparty dofinansowaniem przez Narodowe Centrum Badań i Rozwoju w ramach programu IniTech. W prezentacji wykorzystano fotografie wykonane przez Narodowe Centrum Badań i Rozwoju.

Realizacja W dwóch fazach: badania naukowe, prototyp: (Katedra Systemów Geoinformatycznych, Politechnika Gdańska) zebranie danych przestrzennych, wdrożenie: (Okręgowe Przedsiębiorstwo GeodezyjnoKartograficzne "OPEGIEKA" Sp. z o.o.) Autorzy: Andrzej Stepnowski, Łukasz Kamiński, Łukasz Markiewicz, Marcin Kulawiak, Krzysztof Bruniecki

Elementy systemu odbiornik DGPS/GPS (pozycjonowanie) urządzenie mobilne, np. smartfon aplikacja mobilna (nawigacja + GUI) dedykowana aplikacja do zbierania danych przestrzennych baza danych przestrzennych (istniejące mapy + punkty adresowe, przeszkody, zagrożenia itp.)

Poprzednia architektura systemu (pełna kopia danych na urządzeniu mobilnym)

Obecna architektura systemu (zdalny dostęp do danych - poprzez internet)

Metody akwizycji danych przestrzennych istniejące mapy z projektu OpenStreetMaps dodane punkty Points of Attention & Points of Interest dla niewidomych (np. budynki, adresy, skrzyżowania, nawierzchnia, przeszkody, zagrożenia,...) zbieranie urządzeniem mobilnym (smartfon) oraz profesjonalnymi urządzeniami (GTK DGPS)

Specyfika danych przestrzennych Dane wektorowe: możliwość konstrukcji grafu na potrzeby wyszukiwania ścieżki łatwość dostarczania obiektów przestrzennych na potrzeby opisu otoczenia aspekt wizualizacyjny

Pobieranie danych z serwera format OSM dane wektorowe rozszerzalny mechanizm atrybutów sprawdzony i skalowalny aspekt społecznościowy

Pozyskiwanie danych pozyskiwanie i aktualizacja danych to kosztowne przedsięwzięcie szansą na ograniczenie kosztów jest pozyskiwanie danych przez społeczność media społecznościowe konieczne zapewnienie dedykowanych narzędzi i infrastruktury

Zadania aplikacji mobilnej wizualizacja mapy określenie aktualnej pozycji użytkownika na mapie wyznaczanie ścieżki do wybranego celu nawigacja głosowe komunikaty o otoczeniu (punkty POA/POI) log pozycjonowania (testy)

Komunikacja z użytkownikiem Wejście: główne menu (ekrany dotykowe) klawiatury fizyczne i programowe rozpoznawanie gestów rozpoznawanie mowy Wyjście: dźwięki (w tym słuchawki klasyczne i słuchawki kostne) wibracje urządzenia obraz (wizualizacje)

Graficzny interfejs menu na ekranie dotykowym dedykowane klawiatury ekranowe, klawiatury systemowe, klawiatury fizyczne, rozpoznawanie mowy wszystkie komunikaty prezentowane głosowo oraz poprzez wibracje wszystkie funkcje urządzenia (dzwonienie, SMS, ) powinny być nadal dostępne czy są wymagane lub opcjonalne dodatkowe urządzenia zewnętrzne (np. zewnętrzny DGPS)

Klawiatury programowe Klawiatura tablicowa Klawiatura gestowa (wolniejsze wprowadzanie) (szybka, ale kształty niektórych liter podobne) Trzecia metoda wprowadzania tekstu, oparta na rozpoznawaniu mowy - najlepsza i najszybsza (wymagany dostęp do internetu)

Nawigacja wyszukiwanie ścieżki prowadzenie po ścieżce opis otoczenia korygowanie ruchu weryfikacja, anonsowanie komunikaty o przeszkodach i utrudnieniach

Pozycjonowanie w praktyce wbudowane w urządzenia mobilne odbiorniki GPS są zawodne testy odbyły się na wielu urządzeniach (Samsung, HTC, Nokia) dokładność zależna od warunków (pogoda, zachmurzenie, stan baterii) możliwość użycia dodatkowego (zewnętrznego) odbiornika rozwiązane częściowo poprzez odbiornik DGPS

Poprawa dokładności pozycjonowania Metoda sprzętowa - DGPS odbiornik Garmin etrex DGPS poprawki z sieci ASG-EUPOS (stacje poniżej) adapter Bluetooth (do łączności z urządzeniem mobilnym)

GPS kontra DGPS Ścieżki pochodzą z testów terenowych na terenie kampusu Politechniki Gdańskiej: czerwony ścieżka z GPS czerwony ścieżka GPS zielony ścieżka z DGPS (błędy GPS zaznaczone strzałkami) niebieski prawdziwa ścieżka niebieski ścieżka z DGPS DGPS poprawia pozycjonowanie w stosunku do GPS

GPS kontra DGPS DGPS zmniejsza błędy pomiaru położenia

Poprawa dokładności pozycjonowania Metoda programowa - map-matcher niebieski pozycjonowanie GPS, fioletowy pozycjonowanie aplikacji (błędy na początku urządzenie w budynku)

Map-matcher Pozycjonowanie aplikacji poprawnie nie uznaje, że użytkownik znajduje się po drugiej stronie ulicy, mimo wielu błędnych pomiarów GPS

Map-matcher gdy w okolicy znajduje się przejście dla pieszych aplikacja bierze to pod uwagę przy pozycjonowaniu faktyczne przejście użytkownika przez ulicę kilka chwilowych błędów GPS (skoki), ale po krótkiej chwili pozycja użytkownika zostaje poprawnie zmieniona (druga strona ulicy)

Map-matcher po pierwszym i przed drugim skrzyżowaniem znaczące błędy GPS, wiele połączeń pomiędzy różnymi ścieżkami chwilowe błędy GPS (skoki) pozycjonowanie powraca na właściwą ścieżkę po około 5-10 pomiarach GPS (w mniej niż 1 sekundę)

Testy aplikacji mobilnej

Testy aplikacji mobilnej

Podsumowanie możliwości integracji GIS i GPS dane przestrzenne dokładność pozycjonowania i nawigacji ekrany dotykowe urządzeń mobilnych rozpoznawanie mowy najszybszy sposób na sterowanie i wprowadzanie danych? klawiatury fizyczne i programowe niezawodność wbudowanych odbiorników GPS i sensorów w urządzenia mobilne komunikaty ostrzegawcze, anonsowanie, weryfikacja