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