location based service application -...

41
Location Based Service Application

Upload: others

Post on 24-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

Location Based Service Application

Page 2: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

위치 기반 서비스 (LBS : Location based services) 이동통신망이나 위성항법장치 등을 통해 얻은 위치정보를 바탕으로

이용자에게 여러 서비스를 제공하는 서비스들

위치 정보 좌표 체계

Geocoding

Map API Android: Google map

iOS: MKMapkit, CoreLocation framework

Location based services 수동적 위치 기반 서비스

능동적 위치 기반 서비스

Page 3: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

좌표 체계에 따른 위치 정보

Bessel 경위도 1841년 Bessel이 고안한 타원체로 유럽과 유라시아 지역에서 가장 잘

맞는 타원체 기반 경도, 위도

현재 우리나라의 TM 좌표계에서 사용

TM128 (Transverse Mercator: 횡메카토르) 지구 표면을 평면상에 표현하는 투영방법의 하나

우리나라는 구역을 사등분(서부, 중부, 동부, 동해)하여 각각에 투영원점을 둠 (mapx: 318634, mapy: 543967)

WGS84 경위도 지구를 편평한 회전타원체라 가정하고 미국에서 군사용으로 GPS를 이

용하여 만든 좌표계. 1984년 제정되어 WGS84라고 함

(x: 127.079857281, y: 37.4915265371)

Page 4: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

좌표 체계 사용을 위한 정의위도(latitude), 경도(longitude)

Page 5: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

Geocoding일반 주소를 좌표로 변환

(서울특별시 중구 태평로 1가 31 309925, 552079)

역-지오코딩: 좌표 값을 일반 주소로 변환

(37.566509, 126.978073 서울 중구 태평로 1가 31)

Geocoding 사용 방법 Android : Geocoder 클래스의 getFromLocationName 사용

iOS : CLLocation객체의 CLGeocoder 클래스 사용

Page 6: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

Google map 안드로이드 API의 구성 Google Map : 구글 맵 API 메인 클래스

객체를 직접 생성하지 않으며, MapView등에 의해 참조함

MapView : View 클래스의 서브 클래스GoogleMap 객체가 지도를 그리는 뷰 캔버스 제공

MapFragment : android.app.Fragment 클래스의 서브 클래스안드로이드 레이아웃의 프래그먼트에 지도가 위치하게 함

SupportMapFragment : android.support.v4.app.Fragment 의 서브클래스MapFragment와 기능적으로 거의 동일 (하위 버전 지원)

Marker : 지도가 표현될 위치를 나타냄addMarker() 메소드를 사용하며, 제목, 텍스트, 아이콘 등을 지도에 표시함

Shapes : Polyline, Polygon, Circle 클래스들을 사용하여 지도에 도형들을 그림 UiSettings : 지도 축소, 확대, 현재 위치와 나침반 등을 나타나도록 제어함 My Location Layer : 내 위치가 지도의 버튼에 나타나게 함

Page 7: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

프로젝트 시작시 Google Maps Activity 선택 Google로부터 개발자 서명 얻기

google_maps_api.xml (app/res/values)

위의 내용까지만 진행한 후 실행하면 지도는 나타남 app/res/layout의 activity_map_demo.xml에 supportMapFragment가 추가되

어 지도가 화면에 나타남 현재 버전에서는 지도가 시뮬레이터에서는 나타나지 않음

사용자 위치 표시 사용자 위치 표시 : app/manifests의 AndroidManifest.xml 파일 (6.0이하)<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

퍼미션(6.0 이상)을 위해 java코드에 퍼미션 허가를 위한 메소드 작성필요현재 위치를 보여주기 위해 setMyLocatgionEnabled(true); 설정

<string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">AIzaSyA5ZkAB6dMdULLVrIx1LOcngkixCRbWW9g</string>

Page 8: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

지도 타입 변경 GoogleMap.MAP_TYPE_NONE : 격자선 없이 나타남

GoogleMap.MAP_TYPE_NORMAL : 전형적인 도로 지도 (표준뷰)

GoogleMap.MAP_TYPE_SATELLITE : 인공위성 사진

GoogleMap.MAP_TYPE_HYBRID : 도로 지도가 겹쳐진 인공위성 사진

GoogleMap.MAP_TYPE_TERRAIN : 등고선과 색상 등의 지형을 보여줌

맵 컨트롤을 사용자에게 나타내기, 제스처 처리 UiSettings을 사용함

mapSettings.setZoomControlsEnabled(true);

mapSettings.setZoomGesturesEnabled(false);

mapSettings.setScrollGesturesEnabled(true);

