Geolokasi dengan Google Latitude

27 May 2010 at 20:22 | Posted in twitter | 7 Comments

Update Feb 2010: Twitter mengubah cara auth-nya bekerja, gunakan library  ini untuk mengupdate tweet secara otomatis: http://github.com/abraham/twitteroauth Setelah download, upload saja seluruh direktorynya, ganti config.php-nya, langsung bisa dicoba dan diutak-atik.

Salah satu aplikasi geolokasi mobilephone yang menarik adalah Google Latitude.  Google latititude (melalui GoogleMap) ini selalu ON dan secara terus menerus mengupdate posisi.  Jika dijalankan, aplikasi ini akan menggunakan GPS dengan akurasi sampai 50m, tetapi jika aplikasinya di-hide maka akan menggunakan triangulasi BTS (?)  dengan akurasi sekitar 1000m.  Kelebihan lainnya adalah aplikasi ini dapat berjalan di OS Symbian (Nokia).  Kebanyakan aplikasi  geolocation tersedia untuk Blackberry dan iPhone, mungkin karena Symbian tidak populer di US.

Dengan Latitude,  saya dan istri dapat mengetahui posisi masing-masing (bermanfaat saat harus bertemu di suatu tempat).  Selain itu terdapat fasilitas melihat sejarah pergerakan lokasi (berguna misalnya untuk melihat rute jalan pagi kemarin ) dan alert jika ada teman yang posisinya dekat tapi di tempat-dan-waktu yang tidak biasa (misal istri datang ke kampus saya).  Jika kita aktifkan public location badge maka orang lain (selain friend) juga dapat melihat lokasi kita.  Saya mengaktifkan fitur ini agar mahasiswa dapat mencari saya dengan mudah (yuliadi.com/lokasi.htm). Tidak ada lagi sms atau telepon “Bapak ada dimana?” (kalaupun ada yang bertanya saya berikan saja link tersebut).

Dengan data lokasi yang selalu terupdate,  data ini dapat dimanfaatkan sebagai input aplikasi lain untuk diolah lebih lanjut. Salah satu hal yang ingin saya coba adalah mengisi daftar hadir di kampus secara otomatis.  Jadi setiap saya masuk kampus, otomatis langsung tercatat, demikian  juga saat saya pulang. Dan itu dilakukan tanpa harus melakukan apapun,  hanya cukup membawa mobilephone saja.  Data tersebut kemudian dikirim secara otomatis ke Twitter.

Untuk  membuat sistem itu tadinya saya akan menggunakan  Google Latitude API.   Tapi gagal terus.   Dari pencarian di internet ternyata jika user memiliki public location badge maka posisi dapat diambil dengan mudah.  Berikut kode php untuk mengakses data dari badge:

 $c=file_get_contents('http://www.google.com/latitude/apps/badge/api?user=xxx&type=kml'); //ganti xxx dengan userid
 $xml = new SimpleXMLElement($c);
 $k = $xml->Document->Placemark->Point->coordinates;
 $koordinat = explode(",", $k);
 $long = $koordinat[0];
 $lat = $koordinat[1];

Langkah berikutnya adalah menentukan koordinat UPI.  Saya mencari koordinat kiri-atas dan kanan-bawah  yang jika saya berada di dalamnya artinya saya berada di UPI.  Googlemap dapat digunakan untuk mencari koordinat. Cari titik yang kita inginkan, klik kanan dan pilih “Center Map Here”  lalu  ketik dibagian address kode berikut: javascript:void(prompt('',gApplication.getMap().getCenter())); (tips dari tech-recipes.com).

Selanjutnya tinggal dilakukan pengecekan posisi saya dibandingkan dengan koordinat UPI tersebut dan ditambahkan waktu masuk atau keluar. Berikut kodenya:

 $longKiri = 107.58928298950195;
 $latAtas = -6.853955057941853;
 $longKanan = 107.60078430175781;
 $latBawah = -6.86852699425029;

 if ($long>=$longKiri && $long<=$longKanan && $lat>=$latBawah && $lat<=$latAtas) {
	$status = "Masuk ke UPI:".date("d-m-y : H:i:s", time());
 }  else {
	$status = "Keluar dari UPI:".date("d-m-y : H:i:s", time());
 }

Kode diatas kemudian harus ditambahkan kode untuk mengambil dan menyimpan status terakhir dari dan ke database.  Gunanya untuk mendeteksi perubahan status (masuk->keluar->masuk) sehingga hanya saat status berubah twitter diupdate.  Tutorial ini berisi cara untuk mengirimkan status ke Twitter.

Terakhir, kode diatas perlu dipanggil secara reguler untuk mengecek posisi, misanya setiap 10 menit (gunakan cron). Tapi saat melakukan testing harap berhati-hati karena jika terlalu sering mengupdate status, Twitter akan mencurigai ini sebagai aktivitas spam sehingga diblok.  Set cron hanya aktif dari jam 7 pagi sampai jam 8 malam, Senin sd Jumat.

Kelemahan dari Google Latitude ini adalah akurasi dan masalah frekuensi update.  Dari history, pernah saya tercatat berada di London, Inggris (dan beberapa menit kemudian sudah kembali ke Bandung🙂 ). Pernah juga saya lihat istri saya ada di Rusia.   Di Bandung sendiri terkadang lokasinya loncat cukup jauh. Durasi antar update juga dapat mencapai  30 menitan,  sehingga waktu masuk ke kampus dan keluar kampus tidak akurat.

Masih banyak hal yang bisa dilakukan dengan fitur Latitude ini,   misalnya penggabungan dengan foursquare sampai ke location mining🙂

7 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Wah menarik Pak, tapi harus pake hp yg support appnya ya😦

    Saya baca scanning juga katanya ada cara biar kita bisa memprivate lokasi kita ya?

    • Sorry lama diapprove, masuk ke kotak spam.

      HP-nya nggak perlu suppport GPS, cuma ya jadi nggak akurat.

      Lokasi secara default memang private, ini yang buat Latitude nggak rame seperti app geolocation yg lain. Tapi memang data yg sensitif sih🙂

  2. wah..creativity content..

  3. wah ini sudah tingkat tinggi😀

    buat detail donk pak ?

  4. walah saya gak bisa buka link yang buat donwloadnya pak🙂

    • Latitude sudah dihapus Google, ini kan posting 2010, era sebelum Android🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: