Visitor counter, Heat Map, Conversion tracking, Search Rank

Location Finder and GSM Mapper

 1.   Motivation.   Well, the idea was to come up with an application which could give me my location with the following riders. One cant access GPS, Internet connectivity is not available throughout and the battery power is limited. Therefore, one needs to use GSM BTS signals to find out ones location. But as you know, this requires a continuous Internet connection , as is done by Google when we use its network location feature. However, this is quite a drain on the battery. So I thought , why not have a local copy  of the location coordinates for the relevant BTSs in your phone SD card. And then, use triangulation and get the approximate location as google does. Further, why not just cache the maps and have a local store and use that instead of downloading maps at runtime. This would save on data usage and battery life. In the endeavour to accomplish the above I have made a humble beginning and have come out with an app  called Location finder and GSM Mapper . I have published it on the google android play store for free. Its not done yet , however, feel free to download and share your experiences.

Now coming to the app proper, it consists of the certain  fragments which are explained below. This is followed by some usage scenario in which this app can be used effectively. Note that, it is advised to change to 2G from 3G as the required LAC and CID data may not be obtained when in 3G mode. On startup you would get an alert as shown below regarding the same.


2.  Main


The main fragment displays the operator details such as Mobile Country Code and Mobile Network Code . It would also tell you whether your present connection is 2G or 3G and further details such as GPRS/EDGE/HSPA etc.

The main fragments makes use of an app service which monitors basically two things. Firstly, any change in cell location and Secondly, any change in received signal strength.

Now change in cell location indicates a handoff, Cellular networks are composed of cells, each of which is capable of providing telecommunications services to subscribers roaming within them. Each cell can only serve up to a certain area and number of subscribers. Thus, when any of these two limits is reached, a handoff ensues. 

For instance, if a subscriber moves out of the coverage area of a particular cell while entering another, a handoff takes place between the two cells. The cell that served the call prior to the handoff is relieved of its duties, which are then transferred to the second cell. A handoff may also be triggered when the number of subscribers using a particular cell has already reached the cell’s maximum limit (capacity). 

Such a handoff is possible because the reach of the cell sites serving these cells can sometimes overlap. Thus, if a subscriber is within an overlapping area, the network may opt to transfer one subscriber's call to the cell involved in the overlap. 

Sometimes a handoff can take place even if no limit is breached. For example, suppose that a subscriber initially inside the jurisdiction of a large cell (served by an umbrella-type cell site) enters the jurisdiction of a smaller cell (one served by a micro cell). The subscriber can be handed off to the smaller cell in order to free up capacity on the larger one. 

When a  new BTS is encountered on a handoff , its location is queried from google database  and is stored in a local sqlite database residing in the phone's SD card. So as you go on using this app , that database is continuously getting  updated, and the end state would be, that you would  have the details for all the BTSs in your area of operation, something which opencellid project intends doing for the BTS of all the service providers world over and with database residing on the Internet. This app does something similar, the difference being , we are concentrating only on the service provider whose SIM we are using and the database is residing locally and being populated as we use the app.  However, I do plan to integrate this app with opencellid project in future.

Coming  back to the main fragment, the serving and neighbouring BTSs details such as Cell-ID, Location Area Code and Received Signal Strength(RSSI) are displayed. In case of 3G for neighbouring Cells the LAC and CID values are displayed as -1. This limitation is due to the  3G BTSs. This remains an open issue to be addressed.

From the above data regarding active and neighbouring Cells one can infer as to how many BTSs have been placed by your service provider in a given area. Further , the RSSI indicates how good the reception would be in that area. This has a direct bearing on the Data speed when using GPRS/EDGE/HSPA.

Using the star icon one can mark the BTS. An address can be associated with the BTS. To check the marked location go to the tab Marker Locations.

3.   Menu Options


 The menu option  consists of the following submenu as elaborated below.

3.a   Delete   We keep a record of all the previous Cell ID, their location coordinates and corresponding address.These records can be deleted using this submenu.It is recommended to clear the history often as a large history takes time to render when changing fragments.

3.b   Settings    Using this submenu one can select the time interval for scanning the air for the required BTS signals when BTS scanning is enabled. You can also select the time interval for recording the location based on active BTS.  Lastly, to save on data usage , one can opt for recording only the Cell-ids when in recording mode. The location resolution will be done when rendering the route fragment thereby saving on precious battery life and cellular data usage.


