cyang-kth / fmm

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

Not matching even a single point #185

Closed cvmlddev closed 3 years ago

cvmlddev commented 3 years ago

Describe the bug Used the following steps to run fmm

  1. cd example/command_line_example
  2. ubodt_gen --network ../data/test/edges.shp --output ubodt.txt --delta 3
  3. fmm --ubodt ubodt.txt --network ../data/test/edges.shp --gps ../data/test/trips.shp -k 4 -r 0.4 -e 0.5 --output mr.txt

Getting the following output [info][fmm_app_config.cpp:49 ] Start reading FMM configuration from arguments [info][fmm_app_config.cpp:78 ] Finish with reading FMM arg configuration [info][fmm_app_config.cpp:98 ] ---- Print configuration ---- [info][network_config.cpp:6 ] NetworkConfig [info][network_config.cpp:7 ] File name: ../data/test/Jamshedpur/edges.shp [info][network_config.cpp:8 ] ID name: fid [info][network_config.cpp:9 ] Source name: u [info][network_config.cpp:10 ] Target name: v [info][gps_config.cpp:13 ] GPS format: CSV trajectory [info][gps_config.cpp:14 ] File name: ../data/test/jamshedpur_gps_output.csv [info][gps_config.cpp:15 ] ID name: id [info][gps_config.cpp:16 ] Geom name: geom [info][gps_config.cpp:17 ] Timestamp name: timestamp [info][result_config.cpp:34 ] ResultConfig [info][result_config.cpp:35 ] File: mr.txt [info][result_config.cpp:36 ] Fields: cpath mgeom [info][fmm_algorithm.cpp:27 ] FMMAlgorithmConfig [info][fmm_algorithm.cpp:29 ] k 4 radius 0.4 gps_error 0.5 reverse_tolerance 0.3 [info][fmm_app_config.cpp:103] Log level 2-info [info][fmm_app_config.cpp:104] Step 100 [info][fmm_app_config.cpp:105] Use omp false [info][fmm_app_config.cpp:106] ---- Print configuration done ---- [warning][result_config.cpp:221] Overwrite existing result file mr.txt [info][network.cpp:72 ] Read network from file ../data/test/Jamshedpur/edges.shp [info][network.cpp:170] Number of edges 5209 nodes 1909 [info][network.cpp:172] Field index: id 14 source 11 target 12 [info][network.cpp:174] Read network done. [info][network_graph.cpp:17 ] Construct graph from network edges start [info][network_graph.cpp:30 ] Graph nodes 1909 edges 5209 [info][network_graph.cpp:31 ] Construct graph from network edges end [info][ubodt.cpp:208] Reading UBODT file (CSV format) from ubodt.txt [info][ubodt.cpp:236] Read rows 1000000 [info][ubodt.cpp:236] Read rows 2000000 [info][ubodt.cpp:236] Read rows 3000000 [info][ubodt.cpp:243] Finish reading UBODT with rows 3629046 [info][ubodt.cpp:202] Read UBODT file in 3.143 seconds [info][gps_reader.cpp:341] GPS data in trajectory CSV format [warning][gps_reader.cpp:141] Timestamp column timestamp not found [info][gps_reader.cpp:144] Id index 1 Geometry index 2 Timstamp index -1 [info][fmm_app.cpp:27 ] Progress report step 100 [info][fmm_app.cpp:29 ] Start to match trajectories [info][fmm_app.cpp:58 ] Run map matching in single thread [info][fmm_app.cpp:61 ] Progress 0 [info][fmm_app.cpp:75 ] MM process finished [info][fmm_app.cpp:79 ] Time takes 0.012 [info][fmm_app.cpp:80 ] Time takes excluding input 0.002 [info][fmm_app.cpp:82 ] Finish map match total points 159 matched 0 [info][fmm_app.cpp:83 ] Matched percentage: 0 [info][fmm_app.cpp:84 ] Point match speed: 0 [info][fmm_app.cpp:86 ] Point match speed (excluding input): 0 [info][fmm_app.cpp:87 ] Time takes 0.012

.shp network file was generatd using OSMNX as mentioned in https://github.com/cyang-kth/osm_mapmatching .csv trip file was generated by converting using the tool

Link to files

Expected behavior Expecting to get a match

Screenshots The pink line is the gpx file, In the background is the OSM .shp file . Clearly, 0 matches is not correct

Screenshot 2021-03-20 at 6 05 47 PM
cvmlddev commented 3 years ago

Solved it by reversing Lat long order.

LidaGuo1999 commented 3 years ago

Sorry, but I don't know what do you mean by reversing Lat long order. Can you explain it more specifically?