ama_2012_curs_6_gps

Upload: sapin706273

Post on 13-Oct-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

  • Aplicatii mobile pentru afaceri

    Master SIA

    Lect. Octavian Dospinescu

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Tematica generala curs Pozitionari si repere geografice spatiale

    Latitudine

    Longitudine

    Sateliti

    GPS

    Interceptare si utilizare coordonate

    Alte facilitati oferite de tehnologia GPS: viteza, azimut, precizie

    Probleme specifice pozitionarii prin GPS (unde reflectate fals, unde nedetectabile, )

    (c) Octavian Dospinescu & Marian Perca

    2012-2013 pentru Master SIA

  • Coordonate geografice

    Un sistem de coordonate geografice definete orice locaie de pe Pmnt prin 2 sau 3 coordonate ale unui sistem de

    coordonate sferice care este aliniat la

    axa n jurul creia se nvrte Pmntul. Pornind de la teoriile vechilor babilonieni,

    extinse ulterior de Ptolemeu, unui cerc ntreg i s-au asignat 360.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Latitudinea

    Latitudinea (Lat.) este unghiul dintre orice punct de pe Pamant i ecuatorul. Liniile cu o latitudine constant sunt numite paralele. Ele traseaz cercuri pe suprafaa Pmntului, dar singura paralel care este un cerc mare este ecuatorul (latitudine=0

    grade), cu fiecare pol geografic aflat la

    90 de grade (Polul Nord 90 N; Polul Sud 90 S).

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Longitudinea

    Longitudinea (Long.) este unghiul spre est sau vest al unui punct arbitrar de pe

    Pmnt: Observatorul din Greenwich (Marea Britanie) este considerat punctul

    internaional cu longitudine 0 grade. Anti-meridianul Greenwich este att 180V ct i 180E.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Longitudinea

    Liniile de longitudine constant sunt numite meridiane. Meridianul care trece

    prin Greenwich este meridianul primar.

    Spre deosebire de paralele, toate

    meridianele sunt jumti de cercuri complete i nu sunt paralele: ele se intersecteaz la polul nord i la cel sud.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Latitudine si longitudine

    Combinnd aceste dou unghiuri, poate fi specificat poziia orizontal a oricrui punct de pe Pmnt.

    Spre exemplu, Baltimore, Maryland (din SUA) are o latitudine de 39.3 Nord, i o longitudine de 76.6 Vest. Deci, un vector desenat din centrul Pmntului spre un punct dispus la 39.3 nord de ecuator i 76.6 vest de Greenwich va trece prin Baltimore.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Meridianul zero - Greenwich

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Grade, minute, secunde

    Gradele sunt mprite n minute ( ) i secunde ( ). Exist mai multe formate pentru grade, toate fiind n ordinea Lat.-Long.:

    GM Grade:Minute (49:30.0-123:30.0)

    GMS Grade:Minute:Secunde (49:30:00-123:30:00)

    GZ Grade Zecimale (49.5000-123.5000), de obicei cu 4 zecimale.

    (c) Octavian Dospinescu & Marian Perca

    2012-2013 pentru Master SIA

  • Conversii grade, minute, secunde la grade zecimale

    Pentru a face conversia de la primele 2 formate la ultimul, gradele zecimale sunt

    egale cu numrul ntreg de grade, plus minutele mprite la 60, plus secundele mprite la 3600. La momentul actual gradele zecimale sunt formatul cel mai

    utilizat.

    Exista cazuri in care utilizatorii incepatori percep mai bine coordonatele in sistem GMS.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Coordonate Geostaionare

    Sateliii geostaionari, cum ar fi cei de televiziune, sunt dispui deasupra ecuatorului.

    Poziia lor fa de pamnt este exprimat n grade zecimale, latitudinea nu li se schimb i este ntotdeauna zero deasupra ecuatorului.

    Avantaj: bat in ambele emisfere (nordica si sudica)

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • A treia dimensiune: altitudine, nlime, adncime

    Pentru a specifica absolut un punct pe sau deasupra Pmntului mai trebuie specificat i elevaia. Aceasta definete poziia vertical a punctului fa de suprafaa planetei.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Elevatia

    Poate fi exprimat ca i distana vertical fa de Pmntul de dedesubt dar, din cauza ambiguitii termenilor suprafa i vertical, se prefer exprimarea relativ la un set de date mai precise, cum ar fi

    nivelul mrii. Distana fa de centrul Pmntului este, de asemenea, o coordonat practic att pentru poziiile adnci ct i pentru cele n spaiu.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Exprimare elevatie

    Coordonatele uzuale ale elevaiei / nlimii fa de suprafa sau alte date sunt altitudinea, nlimea, i adncimea.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Simulare pozitionare geografica pe baza de adrese

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

    http://www.itouchmap.com/latlong.html?latitude=47+38&longitude=122+11

    http://ro.wikipedia.org/wiki/Nod_(unitate)

  • Global Positioning System

    GPS este acronimul pentru Global Positioning System (denumirea militar fiind NAVSTAR), un sistem de

    poziionare global. GPS este principalul sistem de poziionare prin satelit.

    Acest sistem, iniiat de Departamentul de Aprare din Statele Unite ale Americii poate permite aflarea poziiei unui obiect pe

    suprafaa pmntului cu condiia ca acesta s fie echipat cu materialul necesar funcionrii acestui sistem.

    Acest obiect poate fi o persoan, permindu-i s se orienteze pe pmnt, pe ap, n aer sau n spaiu (n apropierea

    Pmntului). GPS-ul utilizeaz sistemul geodezic WGS84, la care se refer coordonatele calculate cu ajutorul sistemului.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Functionare GPS Principiul de funcionare al GPS-ului este acela de a folosi

    sateliii n spaiu ca puncte de referin pentru localizarea la

    sol. Printr-o msurare foarte exact a distanei n linie dreapt

    dintre receptor i cel puin 4 satelii se poate determina poziia

    oricrui punct de pe Pmnt (latitudine, longitudine, altitudine).

    n mod normal, pentru determinarea poziiei n 3D a unui punct de pe suprafaa terestr cu ajutorul poziiei sateliilor

    este nevoie de doar trei distane (trei satelii), deoarece metoda care se utilizeaz este cea a triangulaiei.

    A patra distan se determin pentru minimizarea erorilor de poziionare, datorate ceasurilor din receptoare care, nefiind atomice ca cele din satelii, nu sunt extrem de exacte.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Calculare pozitie GPS

    Distana dintre satelit i receptor se calculeaz prin cronometrarea timpului de care are nevoie semnalul

    radio s ajung de la satelit la receptor.

    tiind c semnalul radio se deplaseaz cu 300 000 km/sec (viteza luminii), dac cronometrm timpul lui

    de propagare de la satelit la receptor putem s

    deducem distana dintre acetia.

    Fiecare satelit are semnalul propriu (Pseudo Random Code) astfel nct receptorul va ti exact despre ce

    satelit este vorba.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Moduri de calcul a pozitiei GPS precizii estimate

    Recepia semnalelor emise de satelii i calculul poziiei se poate face n dou moduri: modul absolut i modul diferenial.

    Modul absolut folosete un singur receptor GPS, iar precizia de poziionare este de cca 10 15 m.

    Modul diferenial presupune folosirea a dou receptoare dintre care unul va fi staie de baz, adic este instalat ntr-un

    punct cu coordonate cunoscute astfel nct se va putea msura

    diferena dintre coordonatele punctului cunoscut i cele rezultate pentru acelai punct din analiza semnalelor GPS.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Moduri de calcul a pozitiei GPS precizii estimate (continuare)

    In modul diferential, diferenele calculate vor fi folosite pentru corectarea coordonatelor determinate

    cu un receptor mobil n alte puncte din zona

    respectiv.

    Acest mod de lucru este foarte precis (1-5 cm), dar distana dintre receptorul mobil i staia de baz nu

    trebuie s depeasc 30 km.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Receptoare GPS

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

    Sunt utilizate pentru aflarea pozitiei curente a posesorului receptorului.

    Paleta de aplicatii care pot fi dezvoltate este foarte larga

    Aplicatiile mobile folosesc din ce in ce mai mult tehnologia GPS

    Receptoarele GPS tind sa fie un hardware inclus in terminalele GSM

    Puterea si precizia receptoarelor depind de calitatile hardware ale receptorului, de pozitionarea in spatiu si de conditiile meteo

    Antena GPS este componenta de baza

  • Probleme de infrastructura

    Detalii interesante la adresa

    http://www.realitatea.net/sistemul-de-sateliti-gps-ar-putea-ceda-pana-in-anul-2010_521316.html

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Despre GPS si pozitionare geografica

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

    http://www.itouchmap.com/latlong.html?latitude=47+38&longitude=122+11

    http://ro.wikipedia.org/wiki/Nod_(unitate)

    Adrese utile pentru teste si notiuni de baza GPS:

  • Aplicatii mobile integrate cu capacitati GPS

    Conditii prealabile:

    Emulator dispozitiv mobil (Android Virtual Device)

    Simulator/emulator pentru generarea pozitiei gps curente (DDMS Dalvik Debug Monitor Server)

    Gps functional (dispozitivul sa fie pe on)

    O biblioteca ce ofera posibilitatea de a intercepta si de a folosi GPS-ul din dispozitiv

    Permisiunea android.permission.ACCESS_FINE_LOCATION (de tip uses permission) in fisierul AndroidManifest.xml

    (c) Octavian Dospinescu & Marian Perca

    2012-2013 pentru Master SIA

  • Aplicatii mobile integrate cu capacitati GPS

    Conditii prealabile:

    Emulator dispozitiv mobil (Android Virtual Device)

    Simulator/emulator pentru generarea pozitiei gps curente (DDMS Dalvik Debug Monitor Server)

    Gps functional (dispozitivul sa fie pe on)

    O biblioteca ce ofera posibilitatea de a intercepta si de a folosi GPS-ul din dispozitiv

    Permisiunea android.permission.ACCESS_FINE_LOCATION (de tip uses permission) in fisierul AndroidManifest.xml

    (c) Octavian Dospinescu & Marian Perca

    2012-2013 pentru Master SIA

  • Aplicatii mobile integrate cu capacitati GPS

    n Android putem accesa coordonatele unui dispozitiv mobil precum i altitudinea, direcia sau viteza prin intermediul obiectului LocationProvider.

    cu ajutorul acestui manager ne abonm la notificrile trimise de serviciul care se ocup de localizarea noastr.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Aplicatii mobile integrate cu capacitati GPS

    Aproape toate serviciile din Android folosesc acelai mecanism de publicare / abonare, adic o aplicaie trebuie s se aboneze la notificrile trimise de un serviciu, i trebuie s ofere metode care vor fi apelate atunci cnd un anumit eveniment va avea loc.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Tehnica generala de lucru

    Etapele generale pentru a afla locaia curenta sunt urmtoarele:

    vom crea un obiect de tip Manager cu ajutorul cruia vom accesa serviciile care ne ofer informaii despre locaie;

    cu ajutorul metodei getLastKnownLocation() verificm dac exist informaii despre ultima locaie aflat de sistem i le afim pe acestea;

    verificm n permanen dac locaia s-a schimbat i afim informaii.

    (c) Octavian Dospinescu & Marian Perca

    2012-2013 pentru Master SIA

  • Accesare servicii de sistem in Android

    Pentru a accesa serviciile de sistem din Android va trebui s folosim metoda getSystemService(), care va ntoarce un obiect de tip Manager, cu ajutorul cruia putem accesa informaii despre serviciul dorit.

    Aceasta metod accept ca parametru numele serviciului dorit; n cazul nostru dorim s accesm informaiile despre locaie, de aceea vom transmite parametrul LOCATION_SERVICE.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Accesare servicii de sistem in Android observatii utile

    Trebuie s avem n vedere la crearea aplicaiilor faptul c actualizrile cerute de la un anumit serviciu sunt mari consumatoare de baterie.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Accesare servicii de sistem in Android observatii utile

    trebuie s ne folosim de ciclul de via al activitilor i s cerem aceste actualizri doar atunci cnd utilizatorul folosete aplicaia.

    pentru a realiza acest lucru vom suprascrie metodele onPause() i onResume() unde ne vom dezabona respectiv abona de la actualizrile primite de la serviciul de sistem.

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Implementare practica

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

    public class PrjGPSActivity extends Activity implements LocationListener {

    /** Called when the activity is first created. */

    TextView afisareCoordonate;

    LocationManager locManager;

    @Override

    public void onCreate (Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    //codul meu

    afisareCoordonate = (TextView) findViewById(R.id.lblLocatie);

    //cu ajutorul acestui manager voi primi notificari cand locatia se schimba

    locManager = (LocationManager) getSystemService(LOCATION_SERVICE);

    Location ultimaLocatie = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

    if (ultimaLocatie != null)

    onLocationChanged(ultimaLocatie);

    }

  • Implementare practica

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

    @Override

    public void onLocationChanged (Location location) {

    //s-a schimbat locatia, deci afisez noile valori

    this.afisareCoordonate.setText(Double.toString(location.getLatitude()));

    }

    @Override

    protected void onResume() {

    super.onResume();

    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10,

    this);

    }

  • Implementare practica

    n metoda onResume() cerem sistemului s reia transmiterea notificrilor. Pentru a realiza acest lucru am apelat metoda requestLocationUpdates() care poate primi urmtorii parametri:

    public void requestLocationUpdates (String provider, long minTime, float

    minDistance, LocationListener listener)

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Simulare satelit pentru GPS

    n cadrul unui emulator, pentru a simula GPS-ul trebuie s i transmitem manual coordonatele dorite n format zecimal sau hexazecimal.

    Aceast aciune poate fi realizat fie din linia de comand fie cu ajutorul uneltei Dalvik Debug Monitor Server (DDMS).

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Dalvik Debug Monitor Server (DDMS)

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA

  • Dalvik Debug Monitor Server (DDMS)

    (c) Octavian Dospinescu & Marian Perca 2012-2013 pentru Master SIA