230 likes | 243 Views
The Tizen Location Framework provides advanced location-based services (LBS) such as position information, satellite information, GPS status, and more. It uses the GeoClue library and features hybrid positioning, geo-fencing, geocoding, and reverse geocoding. This framework supports various positioning technologies for fast position fix, including Wi-Fi and cell-ID based positioning, standard Assisted GPS (SUPL), predicted GPS, and self-assisted GPS.
E N D
Introduction • Provides location based services(LBS) • Position information • Satellite information • GPS status • Based on GeoClue • http://freedesktop.org/wiki/Software/GeoClue/ • Features • Hybrid positioning solution(GPS, WPS, SPS) • Get the current position, last known position, distance & velocity • Get satellite information of GPS and GLONASS • Geo-fencing • Geocoding and reverse geocoding • Search POI(Point of interests), Calculate route
Location Framework Architecture Application Location Library Hybrid Positioning Map Service SPS POI WPS Route Geocode GPS GeoClue library Location component Kernel GeoClue providers Location Plug-in Remote Server Open Source SPS Plug-in GPS Plug-in WPS Plug-in Map Service Plug-in WPS Provider GPS Provider SPS Provider GPS Plug-in GPS Plug-in External Components Kernel (UART) libsoup libnetwork libxml2 libcurl Telephony Message Sensor GPS Receiver Map Service Server AGPS Server WPS Server
Location Components • Support vendor specific device’s plugin by shared library
Positioning Technologies for Fast Position Fix • Wi-Fi and Cell-ID based positioning • Provide fast and accurate location to Wi-Fi capable devices in indoor and outdoor environment • Standard Assisted GPS(SUPL) • Communication between SET and SUPL server is transported over a secured IP connection • Predicted GPS • Extends the validity of assistance from 2-4 hours to 7 days. Assistance data is downloaded from a server • Self Assisted GPS • Mobile GPS clients generate assistance data without network connection
GeoClue • A software framework utilizing the D-Bus inter-process communication(IPC) mechanism to provide location information, and applications can use it to become geo-aware • Can geocode (getting a Position(longitude/latitude coordinate) from an Address) and reverse-geocode (getting an Address from a Position) • Licensed under the GNU LGPL
History & Goal • Started during GNOME Summit 2006 in Boston • Provides a convenient way to find out where the user is, from a number of sources such as GPS, GSM cell, WiFi network, internetwork • WiFi-based geolocation (accuracy: in meters) • GPS(A) receivers (accuracy: in centimeters) • 3G modems (accuracy: in kilometers, unless modem has GPS) • GeoIP (accuracy: city-level)
Examples GPS GSM IP address WiFi User tracking
Dependencies (1/2) • Gobject • Glib • D-Bus • GPSD • A GPS daemon on most Debian like system • http://gpsd.berlios.de • Gypsy • Written by lain Holmes at o-hand • A GPS multiplexing daemon which allows multiple clients to access GPS data from multiple GPS sources concurrently • http://gypsy.freedesktop.org/wiki/
Dependencies (2/2) • Wammu • A program to manage data in your cell phone such as contacts, calendar or messages • http://wammu.eu/ • OpenCellID (basement station ID) • Aiming to create a complete database of CellID worldwide, with their locations • http://opencellid.org/
Components (1/7) • A set of geoinformation interfaces • For querying “current situation” • Position • Address • Velocity • Use a method / signal architecture • Ex : To get current position, geoclue_position_get_position() method or “position-changed” signal with a callback function
Components (2/7) • Class of Interfaces • Position: GeocluePosition • Via gpsd, gypsy, hostip, plazes, gsmloc • Address: GeoclueAddress • Via hostip, plazes, manual, localnet • Velocity: Geocluevelocity • Via gpsd, gypsy • Geocode: GeoclueGeocode • Via nominatim (http://nominatim.openstreetmap.org/),geonames (http://www.geonames.org/), yahoo (http://developer.yahoo.com/maps/rest/V1/geocode.html) • ReverseGeocode: GeoclueReverseGeocode • Via nominatim, geonames • Accuracy: GeoclueAccuracy • Reports the horizontal and vertical accuracy levels
Components (3/7) • Provider • Implement more than one Geoclue interface • All Geoclue providers are D-Bus services • Do not have to run as daemons, as D-Bus will start them when needed (providers may also shut down when they’re no longer used)
Components (4/7) • Type of Providers http://www.freedesktop.org/wiki/Software/GeoClue/Providers/
Components (5/7) • Type of Providers
Components (6/7) • Problem on using Providers • A single provider cannot be the best solution to all problems • The “best” providers will be different depending on the user • Master Provider • Single window for user to use providers • It is an attempt to take away all of the complications of choosing the right provider • Choose the best provider to provide what you are looking for based on client requirements and provider availability, accuracy and resource requirements • The provider that is actually used may change over timeas conditions change, but the client can just ignore this
Components (7/7) • Usage of Master Provider • A typical Master provider use : • Getting a client-specific GeoclueMasterClient from GeoclueMaster • Setting GeoclueMasterClient requirements (such as accuracy) • Starting the wanted interfaces (such as Position) • Using the client just like a regular provider • Master provider is fairly new and may not be as stable as the rest of Geoclue
References • http://www.slideshare.net/wiliwe/geoclue-the-geolocation-service • http://www.freedesktop.org/wiki/Software/GeoClue/ • https://download.tizen.org/misc/media/conference2012/wednesday/ballroom-b/%202012-05-09_1145-1225-overview_of_tizen_location.pdf • Isaac K Adusei, K. Kyamakya, Klaus Jobmann, “Mobile Positioning Technologies in Cellular Networks: An Evaluation of their Performance Metrics”