openstreetmap geocoder and proper GSM positioning

Jussi Kukkonen jku at linux.intel.com
Thu Jan 28 01:22:50 PST 2010


Hey all,

I actually got some geoclue work done: a new geocoder and gsm location 
using ofono.

There is a slight problem with getting that code available: I've broken 
my cryptocard that had the my (and I learned the first rule of backups: 
the proof is in the restoring). I've pushed to 
git://github.com/jku/geoclue.git 'new-stuff' branch for now.

Pierre-Luc, Keith, be my guest if you want to pull these in before I get 
my new keys approved.


* nominatim provider:
New geocoder/revgeocoder using nominatim.openstreetmap.org. A very 
usable geocoder in my tests (depending on OSM coverage of course): I 
usually seem to get street-level accuracy when testing in Helsinki and 
London.


* gsmloc provider: use ofono instead of gammu
The gammu based gsmloc provider was a proof of concept at best. My 
netbook 3G got partial ofono support last month so I changed gsmloc to 
use that. Opencellid.org database has improved in the meantime, e.g. UK 
apparently has 48000 cell locations.

The program flow is:
   - keep track of ofono network changes
   - when cell id information changes, lookup position at opencellid.org
   - if position changed, emit signal and save position for GetPosition
     queries

Issues:
   - my 3G modem seems to be crap and not fully supported, so the ofono
     signal handling isn't fully tested.
   - starting the provider and immediately querying will return no
     position (instead of waiting for ofono and opencellid). This could
     be a feature or a bug, depending on who you ask...


* changes in the mac address lookups
The old methods just called a bunch of programs with popen... This 
version parses /proc/net/arp and /proc/net/route. I'm not fond of doing 
this stuff in C so a closer look at the code by someone else (or better 
ideas at achieving the same thing) would be great.

  - Jussi


More information about the GeoClue mailing list