3.c   Services   Using this option one can start the background scanner for BTS signals or start a background service to record location based on active cell. Note that when you start either of the above services, we need to scan the air for the GSM signals. Now in Android when you phone is  in  sleep mode, the api when invoked by the user application will not give the required result. The OS has been designed such. Therefore, we need to bring the phone out of the sleep mode temporarily and again put it back to sleep. And in that time duration scan for the air waves.So you would see your phone come out of sleep mode(something which happens when you press the power button) exactly at the desired time interval ( selected in menu option above) and go back back to sleep within a second. Therefore, one can just lock the phone and yet it would alert/record location based on the mode selected. 

To provide user a feedback regarding BTS Scanner service running in the background, the app would vibrate for a very small duration at a periodic interval which is 1/10 of the BTS scanning time interval. So if you set Time periodicity for scanning BTS signals as 120 sec than the app would give a very short vibration every 12 sec to indicate the app is running. 


3.d   About


3.e   Database   To understand this we need to have a look at the database and the tables being maintained by this app. This app would create a directory LocationFinder in your SD card. In that folder there are two sqlitedb files which are created i.e LocationFinder_BTS_DB and LocationFinder_Time_BTS_DB.  Using any sqlitedb browser such as SQLite Manager available for free on Google Android Play Store one can see that LocationFinder_BTS_DB.sqlitedb contains two tables ie bts_data and location_data. bts_data contains the details for all the BTS which your phone has ever come in contact with when the app was running in foreground or background.location_data contains the details of the location which have been marked by you. LocationFinder_Time_BTS_DB contains the table timed_bts_data. This tables contains the cell-id and LAC and corresponding  location of active cells which are recorded when in recording mode.

Now a situation may arise that when using the app that  you don't have access to Internet. In that case the app just records the Cell-id and LAC value for the BTS. The corresponding values of location and address for the BTS can be fetched later from Google database using the first option ie Populate missing fields.

We are using google database for ascertaining the location and address of a BTS which is not so accurate.Google is constantly improving its database based on the inputs received when users use GPS data alongside google maps. So the second option i.e Re-populate Lat-Long and address has been given to refresh your  local sqlite database using the latest Database existing on google.

3.f   Exit   This is to shut down the app completely. All background services will be stopped. 

4.  Serving Cell

This fragment displays the details (ie CID and LAC)  of the active cells to which the phone had been connected. As your phone does a handoff , the new BTS details are logged here. So  by viewing these details one gets an idea how often your phone does a  hand-off.

5.  Lat-Long

This fragment displays the location  of the active cells to which the phone had been connected. As your phone does a handoff , the new BTS location is querried from google  using the cid and lac of the  BTS and the same is logged here. So  by viewing these details one gets an idea how you are traversing the globe. Although these details have been obtained from Google, however, they are not so accurate.

6.  Location

The lat-long values may not make much sense to you , therefore this feature has been added where one gets to know the approx address from the location coordinates. This api has been provided by google and is not that accurate.

7.   Map   Own location is depicted by  . The active cell is displayed by a text box having red background  and connected to present location using a red line. Neighbouring Cells is displayed using a text box having a green  background and connected to present location by a blue line. Those cells which are not connected to present location but are being displayed with either a green background on the google map are  the ones which were either active/neighbouring cells in the past.  On  long pressing anywhere on the map, the area would be marked using a circle with red circumference and it location would be displayed as a popup . On clicking any active/neighbouring cell its details are displayed which include its latitude,longitude,CID and LAC.  On clicking the popup  an address window would appear and the BTS would be marked with the address entered. As one moves, the handoffs can be seen in this fragment. 


8.   BTS

This  fragments displays all the BTS whose location coordinates are available in the local sqlite database. All BTS have been coloured coded according to their CID value. Therefor two BTS having the  same CID but different LAC are displayed using the same background colour.This fragment can be used to mark a BTS by clicking the popup which in turn appears when you click the BTS marker. 



9.  Marker Locations

To explain the functionality being offered by this tab , have a look at the screen shots of the Marker Location ,Main and BTS tab. The location marker is denoted by a star. The star has two states, the orange filled state indicates on and the inside blank is off. Incase a marker location for a BTS is on , this implies that, moment the app finds that particular BTS is either the active Cell or is one of the neighbouring Cell, an alarm would be sounded. The list of all markers , whether in on/off state is shown in the Marker Location Tab.  To mark a BTS, either use the Main tab  by clicking the Star icon or click the info window which appears when you click the BTS location text in BTS tab. On clicking ,you would be required to enter  the address for the marker which is displayed against it in the Marker Location Tab. To toggle the state of a marker i.e activate/deactivate a particular marker click the star icon To delete a marker click the cross icon. 



