location based service

Post on 23-Feb-2017

612 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Location Based Service : The Concept And Its

ImplementationSidiq Permana

Permana.sidiq@gmail.com

Senior Android Developer Founder of Nusantara Beta T: @nouvrizky10 F : cdiq.sanz E : permana.sidiq@gmail.com M : 08569579148

Hi.. I’m Sidiq

You must be know these,,

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

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..)

Sebuah layanan yang memberikan informasi berdasarkan posisi pengguna (device) sebagai acuan utama.

Kesimpulan dari beberapa definisi

LBS Relation

Location Based Service merupakan kombinasi dari beberapa disiplin ilmu (Shiode et al 2004)

LBS Architecture

LBS Architecture (Cont)

Perangkat Mobile Jaringan Komunikasi Komponen Pengambil Posisi Provider Layanan dan Aplikasi Data dan Provider Konten WMS (Web Map Server)

Its main component

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

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

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

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

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)

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

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

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

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?

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

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

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…)

<manifest ... >    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>     ...</manifest>

Permission

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

Example

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

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)

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

Calculate distance between two points given

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

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

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

Membuat aplikasi location based service itu tidak lah sulit semuanya sudah di provide sama Android

Kesimpulan

Combine this concept with your Idea.. Create the PRODUCT!!!!

So…. What will you do next?

Questions?

Thank you

Create functionality checkin Improve the UI

Challenge …

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

top related