Selasa, 12 Agustus 2008

Global Positioning System

GPS adalah singkatan dari Global Positioning System, GPS ini dipakai untuk mendapatkan koordinat di permukaan bumi dimana GPS tersebut berada. Mengenai bagaimana cara kerja, dll... silahkan buka saja di www.garmin.com atau www.howstuffworks.com (ini website favorit saya).
Dipasaran banyak dijual GPS yang sudah dilengkapi dengan display, peta, dan fungsi2 navigasi lainnya. Nah, apabila anda bermaksud meng-embedded-kan GPS dalam mikrokontroller anda, maka anda harus membeli GPS Receiver atau GPS Sensor. GPS ini tidak memiliki display, hanya kabel power dan komunikasi RS-232 saja (ada juga model bluetooth atau USB), jadi sesuaikan dengan kebutuhan anda.
Apabila anda hubungkan GPS dengan serial port (pada baud rate 4800/9600/19200), maka akan keluar data standar sebagai berikut (NMEA 0183), disini hanya dituliskan salah satu sentences saja:

$GPRMC,151641.697,A,0657.8247,S,10737.8563,E,3.12,54,171205,,,A*64

Arti dari sentences itu adalah:

151641.697 waktu saat ini 15:16:41.697 dalam GMT
A = GPS Valid, jika V = GPS invalid/belum dapat sinyal
0657.8247,S Koordinat lattitude, artinya 6 derajat 57.8247 menit, jika dalam derajat, maka Lattitude = 6 + (57.8247/60) derajat Lintang Selatan (South)
10737.8563,E Koordinat longitude, artinya 107 derajat 37.8563 menit, jika dalam derajat, maka Longitude = 6 + (37.8563/60) derajat Bujur Timur (East)
3.12 adalah speed dalam knot (konversi ke km/h adalah dikalikan 1.85185)
54 adalah heading, dimana 0 adalah utara, 90 adalah timur, dst (searah jarum jam)
171205, adalah tanggal, artinya 17 Desember 2005
*64 adalah checksum

Hampir semua data penting terdapat pada sentences GPRMC, sedangkan data ketinggian dari permukaan laut terdapat pada sentences GPGGA. Selain itu, ada juga data posisi satelit, kekuatan sinyal satelit dan lain-lain.

Satu lagi, dalam peta digital, biasanya koordinat dinyatakan dalam bentuk derajat saja (misal Lonngitude 107,232324, lattitude -6.343434) untuk membedakan Lintang Utara dan Selatan, digunakan tanda min. Untuk Lintang Utara memakai + (atau tanpa tanda), sedangkan lintang selatan memakai -. Begitu juga dengan Bujur, Bujur timur adalah +, bujur barat adalah -. Dengan penandaan tersebut, koordinat GPS menjadi konsisten dengan koordinat kartesian.

Menentukan jarak antar dua koordinat geografis

Perhitungan jarak antar dua titik cukup rumit, memakai SIN/COS, dll... Kalo dalam mikrokontroller, dimana resources terbatas, cukup gunakan persamaan (Valid hanya di daerah katulistiwa seperti Indonesia).

del_bj:=(lon2-lon1)*110.60864;
del_lt:=(lat2-lat1)*110.58852;
jarak:=sqrt((del_bj*del_bj)+(del_lt*del_lt)); // dalam km

Dengan catatan delta Longitude dan delta Lattitude tidak besar, alasannya karena estimasi memakai persamaan pitagoras dimana diasumsikan bumi adalah datar.

2 komentar:

Anonim mengatakan...

mas, kalo mau cari sudut antara dua titik koordinat gmna ya rumusnya?

Ugly Duclin' mengatakan...

anonim:
matematika biasa saja, pake tangen, kalau jarak 2 titik koordinatnya tidak terlalu jauh jadi bisa diasumsikan bidang datar.