440 likes | 549 Views
Location-Based Services Using GSM Cell Information over Symbian OS. Final Year Project LYU0301 Mok Ming Fai (mfmok1) Lee Kwok Chau (leekc1). Agenda. Project Motivation Work Review Middleware for LBS Developers Application Programming Interface (API) Development Toolkit
E N D
Location-Based Services Using GSM Cell Information over Symbian OS Final Year Project LYU0301 Mok Ming Fai (mfmok1) Lee Kwok Chau (leekc1)
Agenda • Project Motivation • Work Review • Middleware for LBS Developers • Application Programming Interface (API) • Development Toolkit • Sample Application • Conclusion
Motivation • The need of LBS emerges • We would like to provide LBS with minimum hardware requirement • Symbian phones support retrieving location information via GSM modem • Using GSM cell information to approximate current location. • Provide a set of development tools for rapid LBS development
Previous Work • In the previous semester, • Written software to collect GSM cell information • Collected cell information in CU Campus and along the rails • Concluded the accuracy 2D space is not good enough • Migrated to 1D path which provide a better accuracy • Built MTR Traveller to illustrate the accuracy that we could achieve.
Middleware • Current issues: • Developers are required to put a great effort in the whole development process • Service is usually the main focus • The proposed method is applicable in different fields, but not just MTR / KCR route • Different developers have different requirements to meet • There is a great desire to have middleware.
Definition – Reference Point • Reference point: Place taken as a reference on target path in the cell data collection process (e.g. bus stop, railway stations)
Definition – Point of Interest • Point of Interest (POI): Location that is interested in the application level (e.g. building, tourist spot)
API Design • Retrieving location information involves complex system calls • Wrap low level system calls into high level function calls • Make development process more efficient
API Design • Two major functions required in LBS: • Perform a particular action upon encountering specific set of cell change event • Search for nearest POI related to current reference point CNetworkInfo CLocationListener CProximity
Operating System and GSM modem Location information returns when available Complex function calls are handled CNetworkInfo Simple function calls, requesting the action of hardware modem Retrieve current location information User Application API Design • Three components in API package: • CNetworkInfo • Connect to GSM Modem • Retrieve location information
Cell B Action performs at these transitions Cell D Cell D Cell E Cell changes to be kept tracked Cell B Cell C Action not performed, since they are not listed Cell A API Components • CLocationListener • Keep track of cell change events • Perform specific action upon entering specific cells
Points-of-interest, for example, restaurants Nearest POI relative to current location Current Location API Components • CProximity • Read in a location definition file • Search for nearest POI relative to current reference point
Software Development Kit • It consists of software tools for reducing time spent on application development, providing developer with maximum convenience • Components include: • Cell Snap – cell data collection • Cell Analyzer – cell data processing • Distance Mapper – nearest cell searching • AppGen – LBS application generation
Cell Data Collection and Processing • API focuses on easy cell data manipulation • Data collection has to be done manually • Multiple network operators and routes involved • Cell data has to be processed and optimized before use • Cell Snap and Cell Analyzer are introduced
Cell Snap • Collection of cell data was done manually in the past • Cell Snap - a tool for automated cell data collection • Different reference points can also be captured by phone camera
Need of Data Processing • Cell Snap output is designed to be read by human • Formatted cell data for machine • Photos and data output are separated, so developers have to map cell data and reference point on their own • Better presentation of cell data to developers • Cell Snap data is just raw data • Data editing tool and automated data analysis
Cell Analyzer • Cell Analyzer provides developers with a user-friendly environment to edit and process cell data for further use
Features of Cell Analyzer • It has the following features: • Data processing: • Data format transform • Better cell data presentation to developers • Manual cell data editing • Data combination for multiple operators • Automated data optimization: • Cell duplicate removal • Clear classification between reference points
Need of Reference Point Classification • There is a need to clearly classify between two reference points so that the application accurately can tell users that they enter a new reference point • Two pieces of information can be concluded through cell data at any moment: • “You are in the station” • “You are in the way from station X to station Y” • This is handled by Cell Analyzer automatically
Station 2 Station 1 Transition Pairs: [S1, S2, O, B], [S1, S2, B, P], [S1, S2, P, G] Station Cells: [S1, O], [S1, B] Open Area Problem in MTR Traveller • Stations in open area in MTR Traveller Cell ID: PG [S1, S2, P, G] => on the way of S1S2 Cell ID: O [S1, O] => in Station 1 Cell ID: OB [S1, B] => in Station 1 Cell ID: BP [S1, S2, B, P] => on the way of S1S2
Handling by Cell Analyzer • Both reference points X and Y contain a node of cell 1 • Cell 1 really tells user that they are in Y • Cell Analyzer simply removes cell 1 from reference point X
Distance Mapper • To provide searching function, we need a location definition file • Distance Mapper let users to map those POI onto a physical map • It reads in the file generated by Cell Analyzer
(24,17) 30 (23, 4522) 62 75 75 100 (15,201) 94 Distance Mapper • It calculate the logical distance among all POIs in pixel domain • After the calculation, it outputs a location definition files which is used by the LBS application (15,63)
Application Generation • The previous tools mentioned enable developers to have a nice LBS application development environment • LBS application often focuses also on content and service, including actions upon cell changes and information provided • Points of interest (e.g. tourist spots) should also be considered instead of just reference points (e.g. bus stops)
AppGen • AppGen is specifically designed for content builders by generating source code for a LBS application • General developers may also use source code as a starting point to build their own application
Options Provided in AppGen • General • Map displayed • Icon • Message format • Reference Point • Location on the map • Point of Interest • Name • Description • Image • Path to POI from a reference point
Application in Action (1) Points of Interest Reference Points
Application in Action (2) 1. User selects adestination
Application in Action (3) 2. User is at the startingpoint of a route
Application in Action (4) 3. The application keepstrack of the location of theuser in the path at eachreference point
Application in Action (5) 4. Display the informationabout the point of interest(destination)
MTR Traveller Remake • Development Process • Cell data collection by Cell Snap • Cell data processing by Cell Analyzer • Application generation by AppGen • Advantages • Short development time: 1.5 week VS < 8 hours for multiple operators • Easy to be extended (e.g. new stations coming into service)
CU Campus Bus Route Guide • It is another complete LBS application to illustrate the ease of development with the middleware
Three Development Streams • Low-level developers would like to work on GSM cell ID and even optimize the underlying mechanism and algorithm to suit their application needs
Three Development Streams • General application developers would need a set of tools to facilitate cell data collection, analysis and distance measurement on a given map.
Three Development Streams • Content builders would focus on how a location-based service is offered through content editing and enrichment rather than creating an application from stretch
Trade-off of Applying Middleware Facilitate location assignment to cell for searching nearest cell Generate LBS application Flexibility Work with low-level APIs Access cell information Convenience
Conclusion • We have developed a new approach in providing location-based service using mobile phone only • Accuracy in 1D space can be fairly accurate • We have developed a set of development tools to simplify LBS development process. • Created several LBS application using the development tools to test its completeness
Thank you! • Q & A session