10  Route

The idea here is to record the approximate location of your phone over a period of time using minimal amount of battery life .So we are making an approximation and taking the location of active BTS as your location. This location is recorded at regular time intervals, the time interval can be set by going to the preferences in the menu option. Further, one may not want to use the data connection while recording the location to save on battery/data usage. To avail this option, disable use of data connection during recording  by going to the preferences in the menu option. However, to display the route taken one needs to get the lat-long corresponding to the CID-LAC values of the recorded cells. For this , when you select the route tab, that is the time when the  app using your data connection would find the  location  coordinates for the recorded cells in the sqlite database.


11.   BTS Database

As your cell moves through the coverage area of various BTSs, an active cell is selected based on the received signal strength. The latitude and longitude of those active BTS is found out using the google database. For this we use the CID and LAC of the BTS and using the active data connection, we query the google database. The result, which comprises of Latitude and Longitude of the BTS is saved in our local sqlite database. Therefore, any subsequent query for location of a BTS can be handled locally and does not require an active data connection.

Known issues: The google data base is not complete and correct.When I say not complete, is that for all BTSs , google does not have location coordinates.  I plan to give user an option to switch on his GPS and capture the missing data and use that as the location coordinates for those active BTS. Users can suggest any other options in the comments section below. When I say not correct, I mean  for certain CID and LAC values the Latitude and Longitude values returned by google are not correct. For example, for a BSNL(GSM Service provider in India) BTS having a CID 28591 and LAC 128 located in Bangalore,Karnataka,India  the location coordinates given by Google are for Gandhinagar,Gujarat,India. This is more clear when you see the BTSs from your local sqlite database plotted on a map in the  BTS fragment. I am working on it. I am planning to have a option using which one can blacklist such records in the local sqlite database. Users can suggest any other options in the comments section below.

12.   Some Usage Scenarios 

Take for example a scenario where you have boarded a train to go from station A to station B and return back the same way. Now while returning back  to Station A from station B how do you find out that the train is approaching the desired station ie station A. As you are indoors GPS would not work, further Google network location service requires you to have data connection, which may not work inside the train that well, due to electromagnetic shielding and further it is not accurate. Therefore to check whether your desired de-training station has come, one would have  to see out of the window and ascertain the same from the surroundings. However, with this app one can mark the desired stations Active/Neighbouring Cells while at station A and start the BTS Scanner when starting from station B. As a result, moment you approach station A the BTS scanner would pickup the signals from one of the marked BTS and would trigger the Alarm , indicating to you that you desired station is approaching. Similarly this app could be useful when travelling by bus. The other related advantage of this approach  is minimal battery drain as you are not using either data or GPS and only  relying on the BTS signals which as it is your phone is tracking in the background.

13.   Why and How to Activate Device Administrator ?   On installing the app you would be asked to activate Device Administrator  as shown below. This is required as we want to have the functionality to lock the phone screen to put the phone immediately into the sleep mode in order to save battery life. This screen will only be shown to you at startup.


 Note that when you want to uninstall the app you would have to deactivate the app from the list of Device Administrator. 

Incase you press cancel on the above screen , the app would not be able to lock the screen and would not function properly. However, you can activate/deactivate Device Administrator feature for the app by going to the Settings -> Security - > Device administrators as shown below.


14.   Known Issues with the App

       On changing 2G to 3G or vice versa sometimes the app tends to malfunction. It is recommended to follow this sequence, firstly, exit the app , switch data connection and thereafter start the app. This restriction would be fixed in subsequent release.

Finally , my sincere endeavor is to   provide a free and user-friendly app , evolving with each passing day based on the feedback from users , feel free even to rate it as 1 star , provided you state a reason for the same. And I am conscious of the fact that in certain area the Internet connectivity is not all that good, so there would be never be any ads on this app which eat up Internet bandwidth.


0 #695 live 22308 2018-11-17 05:06
This is very interesting, You're a very skilled blogger.
I've joined your feed and look forward to seeking more of your magnificent
post. Also, I have shared your site in my social networks!
0 #694 scr888 2018-11-17 04:20
Switching from one advice to amazing . nothing but a
mere waste electricity and time and effort. It actually is about that which you find fascinating humorous.

