ama_2012_curs_6_gps
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