Location Based Services
Nov. 17, 2014
References
· Location Strategies, Android Developer Web site, http://developer.android.com/guide/topics/location/strategies.html
· Location and Sensors APIs, http://developer.android.com/guide/topics/sensors/index.html
· Location and Maps, http://developer.android.com/guide/topics/location/index.html
· Ch. 14. Using Location-Based Services (LBS) APIs, from the book Android Wireless Application Development, 2nd Edition, by Laurent Darcey and Shane Condo, published by Addison Wesley, pp. 317-333.
· Ch. 12. Location-Based Services, from the book The Android Developer’s Cookbook, 2nd Edition, by Ronan Schwarz, Phil Duston, James Steel, and Nelson To, published by Addison Wesley, pp. 315-341
· Location-Based Services, by Kathryn Zickuhr, PewResearch Internet Project, Sept. 12, 2013, http://www.pewinternet.org/2013/09/12/location-based-services/
· Best Practices and Guidelines for Location Based Services, http://www.ctia.org/policy-initiatives/voluntary-guidelines/best-practices-and-guidelines-for-location-based-services
· iParking: An Intelligent Indoor Location-Based Parking Services, by J. Liu, R. Chen, Y. Chen, L. Pei, and L. Chen, Sensors 2012, http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3522932/
1. Location-Based Services (LBS)
· Definition:
o A general class of computer program-level services that use location to control features. http://en.wikipedia.org/wiki/Location-based_service
o An information service that use information on the geographical position of the mobile device
o LBS are used in a variety of context, such as health, Indoor object search, entertainment, work, personal life.
· Application Examples
o Most popular mobile apps use and integrate location with many functions, such as
§ Internet searching
§ Picture taking
§ Gaming
§ Social networking
· LBS Apps
o Mobile Commerce
o GPS-based app
o ATM locator
o Mapping apps
o Parking space locator, parking spot tracker
o GPS navigation
o Parcel tracking
o Vehicle tracking
o Proximity alerts
o Geocoding translations
· Companies that offer LBS products
o TCS, http://www.telecomsys.com/products/default.aspx
§ Enabling Convergent Technologies
§ Mobile Communication Technologies
§ Products
· Connected health
· Emergency alerts
· Messaging
· Navigation and Telematics
· Public Safety Solution (Wireless E9-1-1, E1-1-2)
· Work force tracking
· Parking services
o Pango Mobile Parking, http://www.parking-net.com/parking-industry/pango-mobile-parking
§ On-street parking and open service lots
§ Gated off-street garages
§ Valet service system
§ Location-based advertising and promotions
· Location-Based Services Products, Broadcom, http://www.broadcom.com/products/GPS/Location-Based-Services
o Worldwide Reference Network (WWRN), AGSP Server, GLONASS, Long Term Orbits (LTO), SUPL Location Platform (SLP)
· Location Based Services Startups, https://angel.co/location-based-services
· Mobile Startups, https://angel.co/mobile-2
2. Location (geography), http://en.wikipedia.org/wiki/Location_(geography)
· The terms location and place in geography are used to identify a point or an area on the Earth’s surface or elsewhere.
· Latitude, Longitude
3. Worldatlas, http://www.worldatlas.com/aatlas/imageg.htm
· Latitude – the angular distance in degree, minutes, and seconds of a point north or south of the Equator. Lines of latitude are often referred to as parallels.
4. Best Practices and Guidelines for Location Based Services, http://www.ctia.org/policy-initiatives/voluntary-guidelines/best-practices-and-guidelines-for-location-based-services
5. Satellite Communications
GOES Satellite
http://www.3g-generation.com/satellite.htm
LEO Satellite
http://www.its.bldrdoc.gov/meetings/art/art99/slides99/red/red_s.pdf
MEOS Satellite
Power Radiation Pattern
The GPS satellites, http://en.wikipedia.org/wiki/GPS_(satellite)
· Navistar 1, 1st GPS system, launched Feb. 22, 1978
· Circle the Earth at an altitude of about 20,000 km and complete two full orbit every day.
· Block I satellites (10), Navistar 1, launched 10 Block I GPSs, Navistar 7 was lost
· Block II satellites (28), launched on 1989 – 1990; the final satellite was decommissioned on March 15, 2007, well past its 7.5 year design life
· Block IIA (19), 1990 – 1997; As of Jan. 17, 2009, 6 satellite have been removed from service
· Block IIR (12), 1997 -?
· Block IIR-M, include a new military signal and a robust civil signal, known as L2C; launched period 2005-2009
· Block IIF, launched 2011, a design life of 12 years.
· Block IIIA, awarded contract to Lockheed Martin in 2008, up to 32 satellites with a design life of 15 years
GPS Magazines
· GPS world
· GPS magazine
6. Location Strategies, Android Developer
Web site, http://developer.android.com/guide/topics/location/strategies.html
7. Android-based LBS Packages, Classes
package android.location, https://developer.android.com/reference/android/location/package-summary.html
· Contains the framework API classes that define Android location-based and related service
· Interfaces
o GpsStatus.Listener
o GpgStatus.NmeaListener
o LocationListener
· Classes
o Location, https://developer.android.com/reference/android/location/Location.html
§ A data class representing a geographic location
§ A location can consists of a latitude, longitude, timestamp, and other information such as bearing, altitude and velocity
o LocationManager, https://developer.android.com/reference/android/location/LocationManager.html
§ This class provides access to the system location services.
§ Allow applications to obtain periodic updates of device’s geographic location, or to fire an application-specified Intent when the device enters the proximity of a given geographical location.
o LocationProvider, https://developer.android.com/reference/android/location/LocationProvider.html
§ An abstract superclass for location providers.
§ A location provider provides periodic reports on the geographic location of the device
o Address, https://developer.android.com/reference/android/location/Address.html
§ A class representing an Address, i.e. a set of Strings describing a location. The address format is a simplified version of xAL.
§ OASIX xAL (eXtensible Address Language) Standard V2.0, http://www.oasis-open.org/committees/ciq/ciq.html#6
o Criteria, https://developer.android.com/reference/android/location/Criteria.html
§ A class indicating the application criteria for selecting a location provider.
§ Providers may be ordered according to accuracy, power usage, ability to report altitude, speed, and bearing, and monetary cost.
o Geocoder, https://developer.android.com/reference/android/location/Criteria.html .
§ A class for handling geocoding and reverse geocoding
§ Geocoding is the process of transforming a street address or other description of a location into a (latitude, longitude) coordinate into a (partial) address.
o GpsSatellite, https://developer.android.com/reference/android/location/GpsSatellite.html
§ Represents the current state of a GPS satellite
· float getAzimuth() – returns the azimuth of satellite in degrees between 0 and 360
· float getElevation() – returns the elevation of the satellite in degrees between 0 to 90
· getPrn() – returns the PRN (pseudo-random number) for the satellite
· getSnR() – return the signal to noise ratio for the satellite
· hadAlmanac() – returns true if the GPS engine has almanac data for the satellite
· hasEphemeris() – returns true if the GPS engine has ephemeris data for the satellite
· usedInFix() – return true if the satellite was used by the GPS engine when calculating the most recent GPS fix
o GpsStatus, https://developer.android.com/reference/android/location/GpsStatus.html
§ This class represents the current state of the GPS engine
§ getMaxSatellites()
§ getSatellite()
§ getTimeToFirstFix()
o SettingInjectorService, https://developer.android.com/reference/android/location/SettingInjectorService.html
§ Dynamically specifies the enabled status of preference injected into the list of app settings displayed by the system setting app.
Google Location Services API
· Part of Google Play services, is the preferred way to add location-awareness to your app. It offers a simpler API, higher accuracy, high-power geofencing, and more
· Interfaces
o public static interface GpsStatus.Listener, https://developer.android.com/reference/android/location/GpsStatus.Listener.html
§ Used for receiving notifications when GPS status has changed
o GpSStatus.NMealListner – Used for receiving NMEA sentences from the GPS
o LocationListner – Used for receiving notifications from the LocationManager when the location has changed
o
Google Maps, https://www.google.com/maps/@41.158307,-85.0498925,13z
· Latitude and longitude coordinates, https://support.google.com/maps/answer/18539?hl=en
o Degrees, minutes and second (DMS)
o Degrees and decimal minutes (DMM)
o Decimal degrees (DDD)
Android Location Based Service Examples
· Making Your App Location Aware, https://developer.android.com/training/location/index.html
o Retrieving the Current Location, http://developer.android.com/training/location/retrieve-current.html
o Receiving Location Updates
o Displaying a Location Address
o Creating and Monitoring Geofences
o Recognizing the User’s Current Activity
o Testing Using Mock Locations