Network-based geolocation in off-line smartphone - android

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.

Related

Geolocation in the building outside the city

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?

mobile positioning in google maps using only internet

I used an android smartphone in the following situation:
without SIM-Card
connected to a WLAN
located in an indoor environment (GPS does not work)
located somewhere other than the address probabely set in google account
for positioning in Google-Maps App. The result was roughly correct (about 15 meters error).
There is no GPS signals to get position.
Thre is no SIM-Card. So using Cell ID is impossible.
It means the only resource from which my position is achieved is internet. Could anybody explain to me (while I couldn't find anything in internet) how this is possible?
Google gathers information on the SSID of WiFi hotspots. They drive around with cars gathering street views for their maps and other information like the location of WiFi hotspotes. They store it in a data base somewhere and when you ask for your location it will find out the SSIDs of every WiFi hotspote around you and then give a rough estimate based on signal strength and other information.
Google might use people's cell phones to gather WiFi SSID information as well I am not really sure about that though. I think this because there are setting in most android phones asking to help Google for accuracy using WiFi...
Other sites use public ISP information obtained by IP address but this is not as reliable as it gives the location of your ISP (Internet Service Provider).
Here is a site where many people are discussing this topic.
Here is a site that teaches how Google finds location data through SSID
Here is a site that teaches how geolocation software finds ISP location
Google, apart from other ways, uses SSID of the nearby networks to get your position. AFAIR there was a big concern about Google Street View Cars scanning for wifi networks, recording SSIDs for location purposes. If that SSID is not registered, they probably use some kind of IP location service, based on network provider ip address pool.
See Google maps Android API getting wifi location for more details about getting that information from Android.
Android may use wifi and sensors in order to get your position. The more wifi routers around - the more accurate your position.

Getting the geo location by MAC address of the device

Is it possible to get the device location of an android device (mobile phone) in cordova using it's MAC address?
Example: If we send the MAC address of a device, then will we able to get the longitude and the latitude of that MAC address's device, assuming that the particular device's "Access to my location" is "on"?
I think you're a bit confused about what the relationship between MAC addresses and geolocation is. They aren't used to track individual devices this way--the functionality in the Play Store for tracking down a lost device doesn't even use it (directly). It contacts the device over the Internet (provided it's reachable) and asks the device where it thinks it is.
The only relationship MAC addresses have to geolocation is that, in the absence of a good GPS signal (i.e., one that results in a high-accuracy location measurement) the addresses of nearby (within communication range) wireless APs can be used to attempt to determine the device's location. While this isn't as precise or as simple as GPS, it's generally much faster than more accurate and than relying on information from cell towers alone.
It's basically not possible to contact a device over the Internet by MAC address because of IPv4/v6 being the protocol necessary to go from one broadcast domain to another (i.e., one little network to another) and MAC addresses being a layer below that in the protocol stack.

Does fetching gps location in high accuracy mode deducts money from our balance?

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.

GPS clarification

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.

Categories

Resources