Trắc địa vệ tinh bao gồm các kỹ thuật đo đạc và tính toán để cho phép giải các bài toán trắc địa bằng cách dùng các trị đo chính xác từ vệ tinh nhân tạo, chủ yếu là các vệ tinh gần trái đất. Xác định chính xác vị trí 3 chiều ở phạm vi địa phương, vùng và toàn cầu (như thành lập mạng lướik hống chế trắc địa) là một trong ba bài toán cơ bản (ngoài ra còn hai bài toán khác là: xác định trọng trường và đo đạcmô hình các hiện tượng địa động học)
Trang 1Module: Cơ sở định vị trên thiết bị di động
và phần mềm ArcPad
Mục lục
I Cơ bản về định vị GPS và cơ sở định vị trên thiết bị di động 2
I.1 Cơ bản về định vị GPS 2
I.1.1 Sơ lược về hệ thống định vị và định vị GPS: thông tin cơ bản và nguyên lý 2
I.1.2 Các thông số trong định vị 4
I.1.3 Định vị trên phần mềm GIS 4
I.2 Cơ sở định vị trên thiết bị di động 5
II.2.1 Những vấn đề kỹ thuật cần quan tâm với định vị bằng thiết bị di động 5
II.2.2 Phương thức định vị 7
II Phần mềm ArcPad 12
II.1 Tổng quan về ArcPad và Windows Mobile 12
II.2 Phần mềm ArcPad: Cài đặt 16
II.2.1 Cài đặt ArcPad trên Windows 16
II.2.2 Cài đặt hệ thống kết nối Windows Phone từ máy tính và ArcPad trên hệ thống di động 18
II.3 Một số thao tác cơ bản trên ArcPad 20
II.4 Một số thao tác nâng cao trên ArcPad 23
II.5 ArcPad: vai trò và liên kết trong hệ thống ArcGIS 24
III Thảo luận một số ứng dụng về quản lý rừng trên thiết bị di động 25
Trang 2I Cơ bản về định vị GPS và cơ sở định vị trên thiết bị di động
I.1 Cơ bản về định vị GPS
I.1.1 Sơ lược về hệ thống định vị và định vị GPS: thông tin cơ bản và nguyên lý
Trắc địa vệ tinh bao gồm các kỹ thuật đo đạc và tính toán để cho phép giải các bài toán trắc địa bằng cách dùng các trị đo chính xác từ vệ tinh nhân tạo, chủ yếu là các vệ tinh gần trái đất Xác
định chính xác vị trí 3 chiều ở phạm vi địa phương, vùng và toàn cầu (như thành lập mạng lưới
khống chế trắc địa) là một trong ba bài toán cơ bản (ngoài ra còn hai bài toán khác là: xác định trọng trường và đo đạc/mô hình các hiện tượng địa động học)
• Lịch sử phát triển của trắc địa vệ tinh:
- Bắt đầu với việc phóng vệ tinh nhân tạo đầu tiên của trái đất SPUTNIK-1 vào ngày 4/10/1957
Lưu ý: vệ tinh SPUTNIK-1 là một hình cầu bằng nhôm, có đường kính dài 58cm, gắn 4
ănten dài 2.4 đến 2.9 mét Trọng lượng 83.6kg, bên trong gồm bộ phát tín hiệu chu kì 0.3
giây (hoạt động trong 3 tuần đến khi hết pin, đủ để kiểm chứng hiệu ứng Doppler), bộ ghi nhận nhiệt độ trong và ngoài bề mặt cầu Sputnik-1 hoạt động 92 ngày, hoàn tất 1400 vòng quay xung quanh trái đất với quãng đường khoảng 70 triệu km
- Giai đoạn 1958 – 1970: phát triển các phương pháp cơ bản cho việc quan trắc vệ tinh, cho việc tính toán và phân tích quỹ đạo vệ tinh Những hệ thống định vị được phóng trong giai đoạn này là: TRANSIT (Mỹ, 1961), TSIKADA (Liên Xô cũ)
- Giai đoạn 1970 – 1980: phát triển các đồ án khoa học, các kỹ thuật đo mới được phát triển và tinh lọc Như hệ thống TRANSIT được sử dụng cho định vị Doppler Đặc biệt trong giai đoạn này là việc phóng thành công hai hệ thống định vị vệ tinh thế hệ mới GPS của Mỹ và GLONASS của Liên Xô cũ
- Giai đoạn 1980 đến nay, ứng dụng các kỹ thuật vệ tinh vào trắc địa Các phương pháp vệ tinh ngày càng được cộng đồng sử dụng rộng rãi thay cho các phương pháp truyền thống
• Các hệ thống định vị vệ tinh:
- TRANSIT (Mỹ): Hoạt động từ 1964; có 4-6 vệ tinh ở độ cao 1075km; phục vụ cho hệ thống quân sự của Mỹ
- TSIKADA (Liên Xô cũ): tương đương với TRANSIT
- NAVSTAR GPS (nay tên thường gọi là GPS) (Mỹ): thay thế TRANSIT, hiện có 31 vệ tinh
- GLONASS (Liên Xô cũ, nay thuộc Nga): tương đương với GPS, hiện có 24 vệ tinh
- GALILEO (Châu Âu): mục đích thương mại, bắt đầu từ năm 2005, hiện có 24 vệ tinh
- COMPASS (Trung Quốc): hiện có 24 vệ tinh
Trang 3• Hệ thống GPS:
- Tên đầy đủ là NAVigation System with Time and Ranging Global Positioning System
Đây là một hệ thống radio hàng hải dựa vào các vệ tinh để cung cấp thông tin về vị trí 3
chiều và thời gian chính xác Hệ thống luôn luôn sẵn sàng trên phạm vi toàn cầu và hoạt
động trong mọi điều kiện thời tiết
- Hoạt động từ năm 1973 để thay thế TRANSIT Là kết quả phối hợp của hai đề tài độc lập nhau vào đầu những năm 1960: chương trình TIMATION (hải quân Mỹ) và đề án 621B (của không lực Mỹ)
- GPS sẵn sàng cho dân sự từ năm 1984 Hiện nay GPS sử dụng miễn phí cho cộng đồng dân sự nhưng ở một mức độ giới hạn
- Thông tin cơ bản: góc nghiêng 55 độ so với trục, có 6 mặt phẳng quỹ đạo, (ít nhất) 4 vệ tinh trên mỗi mặt phẳng quỹ đạo, bay ở độ cao 20200km, bay ở các quỹ đạo gần tròn
- Hệ thống gồm 3 thành phần: Mảng không gian (các vệ tinh), mảng (05 trạm) điều khiển trên mặt đất và mảng người sử dụng (các máy thu tín hiệu GPS, và các phần mềm xử lý)
- Chức năng của các vệ tinh:
Thu nhận và lưu trữ dữ liệu từ mảng điều khiển;
Cung cấp thời gian chính xác bằng các chuẩn tần số nguyên tử đặt trên vệ tinh; Truyền thông tin và cùng một loại tín hiệu đến người sử dụng trên một hay hai tần
số (L1: 1575.42MHz và L2: 1227.60MHz); tín hiệu gồm 3 phần: mã dân sự C/A,
mã quân sự P và thông báo hàng hải (do các trạm điều khiển gửi nội dung là lịch/quỹ đạo của các vệ tinh) Lưu ý: C1 sai số 3 mét, P1 và P2 sai số 0.3 mét, L1&L2 sai số vài mm
- Chính sách SA – Selective Availability (bắt đầu từ 1/7/1991 – kết thúc vào 5/2000): gồm
2 thành phần gây nhiễu lên thông tin quỹ đạo trong thông báo hàng hải để tọa độ vệ tinh không được tính toán một cách chính xác (tuy nhiên các nghiên cứu không tìm ra ảnh hưởng thực) và làm “run” tần số xuất của đồng hồ vệ tinh, làm đồng hồ vệ tinh giảm độ chính xác 15-16 lần (ảnh hưởng đến việc tính toán giả cự li và trị đo pha)
- Chính sách AS – Anti-spoofing: từ 31/01/1994 đến nay Cơ bản là một mã W trộn vào
mã P tạo ra mã Y và chỉ những máy thu quân sự mới giải mã được mã Y Do đó, máy thu chỉ còn thu được mã C/A và sóng tải L1, nghĩa là thu 1 tần số Tuy nhiên, các nhà sản xuất đã giải mã thành công mà không cần biết cấu trúc mã Y Nhưng giá thành các máy thu hai tần số trở nên đắt
- Ngoài 2 chính sách làm sai số trên, trong trị đo khoảng cách còn nhiều các sai số hệ thống khác như: sai số đồng hồ (vệ tinh và máy thu), sai số do môi trường truyền tín hiệu, sai số
đa đường truyền,
• Nguyên tắc định vị vệ tinh:
- Định vị tuyệt đối: mỗi vệ tinh phát tín hiệu và máy thu GPS nhận được: tọa độ vệ tinh,
thời gian truyền (suy ra khoảng cách) Do đó, trên lý thuyết, khi nhận được >=03 vệ tinh
Trang 4sẽ tính được vị trí trên mặt đất bằng Trên thực tế, cần >=04 vệ tinh để khử sai số đồng hồ máy thu
- Định vị tương đối: định vị vị trí so với 1 trạm tĩnh trên mặt đất
- Cấu hình vệ tinh: nguyên tắc: các vệ tinh tập trung vào một vùng trên không thì tín hiệu không chính xác như các vệ tinh trãi đều trên bầu trời! Chỉ số ảnh hưởng: GDOP
I.1.2 Các thông số trong định vị
Khi làm việc trong rừng, hoặc dưới những nơi che khuất, giá trị PDOP sẽ thấp! Và vệ tinh sẽ ở rất cao!
Ngoài giá trị cấu hình vệ tinh GDOP, các giá trị khác bao gồm:
- PDOP (Position Dilution of Precision hay còn gọi là Spherical DOP): hệ số suy giảm độ chính xác vị trí
- HDOP (Horizontal Dilution of Precision): hệ số suy giảm độ chính xác theo phương ngang (kinh độ - vĩ độ)
- VDOP (Vertical Dilution of Precision): hệ số suy giảm độ chính xác theo phương đứng (độ cao)
- TDOP (Time Dilution of Precision): hệ số suy giảm chính xác về thời gian
I.1.3 Định vị trên phần mềm GIS
Thực tập thử nghiệm định vị GPS trên phần mềm ArcGIS
• Kết nối đến GPS và hiển thị các thông tin GPS, các vệ tinh bằng chương trình GPS Information:
Trang 5I.2 Cơ sở định vị trên thiết bị di động
Các dịch vụ có liên quan đến vị trí địa lý (LBS – Location-based services) là một trong những đặc trưng của các ứng dụng web trên thiết bị di động hiện đại Theo đó, những website phục vụ
di động có nhiều kỹ thuật cung cấp thông tin về vị trí Bản đồ và các dịch vụ LBS rất phổ biến ngày nay và chúng ta dễ dàng tìm thấy những dịch vụ web cũng như các API từ những nhà cung cấp để tích hợp vào trang các web phục vụ thiết bị di động
II.2.1 Những vấn đề kỹ thuật cần quan tâm với định vị bằng thiết bị di động
Chúng ta có nhiều kỹ thuật khác nhau để định vị trí của thiết bị, dự vào nền tảng, dựa vào trình duyệt, dựa vào hoạt động của máy,… Hầu hết các phương pháp đều liên quan đến việc tìm kiếm máy chủ, nhưng một số kỹ thuật lại dựa vào việc tìm kiếm tại máy trạm và thậm chí chúng ta có thể tự nhập vị trí Dưới đây là một số vấn đề cần quan tâm:
• Mức độ chính xác: Mỗi công nghệ định vị trí đều có sai số độ chính xác Điều này được xác định trong phép đo, như sai số mét hoặc kilomet Tất nhiên, độ chính xác của từng kỹ thuật được định nghĩa tùy thuộc cấp độ như: chính xác cấp tỉnh thành hoặc chính xác chỉ cần cấp quốc gia
• Định vị trong nhà: Khi nghĩ đến định vị địa lý, hầu như chúng ta chỉ nghĩ đến định vị ngoài trời, nghĩa là định vị vị trí trên bề mặt trái đất Gần đây, những dịch vụ hấp dẫn sẽ
định vị vị trí người sử dụng trong một tòa nhà Ví dụ, định vị vị trí trong một văn phòng
hoặc trong một cửa hàng của tòa nhà thương mại Ý tưởng để cung cấp vị trí chính xác người sử dụng bên trong tòa nhà như: tầng của tòa nhà hoặc căn hộ mà người sử dụng
đang ở trong chung cư Và những dịch vụ thế có thể được đưa lên trên Internet, hoặc
thậm chí các dịch vụ có thể cung cáp trên intranet với người sử dụng bằng các kết nối mạng LAN không dây
• Các kỹ thuật máy trạm: Các thiết bị cung cấp nhiều giải pháp để định vị chúng Các giải pháp khác nhau sẽ đưa ra những kết quả khác nhau
- GPS: Hệ thống GPS là hệ thống kỹ thuật đầu tiên mà mọi người sẽ nghĩ đến với vấn
đề định vị vị trí Hệ thống được chính phủ Mỹ tạo để định vị các thiết bị với khoảng
24 – 32 vệ tinh bay xung quanh trái đất Nhiều thiết bị di động được tích hợp thiết bị nhận tín hiệu vệ tinh GPS (tối thiểu nhận được tín hiệu tốt từ 4 vệ tinh) để định thông tin vị trí hiện hành Hiện nay, các thiết bị di động có sai số độ c hính xác dao động từ
2 mét đến 100 mét Điều kiện sử dụng là ngoài trời và thời gian cần để thu tín hiệu là
5 giây đến 5 phút để tính vị trí
- AGPS: Hệ thống trợ giúp định vị GPS (A-GPS, Assisted GPS) là hệ thống phần mềm
có trên các máy điện thoại di động để kết nối đến mạng để định vị vị trí máy điện thoại Phương pháp định vị như thế có đặc điểm là tín hiệu tốt hơn tín hiệu vệ tinh, vị trí định vị kém chính xác hơn so với định vị GPS Ví dụ: năm 2006, điện thoại Nokia N95 có hỗ trợ GPS có thể định vị vị trí trong thời gian 5 phút với sai số 10 mét Và
Trang 6khi được nâng cấp firmware hỗ trợ A-GPS thì thời gian định vị là 10 giây, nhưng sai
số độ chính xác là 100m
- Định vị phương pháp Cell: Đây là kỹ thuật sử dụng nhiều máy thu được tín hiệu
của điện thoại để định vị vị trí điện thoại Độ chính xác phục thuộc vào vùng có tín hiệu điện thoại chung của các máy thu Chúng ta biết được vị trí của máy thu, do đó, chúng ta có thể biết được vị trí của thiết bị di động Tuy nhiên, độ chính xác sẽ từ một vài tòa nhà đến một vài kilomet khi ở khu vực ngoại thành
Hình minh họa kỹ thuật định vị Cell [ http://www.neilson.co.za/?p=364 ]
- Định vị bằng hệ thống Wifi: Nếu chúng ta sử dụng máy tính xách tay truy cập WiFi
đến trang GoogleMap và nhấp vào vòng tròn xanh (vị trí của tôi) thì chúng ta có thể định vị được vị trí Điều này do hệ thống định vị WiFi (WPS) định vị trí của thiết bị
không dây ở khu vực chúng ta (do đó, chỉ đúng với các thành phố và đô thị lớn) Điều này có được do các bộ định tuyến (router) có sẵn cơ sở dữ liệu mã vị trí Và Skyhook Wireless là đơn vị cung cấp, hỗ trợ các chương trình đối với hầu hết các máy di động
và máy để bàn Google cũng có cơ sở dữ liệu riêng của họ và được cung cấp bởi Firefox Như vậy, chỉ cần có trình duyệt cho thiết bị di động có hỗ trợ danh sách các thiết bị WiFi
• Các kỹ thuật có hỗ trợ/sử dụng máy chủ: Trên server, chúng ta có thể thu nhận các yêu cầu từ các HTTP Đó là cơ sở để định vị người sử dụng mà không cần sử dụng các kỹ thuật máy trạm như GPS, và điều này có thể áp dụng cho các thiết bị có ít tính năng (low-end devices)
- Kỹ thuật địa chỉ IP: Kỹ thuật chính để định vị trí người sử dụng là địa chỉ IP Tuy
nhiên, tùy thuộc vào loại kết nối của người sử dụng (2G, 3G hoặc WiFi), mà địa chỉ nhận được có thể chỉ là những địa chỉ gateway (địa chỉ của các thiết bị trung gian), hoặc địa chỉ IP động trong một vùng hoặc địa chỉ IP của kết nối WiFi Phức tạp hơn, với kỹ thuật sử dụng những proxy trong trình duyệt, các thiết bị có thể kết nối đến các máy chủ Internet Khi đó, địa chỉ có thể là những địa chỉ của các hệ thống máy chủ trên mạng thay vì máy của người sử dụng Ví dụ: một số họ máy BlackBerry sử dụng kết nối Internet công ty, khi đó, mọi yêu cầu kết nối có thể đến từ vị trí xa người sử dụng vài nghìn kilomet Do đó, với địa chỉ IP, chúng ta chỉ có thể xác định được vị trí tương đối từ địa chỉ IP Độ chính xác sẽ là mức cấp quốc gia đến cấp thành phố, mặc
Trang 7dù trong một số trường hợp, thông qua các mạng WiFi công cộng, chúng ta có thể
định vị chính xác vị trí
- Kỹ thuật kết nối đến các trạm: Một số hoạt động trên toàn cầu cho phép các chương
trình do người lập trình phát triển với các web portal để thu thập thông tin về người
sử dụng (thông tin nhận diện, vị trí và các dịch vụ thanh toán) Tổ chức GSM (GSM Association) cho ra đời OneAPI nhằm mục tiêu cung cấp cho các ứng dụng web có thể thêm thông tin thông qua các API của nó
- Kỹ thuật ngôn ngữ: Kỹ thuật kém chính xác để xác định là ngôn ngữ người sử dụng chọn trên trình duyệt Nếu người sử dụng cài đặt đúng ngôn ngữ vào thiết bị và những thông số đó sẽ được truyền đến máy chủ Điều này sẽ cho biết người sử dụng có khả năng ở khu vực địa lý nào Tuy nhiên, mức độ định vị có độ chính xác ở cấp độ quốc gia (rất thấp)
- Định vị trí trong tòa nhà: Khi người sử dụng kết nối với các hotspot WiFi trong một tòa nhà, chúng ta có thể cấu hình các router để biết được người sử dụng đang ở khu vực nào Vì mỗi WLAN sẽ có một địa chỉ IP duy nhất trên mạng, do đó, chúng ta
sẽ biết được hotspot được kết nối và với thông tin đó, chúng ta có thể định vị được lầu hoặc khu vực người sử dụng đang hiện hành
sử dụng cung cấp thông tin vị trí Thông thường độ chính xác định vị bằng phương pháp này sẽ cao nhưng đôi khi người sử dụng có thể không biết họ đang ở đâu (như khi người
sử dụng đang ở nước ngoài) Khi đó, thông tin cần thu thập sẽ bao gồm cơ sở dữ liệu về tên thành phố, địa chỉ, các địa vật, địa danh (POI – Point of Interest) như nhà hàng, khách sạn, các trụ sở, chợ, chùa, nhà thờ,… Các web API của Yahoo! Place Maker, FourSquare
và Google Places được cung cấp Từ đó, chúng ta có thể chuyển đổi qua lại với tọa độ địa
lý Một số gợi ý về thông tin vị trí người sử dụng như: Nhà (Home), Vị trí yêu thích (Favorite place), History (Nơi từng đến) Những dữ liệu vị tí lưu trong cơ sở dữ liệu trên máy sẽ là thông tin phụ trợ đối với người sử dụng Những dữ liệu đó sẽ hỗ trợ định vị vị trí người sử dụng Ví dụ: theo thống kê, mỗi sáng người sử dụng đến nơi làm việc
II.2.2 Phương thức định vị
Đến nay, hai phương thức để định vị vị trí địa lý người sử dụng là: sử dụng các API Geolocation
của tổ chức W3C, có trong các hàm API của HTML5; hoặc sử dụng các API của các hãng thứ 3, thường trong các mạng điện thoại
• Hàm Geolocation cung cấp bởi W3C: Chuẩn W3C cho phép định vị trí người sử dụng bằng hàm JavaScript với bộ hàm Geolocation Bộ hàm Geolocation không dựa trên công nghệ định vị Thay vào đó, nó cho phép các trình duyệt tự quyết phương pháp sử dụng của trình duyệt Với hàm API này được cài đặt trên trình duyệt di động, đối tượng navigator trong JavaScript sẽ được là thuộc tính chỉ đọc gọi đến geolocation Truy vấn vị trí là một quá trình bất đồng bộ Nó có thể diễn ra bất cứ lúc nào khi người sử dụng cần;
Trang 8và do đó, những hàm API này sẽ trả về giá trị tọa độ địa lý lat và lon Người sử dụng sẽ cần cung cấp phương thức nhận vị trí bằng API
- Định vị trí:
Hàm getCurrentPosition() là hàm trả về vị trí người sử dụng Nó sẽ trả về 2 giá trị: vị
trí người sử dụng và giá trị (tùy chọn là) về lỗi hàm
Cú pháp cơ bản: navigator.geolocation.getCurrentPosition(vi_tri, loi_vi_tri)
Giá trị đầu tiên sẽ trả về vị trí với các thuộc tính tọa độ Và giá trị thứ hai sẽ trả về lỗi: function vi_tri(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var timeOfLocation = position.timestamp;
}
function loi_vi_tri(error) {
alert(error.code);
}
Thuộc tính coords có các thông tin thuộc tính, định nghĩa trong chuẩn W3C:
Latitude - vĩ độ, có đơn vị là độ thập phân;
Longitude – kinh độ, có đơn vị là độ thập phân;
Altitude – chiều cao, (tham số tùy chọn) có đơn vị là mét (thể hiện độ cao so với ellipsoid tại khu vực đó);
Độ chính xác theo mét;
Độ chính xác chiều cao (tham số tùy chọn) theo mét;
Heading (tham số tùy chọn) tính theo độ liên quan đến hướng Bắc;
Speed – Tốc độ, (tham số tùy chọn) đơn vị tính là mét trên giây
- Các thông báo lỗi:
Tham số về lỗi có các giá trị mã và message (phục vụ việc lưu log) Các giá trị hằng trong hàm Geolocation được tổ chức W3C quy định bao gồm:
PERMISSION_DENIED: người sử dụng không có quyền thực hiện lệnh lấy vị trí
POSITION_UNAVAILABLE: vị trí người sử dụng không thể định được do lỗi của phía cung cấp vị trí
TIMEOUT: vị trí người sử dụng không thể định được vì thời gian quá hạn được định nghĩa trong phần tùy chọn
Đoạn mã minh họa xử lý lỗi:
function locationError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
// xử lý lỗi break;
case error POSITION_UNAVAILABLE:
Trang 9// xử lý lỗi break;
case error TIMEOUT:
// xử lý lỗi break;
} }
- Theo vệt (track) vị trí: Phương thức thứ hai của các hàm API W3C Geolocation là
theo vệt (track) vị trí người sử dụng Khi có sự theo vệt vị trí, người sử dụng sẽ nhận
được thông báo nếu có sự thay đổi về vị trí Ví dụ: chúng ta có thể tạo trang tin về thể
thao để theo dõi bước chạy, tốc độ và tính toán khoảng cách của người sử dụng và lưu thông tin đó cục bộ hoặc sử dụng kỹ thuật Ajax để lưu thông tin trên máy chủ
Tiến trình theo vệt liên quan đến phương thức watchPosition() với hai tham số (vị trí nhận được và tham số lỗi và một mã watchId() của đối tượng navigator.geolocation Phương thức sẽ trả về những tham số như hàm getCurrentLocation() bên trên Để dừng việc theo vệt, chúng ta gọi hàm clearWatch() và truyền và giá trị watchId nhận
được bên trên Minh họa:
// Global variable to store the watch ID
var watchId = false;
// This function may be called by an HTML element
function trackingButtonClick() {
if (watchId==false) { // Tracking is off, turn it on var watchId = navigator.geolocation.watchPosition(userLocated, locationError);
} else { // Tracking is on, turn it off navigator.geolocation.clearWatch(watchId);
watchId = false;
} }
- Định nghĩa các thuộc tính tùy chọn:
Tham số thứ 3 của các hàm getCurrentLocation() và watchPosition() nhận được là các thuộc tính tùy chọn được liệt kê như sau:
enableHighAccuracy (kiểu boolean): giá trị mặc định False Giá trị này nếu là true thì thiết bị sẽ phải trả về phương thức định vị tốt nhất cho vị trí người sử dụng (như sử dụng tín hiệu GPS nếu có sẵn)
timeout (kiểu Long, đơn vị mili giây): mặc định vô cùng
maximunAge: (kiểu Long, đơn vị mili giây): mặc định 0 Thuộc tính này sử dụng khi muốn sử dụng vị trí được lưu cached trong thiết bị Thời gian lưu cached là
Trang 10giá trị của thuộc tính này Khi thời gian nhiều hơn thì thiết bị sẽ định vị trí mới Nếu giá trị là mặc định thì thiết bị luôn yêu cầu vị trí mới khi gọi hàm
getCurrentPosition() Thông thường, các tham số trên được định nghĩa bằng câu lệnh như sau:
navigator.geolocation.getCurrentPosition(userLocated, locationError, {timeout:10000, maximumAge: 30000, enableHighAccuracy:false});
Lưu ý:
o Đối với một số trình duyệt cũ trong các thế hệ Android 1.x, BlackBerry 5.0 và
Opera Mobile 9.5 không hỗ trợ các hàm Geolocation; nhưng chúng có thể hỗ trợ plugin Google Gears có tính năng tương tự như các hàm của chuẩn W3C
o Trình duyệt trên BlackBerry trước phiên bản 5.0 sử dụng đối tượng độc quyền: blackberry.location có tốc đọ nhanh hơn và ít tốn năng lượng (pin) hơn nhưng cung cấp độ chính xác và thông tin kém hơn so với Google Gear hoặc chuẩn W3C
- Geolocation API phiên bản 2.0:
Chuẩn W3C đang phát triển thế hệ tiếp theo của các hàm Geolocation API, bao gồm thêm các thông tin bổ sung vị trí xác định, chủ yếu là khả năng truy vấn đề các địa chỉ theo bưu điện
Hai thuộc tính boolean mà chúng ta cần sử dụng khi truy vấn về vị trí, đó là: yêu cầu tọa độ và yêu cầu địa chỉ (tên đường, số nhà, thành phố, đất nước)
Một khi sử dụng phương thức getCurrentPosition() hoặc watchPosition(), các thuộc tính về địa chỉ sẽ là thuộc tính tùy chọn Đối tượng địa chỉ sẽ chứa các thuộc tính: đất nước, vùng, hạt, tên thành phố, tên đường, số đường, cơ sở, và mã bưu cục (nếu có) Các thuộc tính đều là tùy chọn và tùy theo vị trí hiện tại của chúng ta do trình duyệt cung cấp
Tại thời điểm năm 2013, chưa có trình duyệt cho thiết bị di động hỗ trợ các đặc tính
đó Tuy nhiên, chúng ta có thể lấy được những thông tin nhờ vào các hàm API của
Google Maps
• Một số hàm địa chỉ do các mạng điện thoại cung cấp:
Một số mạng điện thoại cung cấp các API giúp người lập trình ứng dụng có thể sử dụng miễn phí hoặc tính tiền theo dịch vụ Các hàm như sau:
- GSMA OneAPI: OneAPI là hàm API hoạt động chéo (cross-operator) của tổ chức GSM Với bộ hàm API này, chúng ta có thể truy cập vị trí người sử dụng với server bằng số điện thoại của người sử dụng Bộ API này hỗ trợ SOAP Webservices và REST thông qua HTTP Một trong những dịch vụ cung cấp bởi OpenAPI là vị trí địa
lý Với bộ hàm Location API, chúng ta có thể lấy được vị trí kinh vĩ độ của người sử dụng thiết bị di động thông qua vị trí các ô nhận sóng của thiết bị di động Để sử dụng các API này, chúng ta phải có khóa của trang web (khóa được gán cho tài khoản của người lập trình trên hệ thống)
Trang 11Ví dụ: (trong ví dụ này <tel> là số điện thoại quốc tế của điện thoại cần định vị)
https://developer.aepona.com/TerminalLocationService/Proxy/REST/<key>?address
=tel:<tel>&accuracy=coarse
- Một số API của các nhà cung cấp xác định:
Minh họa dưới đây là danh sách các bộ hàm API lấy vị trí địa lý được sử dụng trên các dịch vụ mạng mà người sử dụng đăng ký:
Nền Verizon Network API, nhà cung cấp Verizon (Mỹ), địa chỉ: developer.verizon.com
Nền BlueVia, nhà cung cấp Movistar (Mỹ Latin, Tây Ban Nha), 02 (Anh, Đức), Telenor (Châu Á, Scandinavia, Đông Âu), địa chỉ: bluevia.com
Nền AT&T Location API, nhà cung cấp: AT&T (Mỹ), địa chỉ: developer.att.com/developer
Nền LBS Sprint API, nhà cung cấp Sprint (Mỹ), địa chỉ: developer.sprint.com Nền Orange Location API, nhà cung cấp Orange (Pháp), địa chỉ: api.orange.com Ngoài ra, nhà cung cấp LocAid cung cấp giải pháp cho hơn 350 triệu thiết bị với một API từ AT&T, Sprint, T-Mobile và Verizon Nhà cung cấp Location Labs cung cấp khả năng định vị 250 triệu thiết bị với một hàm đơn API
• Phương pháp IPGeolocation: Nhiều dịch vụ vị trí địa lý của địa chỉ IP miễn phí và có phí trên mạng Khi sử dụng như một giải pháp, chúng ta cần nhớ rằng BlackBerry có thể duyệt thông qua mạng của công ty nào đó, do đó, địa chỉ IP sẽ là địa chỉ của công ty đó chứ không phải của người sử dụng Và tương tự đối với Opera Mini, các trình duyệt cũng
sử dụng proxy
- Đọc địa chỉ IP: Một người dùng Opera Mini truy cập thành công vào thì địa chỉ IP sẽ
là như nhau, vì máy trạm kết nối đến máy chủ thật sự là máy chủ Opera Mini Khi đó, các server Opera Mini cung cấp cho chúng ta một HTTP header khác để cung cấp địa chỉ thật sự cho các yêu cầu từ thiết bị di động, đó là: X-Forwarded-For header chứa dang sách CSV địa chỉ IP cho tất cả các máy chủ proxy yêu cầu để chuyển thông qua
nó trên đường đi từ thiết bị đến proxy Mini, và địa chỉ IP cuối sẽ là địa chỉ của thiết bị
di động Một khi chúng ta có địa chỉ IP để truy vấn, chúng ta có thể sử dụng dịch vụ web để lấy chi tiết về đất nước, hoặc download cơ sở dữ liệu mã nguồn mở Geo-IP Lưu ý: IP geocoding có tác dụng đối với các mạng điện thoại trong nước của người sử dụng cho thiết bị kết nối trên Internet thông qua 2.5G hoặc 3G Vì chúng ta chỉ nhận
được địa chỉ IP của gateway Và khi sử dụng kết nối WiFi, tùy theo vùng, chúng ta có
thể có nhiều thông tin cụ thể chính xác hơn
- Đối tượng ClientLocation của Google: Google cung cấp tập hàm JavaScript API (bản
đồ, tìm kiếm) ddeer có thể sử dụng tạo ra các trang web động có nhiều tính năng Một
khi những API này được tải trên máy trạm, Google Loader cố gắng định vị địa lý người sử dụng bằng địa chỉ IP của thiết bị
Trang 12Để các hàm API hoạt động, chúng ta cần thêm đoạn code sau:
Tài liệu tham khảo và trích dẫn:
[1] Maximiliano Firtman, Chương 14, sách: Programming the Mobile Web, second edition, nhà
xuất bản O’Reilly, năm 2013
[2] Mobile Network Geolocation: Obtaining the Cell IDs & the Signal Strength of Surrounding Towers From a GSM Modem & Triangulating Device Location
ArcPad hỗ trợ tập công cụ mạnh cần thiết cho việc thu thập dữ liệu trên thực địa Các công cụ ngoài được hỗ trợ như: máy thu GPS, rangefinder, và camera