home‎ > ‎

gps

Trang này gồm những nội dung liên quan đến GPS với các phần mềm nguồn mở.



GPS Babel

Bài này viết dựa trên GPSBabel-1.3.5 trên Fedora 8. Các phiên bản khác dùng tương tự (đã kiểm tra trên Fedora 10 x86_64, không có gì thay đổi).

Các nội dung có trong bài này:

1. Cài đặt gpsbabel
2. Sử dụng

    * Chuyển đổi định dạng
    * Chuyển đổi định dạng hàng loạt
    * Tải dữ liệu từ GPS Garmin USB

3. Vài ghi chú về lỗi


Cài đặt

Ghi chú: Xem ghi chú về GPS babel trên Fedora 12 ở cuối bài này.

Tải mã nguồn của GPS Babel về tại trang http://www.gpsbabel.org/download.html.

Gỡ đóng gói và giải nén tập tin tải về tại terminal bằng lệnh tar, ví dụ:

[root@localhost ~]# tar xvzf gpsbabel-1.3.5.tar.gz

Di chuyển vào thư mục vừa giải nén bằng lệnh cd, ví dụ:

[root@localhost ~]# cd gpsbabel-1.3.5

Thực hiện lệnh configure và make để cài đặt GPSBabel:

[root@localhost ~]# ./configure && make

Khởi động GPS bằng lệnh

gpsbabel


Ghi chú: sau khi cài đặt, muốn chạy gpsbabel bằng cách gõ lệnh này trực tiếp, phải khai báo đường dẫn bằng hai lệnh sau:

[root@localhost ~]# PATH=/root/gpsbabel-1.3.5:$PATH
[root@localhost ~]# export PATH

(điều chỉnh đường dẫn cho phù hợp nếu giải nén thư mục gpsbabel-x.x.x và thiết lập tùy chọn cài đặt vào thư mục khác).

Nếu không bạn phải chạy lệnh này với đường dẫn đầy đủ, ví dụ:

[root@localhost ~]#/root/gpsbabel-1.3.5/gpsbabel


Sử dụng

Chuyển đổi định dạng
Trên trang web của GPSBabel có hướng dẫn chi tiết sử dụng. Ở đây, ví dụ tôi muốn chuyển đổi dữ liệu GPS ghi được từ một Bluetooth GPS và dùng phần mềm CetusGPS trên Palm (file pdb) thành định dạng gpx thì chạy lệnh sau:

[root@localhost gpsbabel-1.3.5]# gpsbabel -i cetus -f /đường/dẫn/đến/tập/tin/ten_tap_tin.pdb -o gpx -F /đường/dẫn/đến/nơi/muốn/lưu/tên_tập_tin.gpx


Tôi mới thử dùng GPS Babel để chuyển đổi dữ liệu dạng pdb của phần mềm CetusGPS trên Palm. Khi nào biết thêm sẽ viết tiếp!

Chuyển đổi định dạng hàng loạt các tập tin gps
Giả sử tôi muốn chuyển đổi tất cả các tập tin GPS trong một thư mục ở định dạng kml thành gpx.
Viết một tập lệnh (script) nhỏ như sau:

#--------------------
#! /bin/bash
for i in `ls /đường/dẫn/đến/thư/mục/chứa/các/tập/tin/kml`
do
out=${i%%.*}
gpsbabel -i kml -f /đường/dẫn/đến/thư/mục/chứa/các/tập/tin/kml/$i -o gpx -F /đường/dẫn/đến/thư/mục/muốn/lưu/$out.gpx
done
#--------------------


Bạn chỉnh sửa các định dạng muốn chuyển đổi tương ứng trong lệnh trên. Lưu nó thành tập tin shell (.sh) rồi chạy tại terminal (cửa sổ dòng lệnh).

Tải dữ liệu từ GPS Garmin USB vào máy

GPS sử dụng là Garmin Vista HCx.

Tôi thực hiện tương tự như trên hướng dẫn tại trang http://www.gpsbabel.org/os/Linux_Hotplug.html để khai báo cổng USB cho GPS. Vắn tắt như sau:

Mở tập tin /etc/modprobe.conf và thêm vào cuối tập tin dòng sau:

alias blacklist garmin_gps

Sau đó chạy tiếp lệnh sau:

[root@localhost ~]# /sbin/rmmod garmin_gps


Tải điểm tọa độ (waypoint) xuống ở định dạng gpx bằng lệnh sau:

[root@localhost ~]# /root/gpsbabel-1.3.5/gpsbabel -i garmin -f usb: -o gpx -F /đường/dẫn/đến/thư/mục/muốn/lưu/tên_tập_tin.gpx


Nếu muốn tải xuống đường đi (track), dùng -t:

[root@localhost ~]# /root/gpsbabel-1.3.5/gpsbabel -t -i garmin -f usb: -o gpx -F /đường/dẫn/đến/thư/mục/muốn/lưu/tên_tập_tin.gpx


Dùng -r cho lộ trình (route).

Vài ghi chú về lỗi

  • Bản gpsbabel-1.3.5 khi cài từ mã nguồn bị lỗi trên Fedora 10 x86_64 (tôi không nhớ lỗi là gì). Dùng bản 1.3.6 thì không bị lỗi.
  • Với GPS babel 1.3.6 cài đặt từ mã nguồn, tôi bị lỗi USB support not available in this build khi tải tọa độ bằng máy Garmin USB. Trên trang này, hướng dẫn khuyến cáo cài đặt Expat và libusb. Tôi kiểm tra thì cả Expat và libusb đều đã được cài đặt! Tôi bèn cài thêm libusb-devel bằng yum (yum install libusb-devel. Sau đó biên dịch lại gpsbabel thì mọi thứ chạy tốt, không còn bị lỗi nữa.

Trên Fedora 12, để thêm thiết bị garmin gps usb vào, bạn mở tập tin /etc/modprobe.d/blacklist.conf và thêm vào dòng sau:

blacklist garmin-gps

Tại trang dự án Fedora (địa chỉ http://fedoraproject.org/wiki/GIS/PositionFixes) có hướng dẫn chi tiết cách thiết lập quyền cho phép sử dụng cổng usb để tải toạ độ từ máy Garmin.
Với QGIS 1.3.0 trên Fedora 12, mặc dù tải được toạ độ xuống nhưng khi tải xong QGIS tự động thoát ra ngoài. Chưa hiểu nguyên nhân tại sao. Thông báo lỗi tại terminal (...)


Comments