Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are planning to write an application which have to track the user driving in his truck in the cities like New York city accurate upto which lane he was driving on. In the cities with those tall buildings, its not possible to get good GPS signal. So we are planning to use hardwares with accelerometers and magnetometers sensors to make up for the lost GPS signals. We tried with some Android tablets, but the sensors are not accurate enough. Right now we are going to try some hardwares from Trimble with geo position correction and motions sensors.

So any kind of suggestions on tracking a vehicle without a GPS device is welcome.

share|improve this question
Have you looked into WIFI Assisted GeoLocation? Other than that, you could look into hardwiring into the spedo / steeringwheel / and possibly mounting a camera to detect lanes. Then using AI to detect what road they're on. – nagytech Jul 19 '12 at 6:25

GPS do not fail that badly with tall buildings, I have plenty of running assets in packed cities with perfect tracing. These skyscrapers actually reflect the signal in a convenient way for GPS.

Accelerometers do not give positions away and their accuracy is debatable, Detecting the difference between a starting , a running engine and a door that gets slam shut twice is tricky.

The real problem is interference, having an extra TomTom on board over your tracking GPS antenna is much more problematic. Plenty of devices that disturb this.

The best solution is to use an external antenna on the rooftop. As long as the runtime calculation tables stay intact and therefore should usually very fast be able to establish a fix again whenever the situation needs one.

All the other sensors like digital compass, magneto, vibration, acceleration etc are handy to know the state the vehicle is in (moving / non moving / engine running etc). And this in turn can be used to request coordinates to create events. Either it be GPS lat/lon or LAC/CELL information from GSM.

Just in case you absolutely do not want GPS your only other option is to use a inertial navigation method instead.

share|improve this answer
If the signal is reflected, that won't be good. It might be convenient for metrics ("number of satellites visible") but the results will be worse. – BradHards Jan 11 '13 at 1:36
Not always. Chances are not every sat is being reflected, but if it is just a question of 10 vs 8 sats used to fix position, the results of 8 will not be so off it becomes an issue for road use. I don't even look at visible metrix, only sats used to determine a fix. You could even hang your GPS receiver upside down under your car using reflections. This is not theory, we've tested this a lot. But I agree with you it's that it's not optimal, you just need to ask the question, how accurate do I really need it... – Glenn Plas Jan 12 '13 at 20:26

Cell Tower Triangulation

enter image description here

SkyHook provide this service:

share|improve this answer
Will it be accurate enough to get up to which lane are they driving? – Kevin Peter Jul 19 '12 at 13:51
No way. Not with Cell Towers only. – MLowry Jul 19 '12 at 14:56
With Lane Assist (Volkswagen group) it can be possible – Mapperz Jul 19 '12 at 16:26

You might want to use nearby cell towers and wifi base stations to establish the position of the vehicle. As mentioned in a previous answer, SkyHook provides this kind of service, and both major smartphone platforms (Android and iOS) have this capability built in. (As for Android, it is part of the proprietary Google package, and not in the open-source AOSP code). Non-commercial implementations of such services include Mozilla Location Service, OpenCellID and OpenBmap.

Bear in mind the constraints of these services:

  • Cell towers are typically from a few hundred meters to a few kilometers away from each other. Even with multiple nearby cell towers as reference, your location estimate will have an accuracy in the 100m range, that is, around 30 times the width of one lane.
  • Wifis are typically dense in urban areas (where GPS reception is hampered), which would make it a good complement to GPS. However, wifis may move and become unreliable for position estimates.
  • Ultimately, most of the underlying data was collected using GPS as a reference. A sufficiently high number of samples will eliminate random errors, but the results are still prone to systematic error. This is somewhat less of an issue with cell tower locations obtained from commercial providers, as they may obtained these locations directly from the carriers rather than through measurements.
  • Wifi data is frequently biased, as surveyors typically just get within a few meters on one or two sides of the building in which they are located. Thus, in the raw data, wifis in a residential area will appear to be on the road rather than in the buildings.

In conclusion, you do not want to drop GPS altogether. A better approach would be to fuse position readings from both sources, giving higher weight to more accurate estimates. Also, getting one of the more recent receivers, which rely not only on GPS but also GLONASS and Beidou (its Russian and Chinese counterparts), will somewhat mitigate the precision and availability issues of older GPS-only receivers. Also, as mentioned in another answer, make sure you get a good signal and minimize interference – a roof antenna will give you better results than the internal antenna of the GPS receiver.

Inertial navigation using sensors may help you to further refine position estimates. The sensors found in most consumer devices (smartphones and tablets) are notoriously inaccurate. If you want to equip a fleet with tracking technology, sensors which are mounted in the vehicle and properly calibrated will give you more accurate results.

  • A magnetic compass will give you the bearing of the vehicle. It can be complemented with a gyroscope to reduce inaccuracies caused by stray magnetic fields. You might also be able to find an inertial compass which incorporates both in one device.
  • As an alternative, you could also use a combination of GPS bearing and gyroscope.
  • To get speed (and possibly other vehicle parameters), the easiest way is to get an OBD dongle in the vehicle and read from that. These devices simply plug into the existing OBD port of the vehicle and are typically accessed via Bluetooth, a serial connection or USB.

Having somewhat accurate values for speed and bearing, you can then extrapolate from the last known position.

Still, inertial navigation is prone to error (which accumulates over time), thus you'll want to fuse it with data from the "primary" location sources or use it to fill in the gaps when nothing else is available.

All of this will still give you GPS-grade accuracy. A good GPS under decent conditions will be accurate to about 1 or 2 lane widths. YMMV and will certainly be less favorable in densely built-up areas. If you need accuracy down to the lane the vehicle is on, you will need to install a camera (or even multiple ones), use pattern recognition to detect lane markings, and from that infer which lane the vehicle is on.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.