location based service
TRANSCRIPT
![Page 2: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/2.jpg)
Senior Android Developer Founder of Nusantara Beta T: @nouvrizky10 F : cdiq.sanz E : [email protected] M : 08569579148
Hi.. I’m Sidiq
![Page 3: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/3.jpg)
You must be know these,,
![Page 4: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/4.jpg)
Location Based Service (LBS) atau Layanan Berbasis Lokasi merupakan layanan informasi yang dapat diakses melalui perangkat mobile melalui jaringan selular dan memiliki kemampuan untuk memanfaatkan lokasi posisi perangkat mobile (Virrantaus et al. 2001)
Sebuah layanan IP – nirkabel yang menggunakan informasi geografi untuk memberikan layanan kepada pengguna perangkat mobile. Setiap layanan aplikasi yang memanfaatkan posisi terminal mobile (OpenGeospatial Consortium , 2005)
Definitions
![Page 5: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/5.jpg)
Location Based Service (LBS) adalah sebuah nama umum untuk sebuah layanan baru dimana informasi lokasi menjadi parameter utamanya (Kupper, 2005)
LBS sebenarnya salah satu nilai tambah dari layanan seluler GSM. LBS bukanlah sistem, tetapi merupakan layanan yang menggunakan sistem tambahan penunjang sistem GSM. Jadi jelas, bisa jadi ada beberapa opsi sistem yang dapat mengirim layanan LBS ini dengan teknologi bervariasi. Tetapi pada dasarnya, sistem-sistem tersebut menggunakan prinsip dasar yang sama, yaitu: Triangulasi. Jadi prinsipnya, tidak jauh beda dengan sistem GPS, hanya saja fungsi satelit digantikan oleh BTS (Riyanto, 2011).
Definitions (Cont..)
![Page 6: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/6.jpg)
Sebuah layanan yang memberikan informasi berdasarkan posisi pengguna (device) sebagai acuan utama.
Kesimpulan dari beberapa definisi
![Page 7: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/7.jpg)
LBS Relation
Location Based Service merupakan kombinasi dari beberapa disiplin ilmu (Shiode et al 2004)
![Page 8: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/8.jpg)
LBS Architecture
![Page 9: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/9.jpg)
LBS Architecture (Cont)
![Page 10: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/10.jpg)
Perangkat Mobile Jaringan Komunikasi Komponen Pengambil Posisi Provider Layanan dan Aplikasi Data dan Provider Konten WMS (Web Map Server)
Its main component
![Page 11: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/11.jpg)
Kelebihan LBS, tetap berfungsi bila berada di dalam gedung dan pengaruh medan elektromagnetik lain yang tidak terlalu besar. Sedangkan, kekurangan LBS adalah jangkauan area yang sangat bergantung pada jangkauan selular (Riyanto, 2011)
The strenght and weakness
![Page 12: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/12.jpg)
Pull Services Pengguna secara aktif mengirimkan informasi
yang dibutuhkan <user request>- Menggunakan service yang akan mendownload data dalam interval waktu tertentu
Push ServicesMemberikan informasi kepada pengguna yang mana
tidak secara langsung diminta oleh pengguna <system push to application>
e.g : Push Notification on Telkomsel
LBS Divided into 2 types
![Page 13: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/13.jpg)
Haversine Formula adalah persamaan matematika yang penting dalam navigasi, formula ini memberikan jarak antara dua titik pada lingkaran bola dari masing garis bujur (Longitude) dan lintang (Latitude). Ini adalah kasus khusus dari formula yang lebih umum di trigonometri lingkaran bulat, haversine formula berhubungan dengan sisi-sisi dan sudut "segitiga" dari lingkaran bulat.
Konsep dasar rumus ini : TRIGONOMETRI Cari tempat/objek terdekat dari posisi yang
diberikan pengguna
Haversine Formula
![Page 14: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/14.jpg)
The formulas
Dimana :Haversine adalah fungsi haversine haversin(θ) = sin2(θ/2) = versine (θ)/2D adalah jarak antara 2 pointR adalah radius dari lingkaran bulatφ1 adalah latitude dari point 1,φ2 adalah latitude dari point 2, andΔλ adalah kalkulasi 2 longitude
![Page 15: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/15.jpg)
Pada sisi kiri tanda sama dengan, argumen untuk fungsi haversine adalah dalam radian. Dalam derajat, haversin (d / R) dalam rumus akan menjadi haversin (180 ° d / πR).
Kemudian dapat memecahkan untuk d baik dengan hanya menerapkan haversine invers (jika tersedia) atau dengan menggunakan arcsine (sinus invers) fungsi:
•Dimana : h is haversin(d/R)
![Page 16: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/16.jpg)
Haversine formula digunakan untuk pencarian Point Of Interest (POI) terdekat dari posisi pengguna. Pemanfaatan umum haversine formula diantaranya (Rubin, MySQL AB) : ◦ Pencarian toko terdekat dari posisi anda◦ Social Network (Jejaring Social) : menemukan
teman terdekat dari posisi anda◦ Peta Online : pencarina POI (Point Of Interest)
menarik terdekat dengan anda
![Page 17: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/17.jpg)
![Page 18: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/18.jpg)
Converting haversine formula into SQL Syntax
R = earth’s radius Δlat = lat2− lat1; Δlong = long2− long1a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²(Δlong/2)c = 2*atan2(√a, √(1−a))d = R*c
ACOS( SIN(origin.lat* PI( ) /180 ) * SIN( O.latitude * PI( ) /180 ) + COS(origin.lat* PI( ) /180 ) * COS( O.latitude * PI( ) /180 ) * COS( (O.longitude – origin.lng ) * PI( ) /180 ) ) *180 / PI( ) ) *6371
![Page 19: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/19.jpg)
SELECT id_, ( 6371 * acos(cos( radians($user_lat) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians($user_longitude)) + sin( radians($user_lat) ) * sin( radians( latitude ) ) ) ) AS distance FROM table_name HAVING distance < 100 ORDER BY distance LIMIT 0 , 20
Detil on SQL SYNTAX
![Page 20: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/20.jpg)
Local Directory ex : City Directory Mobile Commerce based on Location Based
Service ex : Kaskus FJB <with modified> Event directory Digital Advertising <promo based on location> Parental Control App Social Network Location Based Service based on Augmented
Reality (Like wikitude did) Etc…
So what could we make from this?
![Page 21: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/21.jpg)
Obtaining User Location On Android Reverse Geocoding Building your own API Synchronizing between your app and your
API Show on the map
Step to implement LBS on Android
![Page 22: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/22.jpg)
GPS Akurat, tapi lama mendapatkan koordinat dan
membutuhkan resource batere yang besar dan harus diluar ruangan yang tidak terhalang gedung
NETWORK BASEDUmum dan banyak digunakan, akurasi dibawah GPS, bisa digunakan di dalam ruangan dan cepat (Classic CID dan LAC)
AGPSKombinasi antara GPS dan Network Based, Cepat dan
Akurat
Obtaining User Location Mechanism On Android
![Page 23: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/23.jpg)
Sudah di package dalam android.location dan pemanfaatan framework API LocationManager
The Providers : ◦ GPS◦ NETWORK◦ Using Criteria Class for BEST PROVIDER
Determining Power Use Accuracy Ability to return bearing, speed and altitude
Obtaining User Location Mechanism On Android (Cont…)
![Page 24: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/24.jpg)
![Page 25: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/25.jpg)
<manifest ... > <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> ...</manifest>
Permission
![Page 26: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/26.jpg)
Converting your latitude and longitude into the physical address, like street, city, country, state
How ?◦ We send the latitude and longitude to Google
Places API but it’s encapsulated on the Android location framework
Reverse Geocoding
![Page 27: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/27.jpg)
Example
![Page 28: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/28.jpg)
Using the web based Scripting language Such as : PHP, JSP, ASP, Ruby
Using familiar database : MySQL, postgreSQL Latitude and Longitude is important fields on your table Using framework is better (CI, RoR, .NET) Webservice Architecture <expert> like RESTFUL Generate the query response via JSON Request Using HTTP GET / POST METHOD Do it on Different Thread (Recommended using
AsyncTask) http://code.google.com/apis/maps/articles/
phpsqlsearch.html
Building Your Own API
![Page 29: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/29.jpg)
Request : ◦ http://api.yourdomain.com/nearby.php?ll=-6.7896
5,106.786964 Response :
◦ [{“id”:”9808”,”name”:”Alfamart”, “latitude”:”-.687965”, “longitude”:”106.45643”},
◦ {“id”:”9804”,”name”:”Indomart”, “latitude”:”-.687965”, “longitude”:”106.45643”},
◦ {“id”:”9805”,”name”:”Alfa Midi”, “latitude”:”-.687622”, “longitude”:”106.67586”}]
Example (Non Framework)
![Page 30: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/30.jpg)
Do this in Adapters and show on List (ListView)
Using JSONObject class Using JSONArray Class Example :
◦ JSONArray a = new JSONArray(res);◦ JSONObject b = a.getJSONObject(position);◦ Txt_name.setText(b.getString(“name”));
Fetching the response
![Page 31: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/31.jpg)
Calculate distance between two points given
![Page 32: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/32.jpg)
Generating API Keys besides your KEYSTORE◦ http://code.google.com/android/add-ons/google-api
s/mapkey.html Add this permission on the manifest :
◦ <uses-library android:name="com.google.android.maps" />
Using Map Activity Check and follow this basic tutorial
◦ http://agusharyanto.net/wordpress/?p=269 Try to use another map such as :
openstreetmap <it’s totally free>
Show on the map
![Page 33: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/33.jpg)
Parsing this via Intent◦ http://maps.google.com/maps?
&saddr="+sourceLat+","+sourceLng+"&daddr="+destLatitude+","+destLongitude+"
Or follow this tutorial (Draw the direction on MapActivity)◦ http://agusharyanto.net/wordpress/?p=566
Show the directions?It’s so easy
![Page 34: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/34.jpg)
Case … We will create the Mc Donald Directory In Jabodetabek
Purpose .. Give the user now the nearby outlet
Feature : Show on the list -> Detil -> on the map -> direction -> Checkin ?
Demo
![Page 35: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/35.jpg)
Membuat aplikasi location based service itu tidak lah sulit semuanya sudah di provide sama Android
Kesimpulan
![Page 36: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/36.jpg)
Combine this concept with your Idea.. Create the PRODUCT!!!!
So…. What will you do next?
![Page 37: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/37.jpg)
Questions?
Thank you
![Page 38: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/38.jpg)
Create functionality checkin Improve the UI
Challenge …
![Page 39: Location based service](https://reader036.vdocuments.mx/reader036/viewer/2022081507/58ae95ae1a28abdf068b6547/html5/thumbnails/39.jpg)
http://developer.android.com Proffesional Android Application
Development 1-3 By Reto Meier Beginning Android 3 By Mark Murphy Location Based Service Handbook by
Muhammad Ilyas Sistem Informasi GIS Berbasis Mobile by
Slamet Riyadi
References