CH NG 2 : CS LÝ THUY T
2.2 Sd ng GPS và A-GPS trên Windowsphone
2.2.1 T ng quan v GPS
GPS là t vi t t t c a Global Positioning System có ngh a là h th ng đnh v toàn c u, dùng đ xác đnh v trí trên trái đ t thơng qua các v tinh nhân t o, do B Qu c phòng M thi t k , xây d ng, v n hành và qu n lý.
H th ng GPS bao g m 3 thành ph n chính:
Ph n khơng gian: g m 24 v tinh (trong đó có 21 v tinh ho t đ ng và 3 v tinh d phịng). Chúng cách m t đ t 12 nghìn d m (1 d m = 1,609 km), chuy n đ ng n đnh, th c hi n 2 vòng qu đ o trong kho ng th i gian g n 24 gi . Các v tinh này bay v i v n t c 7 nghìn d m m t gi và đ c b trí trên qu đ o sao cho các máy thu GPS có th nhìn th y t i thi u 4 v tinh vào b t k th i đi m nào.
Ph n ki m sốt: có ch c n ng ki m soát các v tinh đi đúng h ng trên qu đ o và thông tin th i gian chính xác. Có t t c 5 tr m ki m soát đ c đ t r i rác trên trái đ t, trong đó có 4 tr m ho t đ ng t đ ng và 1 tr m làm nhi m v ki m soát trung tâm. B n tr m t đ ng nh n tín hi u liên t c t v tinh và g i d li u v tr m trung tâm. T i đây, d li u s đ c s a l i cho đúng và k t h p v i 2 anten khác đ g i l i thông tin cho các v tinh.
Ph n s d ng: là các thi t b nh n tín hi u v tinh GPS và ng i s d ng các thi t b này.
GPS ho t đ ng theo c ch sau:
Các v tinh GPS bay vòng quanh Trái t hai l n trong m t ngày theo m t qu đ o r t chính xác và phát tín hi u có thơng tin xu ng Trái t. Các máy thu GPS nh n thông tin này và b ng phép tính l ng giác tính đ c chính xác v trí c a ng i dùng. V b n ch t, các máy thu GPS s so sánh th i gian tín hi u đ c phát đi t v tinh v i th i gian nh n đ c chúng. sai l nh v th i gian này cho bi t máy thu GPS cách v tinh bao xa. K t h p v i nhi u kho ng cách đo đ c t nhi u v tinh, máy thu có th tính đ c v trí c a ng i dùng và hi n th lên b n đ .
2.2.2 T ng quan v A-GPS
A-GPS là t vi t t t c a Assisted Global Positioning System, là h th ng đnh v s d ng thêm các thông tin tr giúp thông tin GPS.
H u h t các thi t b c m tay GPS hi n nay (nh đi n tho i di đ ng, PDA,…) đ u ng d ng cơng ngh A-GPS (Assisted GPS). B i vì, trong nhi u đi u ki n th c t , vi c truy n d n tín hi u GPS gi a v tinh và thi t b nh n trên m t đ t ho t đ ng r t kém ho c th m chí không th ho t đ ng, nh t là trong các thành ph l n nhi u v i nhà cao t ng ho c trong khơng gian kín. Và do đó, A-GPS chính là gi i pháp cho v n đ này.
A-GPS ho t đ ng theo c ch sau :
Thay cho vi c truy n tín hi u đ n v tinh, A-GPS k t n i tín hi u qua m t “tr m trung chuy n”, đó là m t h th ng máy ch h tr . H th ng trung gian này xác đnh v trí
c a thi t b so v i các tr m thu phát sóng c a các m ng đi n tho i trung gian trong khu v c và t đó tính tốn ra v trí trên h th ng GPS.
Hình 2.2: Cách th c ho t đ ng c a A-GPS
Có th nói, n u khơng có s h tr c a các tr m trung chuy n qua m ng đi n tho i di đ ng này, thi t b A-GPS v n có th nh n đ c tín hi u t v tinh nh ng khơng có kh n ng gi i mã v trí.
B ng 2.3: B ng so sánh A-GPS và GPS trên m t s l nh v c
A-GPS
(Assisted Global Positioning System) GPS (Global Positioning System) Ngu n l y thông tin Tín hi u t các v tinh cùng v i tín hi u t các c t BTS (tr m thu phát sóng di đ ng) c a nhà cung c p d ch v m ng. Tín hi u t các v tinh. T c đ A-GPS xác đnh t a đ nhanh h n, do có k t n i v i các c t BTS, nhanh h n k t n i v i v tinh. Th ng m t hàng phút đ xác đ nh t a đ , vì ph i m t ch ng đó th i gian m i có th k t n i đ n đ c t 4 v tinh tr lên. Và thi t b ph i khu v c thống, khơng b che ch n. M c đ tin c y T a đ xác đ nh b i A-GPS th ng có sai s nhi u h n GPS. T a đ xác đnh b i GPS th ng có chính xác cao (sai l ch trong ph m vi 1m) Chi phí A-GPS có th m t phí, vì ph i s d ng sóng c a nhà cung c p d ch v m ng. GPS k t n i đ n các v tinh cung c p mi n phí.
Các thi t b dùng i n tho i di đ ng. Các thi t b đnh v trên ô tô, máy bay, tàu bi n ...
2.2.3 S d ng GPS trên Windows phone
Trên môi tr ng l p trình, Windows phone 8 h tr vi c l y thơng tin v trí c a đi n tho i GPS thông qua hai l p (class) sau:
GeoCoordinateWatcher class thu c namespace System.Device.Location. Geolocator class thu c namespace Windows.Devices.Geolocation. Hai class trên có nh ng đi m chung, đi m riêng sau:
2.2.3.1. i m chung
C hai class trên đ u h tr cho vi c l y thơng tin v trí c a đi n tho i GPS thông qua c hai cách:
L y thông tin v trí c a đi n tho i t i th i đi m yêu c u. L y thơng tin v trí c a đi n tho i m t cách liên t c.
2.2.3.2. i m riêng
B ng 2.4: B ng so sánh GeoCoordinateWatcher class và Geolocator class
GeoCoordinateWatcher class Geolocator class
Namespace System.Device.Location Windows.Devices.Geolocation
Ngu n g c Có t Windows phone 7 Ch có Windows phone 8
Kh n ng truy xu t
thơng tin v trí T t Nhanh h n, t i u h n so v i GeoCoordinateWatcher
c đi m khác khi s d ng
- Không h tr truy xu t thông tin ch đ n n.
- Cung c p ph ng th c start(), stop() đ b t đ u và k t thúc yêu c u truy xu t.
- Thu c tính Position ch a thơng tin v trí c a đi n tho i
- H tr truy xu t thông tin ch đ n n (background). - Khơng có ph ng th c start(), stop(), ch c n khai báo đ i t ng thu c l p.
- GetGeopostionAsync(): l y thơng tin v trí c a đi n thoai. Trong ng d ng c a đ tài, vi c truy xu t thơng tin v trí đi n tho i GPS đ c th c hi n thông qua Geolocator class.
2.2.3.3. S d ng Geolocation class
s d ng Geolocation class, ta c n ph i:
Khai báo namespace Windows.Devices.Geolocation.
B t ID_CAP_LOCATION trong file WMAppManifest.xml c a ng d ng. L p Geolocation cung c p cho ng i dùng truy xu t thơng tin v trí c a đi n tho i GPS thông qua hai cách sau:
Truy xu t thơng tin v trí t i th i đi m yêu c u (single-shot location). Truy xu t liên t c thơng tin v trí đi n tho i (continuously location).
Vi c s d ng cách truy xu t thông tin nào là tùy thu c vào yêu c u c a t ng ng d ng c th . Tuy nhiên, đ i v i các ng d ng ch yêu c u thông tin GPS c a đi n tho i t i m t th i đi m nào đó thì cách 1 là s l a ch n t t nh t, còn đ i v i các ng d ng yêu c u c p nh t liên t c v trí c a đi n tho i thì nên ch n cách 2, tuy nhiên vi c s d ng cách này s tiêu t n n ng l ng pin c a đi n tho i nhi u h n.
2.2.3.3.1. Single-shot location
truy xu t thơng tin v trí t i m t th i đi m, ta th c hi n các b c sau: B c 1: kh i t o m t đ i t ng thu c l p Geolocation.
B c 2: Thi t l p thu c tính tùy ch n DesiredAccuracyInMeters cho đ i t ng v a t o đ xác đnh đ chính xác mong mu n (đ n v mét) cho d li u tr v t vi c xác đ nh v trí.
B c 3: S d ng ph ng th c b t đ ng b GetPositionAsync() ho c GetPositionAsync(Timespan, Timespan) đ l y v trí c a đi n tho i. Các ph ng th c trên có th s d ng k t h p v i t khóa await (s d ng await đòi h i ph ng th c ch a nó ph i khai báo async) phía tr c đ “ch ” các ph ng th c này hồn t t nh m gán thơng tin k t qu cho đ i t ng thu c l p GeoPosition.
2.2.3.3.2. Continuously location
truy xu t liên t c thơng tin v trí c a đi n tho i, ta th c hi n các b c sau: B c 1: kh i t o m t đ i t ng thu c l p Geolocation.
B c 2: thi t l p các thông s tùy ch n và khai báo các s ki n cho đ i t ng:
o DesiredAccuracy: bao g m 2 thông s Default (m c đ nh) và High, dùng đ thi t l p đ chính xác cho vi c truy xu t thơng tin v trí GPS, trong đó:
Default: s d ng Wi-Fi ho c các tháp tín hi u di đ ng đ xác đnh v trí, tùy thu c vào s s n có c a các ngu n.
High: s d ng b nh n GPS đ xác đnh v trí, cho đ chính xác cao h n ch đ m c đnh (default), tuy nhiên có th làm nh h ng đ n hi u su t ho t đ ng c a ng d ng.
o Movement Threshold: xác đnh kho ng cách t i thi u tính b ng mét đ phát sinh s ki n PositonChanged.
B c 3: Khai báo các s ki n (event handle) StatusChanged và PositionChanged
cho đ i t ng.
StatusChanged là s ki n đ c phát sinh khi có s thay đ i v tình tr ng truy xu t thơng tin v trí c a đi n tho i v i các giá tr sau:
PositionStatus.Disable: cho bi t ng d ng không đ c phép s d ng thông tin GPS ho c GPS ch a đ c m .
PositionStatus.Initializing: đang chu n b cho vi c truy xu t thơng tin v trí đi n tho i.
PositionStatus.Nodata: không truy xu t đ c thông tin v trí. PositionStatus.Ready: truy xu t thành cơng, có d li u tr v .
PositionStatus.NotAvailable: c nh báo này không xu t hi n trong ng d ng Windows phone, ch xu t hi n trong ng d ng Windows desktop khi yêu c u ph n c ng không đáp ng đ c.
PositionChanged là s ki n đ c phát sinh khi có s thay đ i v v trí c a thi t b GPS, trong s ki n này tham s PositionChangedEventArgs ch a các thơng tin liên quan v v trí c a thi t b .