Sunteți pe pagina 1din 37

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