cyang-kth / fmm

Fast map matching, an open source framework in C++
https://fmm-wiki.github.io/
Apache License 2.0
884 stars 211 forks source link

'error' column in FMM outputs #143

Closed gottfriedmrs closed 3 years ago

gottfriedmrs commented 3 years ago

Dear Can,

I would like to know how do you compute the error column in the case of WGS84 GPS data ?

How accurate is the approximation that you speak about on your documentation ? ("then 1 degree of latitude or longitude equals to about 111km" from https://fmm-wiki.github.io/docs/documentation/configuration/) Is this true for all UTM zones ?

Do we obtain the same error column if we do FMM on the same GPS trace, but with different CRS ? (error column converted in meters, with the approximation mentionned above) I think we obtain different results for different CRS but I did not check yet.

If we do the hyptohesis that the matching is right for all points, the error column might be a good estimation of GPS positionning error, do you agree ?

Thank you again for your work, Gottfried.

cyang-kth commented 3 years ago

The GPS error is calculated as the distance from raw GPS point to matched point and its unit is in the same unit as network file. If you have projected CRS, then you are likely to get values like tens or hundreds (in meters). If you use geodetic CRS, the unit is in degree so you will get extremely small values (1-100)x1e-5. This conversion is reasonable if your computation does not cover a big area.

gottfriedmrs commented 3 years ago

Thank you !

How do you compute this approximation ? 1 degree=111km ?

cyang-kth commented 3 years ago

There is no this type of computing inside fmm. It just exports the value in the unit of network. You need to do scaling yourself. It is reasonable to just divide or multiply with 1.11e5. https://en.wikipedia.org/wiki/Decimal_degrees

gottfriedmrs commented 3 years ago

Thank you for your answers :)