Weekly, modify the content extra updates.
0 #693 ace333 apk download 2018-11-17 02:16
It it seems there plenty of resource material of new
articles directories popping up every day. Now you should take utmost care on who are linking for you and where?
In addition, they can also lessen page listing.
0 #692 vsfHaurb 2018-11-16 20:41
viagra doses generic viagra viagra samples Viagra without a prescription
0 #691 ChristiJuicy 2018-11-16 08:19
Hi. I see that you don't update your blog too often.
I know that writing articles is boring and time consuming.
But did you know that there is a tool that allows you
to create new articles using existing content (from article directories or other websites from your niche)?
And it does it very well. The new articles are unique and pass the copyscape test.
Search in google and try: miftolo's tools
0 #690 mobile slot online 2018-11-15 18:28
Hello my friend! I wish to say that this article is amazing, great written and come with almost all important infos.
I would like to look extra posts like this .
0 #689 ntc33 2018-11-15 16:37
Greetings! I know this is kinda off topic but I'd figured I'd ask.
Would you be interested in trading links or maybe guest writing a blog post or vice-versa?
My site discusses a lot of the same topics as yours and
I believe we could greatly benefit from each other.
If you happen to be interested feel free to shoot me an e-mail.

I look forward to hearing from you! Great blog by the way!
0 #688 copy needs access 2018-11-15 16:33
So you've to serve their needs (ie, the requirements of their audience).
Buy the low numbers in local search volume. Just make sure it is good, quality article!
Ebooks cannot replace such endures.
0 #687 scr888 jackpot cheat 2018-11-15 13:51
When someone writes an article he/she keeps the plan of a
user in his/her mind that how a user can know it.
Therefore that's why this article is perfect. Thanks!
0 #686 bafrinty 2018-11-15 12:14
cheap cialis online cialis cialis brand п»їcialis
0 #685 live casino salsa 2018-11-15 11:53
Third, find out the type of sign up bonus there is.

Turn to raise prior to the flop? Surely, with these things to
win at free pokies games, you must be capable of win some
of the time!
0 #684 afbBiobe 2018-11-15 11:24
buy female viagra Viagra without a doctor prescription brand viagra buy viagra online
0 #683 rollex11 login 2018-11-15 10:49
I was recommended this blog by my cousin. I am not sure whether this publish is written by
means of him as no one else recognise such particular approximately my
problem. You are amazing! Thanks!
0 #682 nwtrinty 2018-11-15 10:45
tadalafil tablets online cialis cialis reviews online cialis
0 #681 mega casino slots 2018-11-15 10:05
I think this is among the most important information for me.
And i am glad reading your article. But wanna remark on few general things, The website style is great, the articles is really
excellent : D. Good job, cheers
0 #680 OliveJuicy 2018-11-15 06:53
Hello. I see that you don't update your site too often. I know that writing articles is time consuming
and boring. But did you know that there is a tool that allows you to create new
articles using existing content (from article directories or other pages from
your niche)? And it does it very well. The new posts are high
quality and pass the copyscape test. Search in google and try:
miftolo's tools
0 #679 918Kiss online 2018-11-15 06:38
A motivating discussion is definitely worth comment. I do think
that you need to publish more on this issue, it may not be
a taboo subject but typically folks don't discuss these subjects.
To the next! Many thanks!!
0 #678 Casino malaysia 2018-11-15 05:42
For most up-to-date news you have to pay a quick visit world-wide-web and on web I found this web page as a best web site for most recent updates.
0 #677 live22 apk 2018-11-15 04:55
Have you ever considered about including a little bit
more than just your articles? I mean, what you say is fundamental and all.
Nevertheless just imagine if you added some great images or video clips to give
your posts more, "pop"! Your content is excellent but with images and video clips, this site could definitely be one of the very best in its niche.

