I have got a Windows Mobile GPS routing application, which shows the GPS position on the map.
I need a function, which will do "map matching" on signals received from GPS device, i.e. correct the GPS position to the best fitting road (not always the nearest!).
I will deliver Visual Studio C++ Project to the programmer, which is a working GPS routing application.
The task will be to add map matching to the application, i.e. correct the GPS position to best fitting road:
* usually it will be the closest road, but:
* driving direction should be taken into consideration - if it is an one way road,
* take 'historical data' into consideration - if two roads are equally possible, assume that the one used in previous interation is correct,
* recognize turns and U-turns,
* consider other factors, especially those described in following papers: [url removed, login to view] and [url removed, login to view]
Longitude and latitude receiving from the GPS device is done, as well as drawing the current position on the map. Map nodes can be accessed easily. The function will have to find all roads near to the GPS position (calculate them from nodes) and do the matching.
I will deliver the map file and the GPS track recorded in NMEA file, which can be used to do the testing on Windows Mobile (or Windows Mobile Emulator) with FakeGPS tool. Function will have to pass the tests with delivered map and track.
This is the first small task of this project - longer cooperation with winning coder is very probable.