I have the target to obtain geolocation of mobile phone, for this purpose i use three approaches:
Wifi geolocation if wifi access points are present.
GPS if satellites are visible for mobile phone.
Geolocation by cell towers.
I use google location api for the retrieving location by cell towers ids and BSID's of routers.
But, I have problem in particular case - my mobile phone is outside the city and wifi points are not available (first item is not appropriate), gps location also is not eligible because mobile phone is in building and signal from satellites are not available), last variant with location by cells tower works, but result has very bad accuracy (from 100m to a few km).
How can I improve the accuracy to a few tens of meters?
Can i use number of mobile phone for obtaining location of mobile phone?
Related
Hi I am working on a project which requires fetching of user's current coordinates and I am fetching it in high accuracy mode.
Ever since I started testing out this application in my device I have noticed that my money is getting deducted from my balance I am not sure why is it happening.
I currently dont have a data pack and my mobile data is turned of in my device but I am connected to wifi. Even if some application is using internet for some purpose it should make use of the my wifi connection right?
Can anyone please explain me why is my balance getting deducted (if you have faced similar issue) ? Is it really because of the fetching of location in high accuracy mode ?
Thanks.
Edit
I get this dialog box frequently:
GPS coordinates on a android device (or any device for that matter) is received in 2 ways.
From a GPS hardware that connects to your GPS Satellites
From your network, via the GPS location of the tower to which your SIM card is connected to.
The GPS hardware connects to multiple satellites and approximates your location to a point. And this location is the most accurate you can get. It consumes a lot more battery and decipates a lot more heat on the devices, since a lot of current is needed to read from the GPS satellites. This does not use the network at all. If your SIM card cannot make phone calls/and/or/data even then this location can be received.
Your network GPS also does similar, but it takes GPS coordinates of the towers closeby (to which the SIM card is connected to, and then approximates the location of your device. This GPS location (in comparison with the GPS hardware) calculates a less accurate. This consumes GPRS/3G data bandwidth and you will be charged for this.
Both the hardware are completely independent.
Now, some smart ass developers in Google have used sensors like compass, rotation, movement to develop something called AGPS, which takes the GPS location from the GPS hardware, and then uses network and sensor information to ensure that your location is known without use of too much power, and there by lesser heat decipation. This is called AGPS.
Very simple question: does network-based geolocation (either cell phone tower or wifi AP) work without an internet connection?
If not, could you somehow cache the cell phone and wifi ap database for specific areas? Could I download a full database of all wifi access points and cell phone towers in Belgium, and filter those near to my tourist locations?
Background information:
I want to make a smartphone app that alerts you when you are near a tourist location. I have a database with the addresses of all tourist locations (and can thus find lattitude/longitude).
I do not want to rely on GPS as it drains the battery too much. The phone will not have a data connection.
recently I checked location in galaxy tab by disabling GPS and wifi and the accuracy is around 50 to 65 meters(location is rural).
later I cleared the total cache memory of the maps app, and the device and when I checked the location under same scenario the accuracy is very bad it's around 1.2km to 2km.
-Now I activated the wifi and suddenly it came under 50meters, now when I disable it even then the location shown is around 60 meters accuracy.
Is there any way that we can find the approx location by only using mobile networks without using wifi and gps, as the device is gathering some info in to the cache and this helps when wifi and gps are disabled.
what I am asking is, can't the device use the mobile triangulation and get the accuracy around 50 meters than to depend on the cache of wifi and gps. where can we get this implementation source code of android.
PS: I want to disable wifi and gps because I want to mimic this functionality in hardware as adding wifi and gps modules is power hungry and costly.
In a large city, where the phone can receive a signal from several towers, then triangulation may well be fairly accurate. The only parameter that the phone can measure is signal strength, and from that infer a distance to each mast.
In a rural setting the phone may only have a signal from one mast. All that it can do then is to estimate the distance to the mast, place your position at the mast and calculate the accuracy based on that one signal strength.
I am trying to get the user's current location using phonegap Geolocation api, which says "Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs". I am able to properly get the location when internet is ON (irrespective of the state of GPS).
Is there a way to get the location using triangulation when the internet is OFF or not accessible? (GPS might be ON or OFF)
A BIG "NO"! This is like cutting down hands and asking if I could clap now? GPS and NETWORK location providers are the only way to receive user device location.
For GPS location - you need GPS sensors to be ON.
And for NETWORK location you need to have internet connection ON, because in this case the location is calculated on the basis of Cell-Tower/Wifi-spot ID which is then sent to google servers (via internet) to fetch the location details of the respective Cell Tower or wifi spot. Google's location server have its own location approximation algorithms on the basis of which it tells your location.
So, there could be no way you could receive a location when both GPS and INTERNET are OFF.
Note: You can still get the last received location from any of these providers by using LocationManager's getLastKnownLocation() even when the providers are OFF. But this locations are usually outdated ones and are barely of any use.
{ enableHighAccuracy: true }
Enabling that option will allow the Android device to get the location even with the WIFI option disabled.
I'd just like to ask for some clarifications regarding the GPS functionalities of android phones. When an application activates the GPS of a phone, will the phone need to be on a data plan or should activate the data traffic ( Settings > Wireless & Network settings > Mobile Networks > Data Traffic) for the GPS to get the phone's coordinates?
From Wikipdeia
The Global Positioning System (GPS) is a space-based satellite
navigation system that provides location and time information in all
weather, anywhere on or near the Earth, where there is an unobstructed
line of sight to four or more GPS satellites. It is maintained by the
United States government and is freely accessible to anyone with a GPS
receiver.
If you talk specifically about GPS then it's nothing to do with the data plan or even with your service provider. GPS is totally independent of it. Think of a stand alone GPS receiver device e.g. Garmin GPS 10. It just connects to your laptop through Bluetooth (some with USB cable) and start sending GPS data to it. These devices normally output GPS data in NMEA format. Modern phones includes same sort GPS receiver circuit integrated in them. The thing different here is that these phones consumes GPS data for internally available rather than directly outputting in raw form. That's how you get GPS location information in iPhone and Android smart phones. On the other hand think of GPS navigation devices we use in our cars e.g. Garmin nuvi. It shows the location of car on the integrated maps. There is no sim card in it. Same is with GPS fitness watches.
A good question here is How GPS calculates the location? Best explanation I found is on HowStuffWorks. It's very easy and very well explained. Apart form GPS there are other positioning systems in the world, though GPS is oldest and most widely used. After GPS from US, there is GLONASS from Russia. Some phones support GLONASS too e.g. iPhone 4S and Samsung Galaxy S III. Well there is nothing to worry for developers though. These phones internally use GPS and GLONASS to have high positional accuracy and gives the location in same way.
Other positioning systems includes Compass from China and Galileo. These are under development at the moment. For complete list check this Wikipedia article.
Edit: Location can be also be determined by mobile networks and wifi networks. For example Google Latitude tells your approximate location if you are connected with wifi and even you don't have GPS device connected. In case of location determination by mobile networks, the service provider may charge for location. Normally locations determined by mobile and wifi networks are not very accurate but location can be determined indoors which is a very big problem of GPS location calculation.
Hopefully it will help how things are working.
Cheers! :)
Atleast in India I can access use the GPS whenever I can see the sky, no data plan is required for me.
I haven't tried it on Android but it should be possible to get GPS co-ordinates without a data plan. My iPhone gets GPS locations even when out of reception, I can't see why android would be any different.