Amazing blog!
0 #676 ikjClura 2018-11-15 04:25
brand viagra online viagra online viagra order viagra online
0 #675 nfhwhorm 2018-11-14 22:42
cialis pill cialis tadalafil best price buy cialis online cheap
0 #674 bshInden 2018-11-14 08:12
cialis generic online cialis tadalafil 20 mg п»їcialis online
0 #673 918kiss 2018-11-14 07:17
Thanks for a marvelous posting! I genuinely enjoyed reading it,
you might be a great author.I will be sure to bookmark your blog and definitely
will come back at some point. I want to encourage one to continue your great posts, have a nice morning!
0 #672 rollex11 download 2018-11-14 06:52
Write down your main keyword and get a list
of its word alternatives. A person really are have
to attain is that promoting a blog can consume all of the available hard
0 #671 918kiss download 2018-11-14 04:24
I played a few spins - in order to have ripped abs.
Las Vegas is in order to the world as Sin city and one big vice in this desert city is the casinos.
Always remember, casino games are not all about luck.
0 #670 minimalist watch 2018-11-14 03:11
It's very simple to find out any topic on net as compared to
textbooks, as I found this article at this site.
0 #669 ClemmieJuicy 2018-11-14 02:17
Hello. I see that you don't update your website too often.
I know that writing content is time consuming and boring.
But did you know that there is a tool that allows you to create new articles using existing content (from article directories or other
blogs from your niche)? And it does it very well.
The new posts are high quality and pass the copyscape test.
Search in google and try: miftolo's tools
0 #668 seo ngon 2018-11-14 00:51
The wide touch screen and high screen resolution ably aid the camera and video associated with the
HTC Magic. Anytime I go on a trip, I'll use Google Maps and Google Street view before I add.
0 #667 BestAugusta 2018-11-13 22:36
I see you don't monetize your website, don't waste
your traffic, you can earn additional bucks every month.
You can use the best adsense alternative for any type of
website (they approve all websites), for more details
simply search in gooogle: boorfe's tips monetize your website
0 #666 mega888 casino 2018-11-13 21:51
I couldn't resist commenting. Well written!
0 #665 scr888 2018-11-13 21:32
Fine way of telling, and good paragraph to obtain information regarding my presentation subject matter, which i am going
to convey in institution of higher education.
0 #664 rollex 11 2018-11-13 21:28
Put your best foot forward when writing your 1st two sentences or introduction.
Educate your readers why they wouldn't want to give up the opportunity of visiting your internet site.
0 #663 RoxannaJuicy 2018-11-13 20:49
Hello. I see that you don't update your page too often. I know that writing content is time consuming and boring.
But did you know that there is a tool that allows you to create new posts using existing content (from article directories or other
websites from your niche)? And it does it very well.
The new posts are high quality and pass the copyscape test.
Search in google and try: miftolo's tools
0 #662 joker123 apk 2018-11-13 20:25
So, from here on out we'll discuss some proven SEO strategies may do put towards
your SEO activities. The truth is, enthusiastic about
anything all about the state of your website.
0 #661 fujwhorm 2018-11-13 15:11
cialis cost п»їcialis online buy cheap cialis tadalafil
0 #660 918k 2018-11-13 13:45
I had undertaken a task that I'm beginning to feel was beyond
my personal resources to attain. The secret to mastering the unknown is
possibly not a magic. Do Take into consideration want to change?
(E.g., Yes or no).
0 #659 bsfrinty 2018-11-13 10:48
cialis without a prescription generic cialis cialis sale generic cialis
0 #658 sky77778 datasheet 2018-11-13 00:08
But.the 9 articles I found the other day weren't done through doing this.
This reviewer was skeptical but decided attempt and
it as she has got trouble sleeping as lately.
0 #657 l22 2018-11-12 22:41
Start letting planet knows about you way before your
launch. Aim to please prospects and they will always come back for more.
I this day by day and have had success for
a long time.
0 #656 bsyHaurb 2018-11-12 21:42
viagra dosage viagra online viagra overnight buy viagra online
0 #655 3win8 hack money 2018-11-12 20:47
If write-up you're reading is a tutorial, consideration to to determine end
result, right? He also gives hints on how to search the internet.
Look at the scams banks pull off regularly these days.
0 #654 casino malaysia 2018-11-12 19:27
Article Directory Marketing is another method to get top spot in page ranks.

Photographs include the basis associated with an scrapbook which is the most important thing needed.

Search Engine Optimization sounds difficult to most.
0 #653 mega casino slots 2018-11-12 15:52
Even if there can only be a few IP per day, we
could also dig the earnings method. This is a free method of advertising are usually have period.
0 #652 918 kiss 2018-11-12 15:23
It's awesome in favor of me to have a website, which is beneficial in support of my experience.

thanks admin
0 #651 sky777 download 2018-11-12 13:03
This is where an individual your "by-line", how people can reach
you for additional information. Blog Marketing Tip #1: Provide Technology.
Page rank becomes the obsession of many marketers.
0 #650 scr 888 apk 2018-11-12 08:53
You need keywords on your page are generally relevant to that of this search
term. Last but not least, wasting update expense frequently with fresh and relevant content.
0 #649 newtown ntc33 2018-11-12 06:58
Another method generate links to marketing is going to is
through press lets out. Write using conversational tone
and friendly all throughout. Search engines just love these type of links, as they see them as
votes to your page.

Add comment

Security code