mapSettings.setTiltGesturesEnabled(true);

mapSettings.setRotateGesturesEnabled(true);

Page 9: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

Geocoder 클래스 getFromLocationName() 메소드 사용

Page 10: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

Geocoder 클래스역 지오코딩: getFromLocation () 메소드 사용

Page 11: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API의 구성 Google Map : iOS 5 까지 사용

TomTom Map : iOS 6 부터 사용

MKMapItem 클래스 : 지도와 턴 방식(turn-by-turn) 길찾기를 통합하도록 설계된 새로운 클래스

MKMapItem 클래스는 많은 양의 코딩 없이 애플리케이션들이 지도를 쉽게 띄울 수 있도록 하며, MKPlacemark 클래스와 함께 동작하여 지도에 표시되는 위치를 정의함

Page 12: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

CLGeocoder 클래스 (geocodeAddressString() 사용)

Page 13: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

역 지오코딩: (reverseGeocodeLocation() 사용)

Page 14: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

역 지오코딩: (reverseGeocodeLocation() 사용)

Page 15: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API - MKMapItem코딩을 위해 필요한 framework

CoreLocation.framework

AddressBook.framework

Contacts.framework (iOS 10부터 적용)

MapKit.framework

MKMapItem으로 위치를 지정한 후

openInMapsWithLaunchOptions 을 이용하여 Map App 실행함

애플리케이션 내에 직접 맵을 넣기 위해서는 MapView 사용

Page 16: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – MKMapItem 옵션 MKLaunchOptionsDirectionsModeKey

턴 방식 길찾기를 지도에 제공할지 설정

MKLaunchOptionsMapTypeKey

지도가 위성이나, 하이브리드, 표준 지도 이미지를 표시할지 설정

MKLaunchOptionsMapCenterKey지도 중앙이 되는 위치에 대한 좌표를 포함하여 설정

MKLaunchOptionsMapSpanKey

지도에 표시되어야 하는 영역을 지정 (MKCoordinateSpan 구조체)

MKLaunchOptionsShowsTrafficKey교통 정보를 지도 위에 겹치도록 할 것인지 설정

Page 17: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – MKMapItem 예제

Page 18: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – MKMapItem 예제 2

Page 19: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – MKMapItem 예제 2

Page 20: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – MKMapItem 예제 2

Page 21: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – Location예제 CLLocation 클래스

CLLocationManager 클래스

- startUpdatingLocation 실행

- didUpdateToLocation

fromLocation 메소드

Page 22: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – Location예제

Page 23: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS API – Location예제

Page 24: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS MKMapView API기존까지의 방법은 MKMapItem을 사용하여,

openInMapsWithLaunchOptions 형태로 열었음 (Map 앱 실행)

MapKit 프레임워크를 이용하여 애플리케이션 내에서 Map을보여줄 경우 사용

위치, 지도, 위성 사진을 표시할 수 있으며, 로컬 검색, 길 찾기기능을 사용할 수 있음

MKMapView 클래스 사용

사용자에게 표시할 위치 지정을 위해 Map Regions 설정 필요

Page 25: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS MKMapView API사용자 움직임에 따른 지도 움직임 설정

Page 26: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS MKMapView API화면에 보여줄 영역 설정

Map의 Type 변경

Page 27: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

iOS MKMapView API검색에 대한 결과 적용 (MKLocalSearchRequest 클래스)

Page 28: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

대표적인 위치 기반 서비스내비게이션

SKT Tmap, KT Olleh navi, 김기사 등

단순 길 안내

사고 다발 지역, 속도 측정 기기 위치 안내

길 주변에 주유소 정보 및 휴게소 정보 제공

초기 LBS를 이용한 증강 현실 서비스

게임보다는 정보 및 특정 상점 위치 알리는 것에 중점을 둠

수동적인 정보/데이터 제공 방식

2010년 신한 TownMap - http://withkoogi.tistory.com/191

Ovjet - http://tvpot.daum.net/v/_2TZ6Jz0rDQ%24

Page 29: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

수동적 위치 기반 서비스 흐름

Page 30: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

수동적 위치 기반 서비스 흐름

GPS 정보를 http request (Post)로 전달

애플리케이션을 켜고 있는 경우에만 상호 전송이 이루어짐

Location 정보는 XML, JSON 형식으로 전송

UserService Provider

GPS information

Location information

Page 31: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

수동적 위치 기반 서비스 흐름서버에서의 동작 원리 DB데이터가 TM128 좌표로 되어 있는 경우 스마트 폰으로부터 받

은 WGS84 값을 TM128로 변환 후, 허용 범위 안에 있는 데이터만을선택하여 전송함 (변환 주체를 어디서 하는 지도 중요한 문제)

