openstreetmap geocoder and proper GSM positioning
jku at linux.intel.com
Thu Jan 28 01:22:50 PST 2010
I actually got some geoclue work done: a new geocoder and gsm location
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
* 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
- 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.
More information about the GeoClue