SQL 검색 명령어에 자동 계산 되는 부분이 있는 것이 아니므로,허용 범위 수치를 정한 후 ±100(원하는 수치 값) 범위에 있는 값들을 검색하여 전송

정보가 많은 지역, 적은 지역을 적절히 구분하여 제공할 수 있는알고리즘 필요

Page 32: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

수동적 위치 기반 서비스 흐름스마트 기기에서의 동작 원리 전달 받은 데이터 수가 적당한 경우 바로 지도(AR의 경우 화면)에

표시하며, 구체적인 정보는 핀(아이콘)을 터치 후, 세부 페이지를 통해 볼 수 있도록 함

데이터 수가 많은 경우 거리별로 정렬하여 필요한 수량을 제한하여가까운 순으로 표시하고 나머지 필요 없는 값은 표시하지 않음

가까운 순으로 정렬하기 위해 사용자 위치와 데이터 간의 직선 거리계산이 필요하며 이는 CLLocationDistance클래스의distanceFromLocation 메소드를 이용하여 구함

Page 33: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

수동적 위치 기반 서비스의 단점선별된 데이터가 아닌, 위치에 맞는 데이터를 모두 전송함

사용자가 애플리케이션을 켜지 않는 이상 현재 위치에서제공할 수 있는 서비스를 전달할 방법이 없음

GPS 수신 신호에 의존하기 때문에 실내 등에서의 서비스어려움

능동적 위치 기반 서비스사용자가 직접 참여하지 않더라도 특정 신호에 의해 스마트

폰이 반응하여 서버와 통신 후 위치 정보를 제공

실내 측위 기술, iBeacon, Bluetooth Low Energy(BLE) 등과같이 설치된 장치의 신호로부터 위치 정보 제공

Page 34: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

위치 기반 서비스를 위한 센서 GPS 수신 모듈

나침반 센서

Wi-Fi & network

AR 표현을 위한 카메라

능동적 위치 기반 서비스를 위한 센서 QR, NFC : 카메라 또는 NFC 모듈

Microphone

Bluetooth 4.0 BLE

조도 센서 illuminance sensor

Page 35: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스 QR 코드, NFC를 이용한 서비스

QR 코드 : 코드 모양이 정사각형이라 어느 방향으로 읽어도정확하게 인식, 별도의 모듈이 필요하지 않음

NFC : Android에서만 사용 가능, 10cm 이내의 가까운 거리에서맞대면 기기 간에 데이터 양방향 송수신 가능

도서관 입출입, 행사장 입장 등에 오프라인 표 대신 많이 활용되고 있으며, 특히 유럽에서의 QR 이용이 활발함

Page 36: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스실내 사용자 위치 추적 기술

GPS 외에 또다른 신호를 수신하여 신호에 맞는 데이터만 수신함, 또는 주변의 정보를 미리 전송 받아 추가 네트워크 작업 없이 바로 정보 제공

Page 37: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스 Starbucks 사이렌 오더 기술 (O2O: Online to offline) 매장에 제공되고 있는 음악 소리에 매장 코드가 담긴 고주파음을 함

께 발생 신호(Beacon)로 사용하며, GPS 정보는 보조 역할을 수행

네트워크 만을 이용한 지점 선택, 주문 방식도 있음

Page 38: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스실내 측위 기반 모바일 솔루션

대형쇼핑몰, 백화점, 공항, 전시관 등에서 위치에 따른 정보 제공

Page 39: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스 BLE 특정 신호 발생 전달 기술

iBeacon, beacon service

1. Proximity Marketing

2. Check-in Coupons

3. Indoor Location

4. Contactless Payment

Page 40: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스 BLE 특정 신호 발생 전달 기술 활용 사례

13년 9월 메이저리그 뉴욕 메츠 홈 구장에 정보 제공 서비스

13년 Shopkick이 ShopBeacon 서비스 공개

14년 Beaconic이 ‘iBeacon Retail Kit’ 공개

14년 Virgin Atlantic가 iBeacon 도입

아직까지 쇼핑 및 정보 제공 형태로만 서비스를 하고 있음

Page 41: Location Based Service Application - SKKUmonet.skku.edu/wp-content/uploads/2016/09/MAD_Week4_LBS.pdf · 2016-10-25 · 실내측위 기반모바일 ... in Coupons 3. Indoor Location

능동적 위치 기반 서비스 Li-Fi 기술을 이용한 데이터 전송 기술

LED 조명이 사람이 인식할 수 없을 정도로 깜박거리는 것으로데이터 전송