Skip to content

v1.2.0

Choose a tag to compare

@addy90 addy90 released this 02 Apr 11:03
· 21 commits to main since this release

This is a new feature release with the following new options and build updates:

  • We updated the libraries Boost to 1.90.0, csv-parser to 2.5.2, expat to 2.7.5, libosmium to 2.23.1, and zlib to 1.3.2
  • We updated the CMake build system to 4.2 due to changes in the zlib upstream package
  • We went back from the completely static build to a build that depends on glibc again, because of crashes. We know it was never recommended to do so. However, since we still build on Ubuntu 20.04 LTS and glibc is upwards-compatible, it should work on any recent system. If not, please let us know.
  • We reworked the error calculation when a skip is considered within a match, to prevent it further as to a last resort when nothing else works. The error is now higher and no longer dependent of the position of the track point in the track. It should reduce introduced gaps compared to before.
  • We made the importing of numbers more robust and more platform independent. The newson-krumm data set did not import correctly on Windows before, which is now fixed thanks to this change.
  • We reworked the export-edges mode. Previously, the export-edges setting overwrote the match column in the output with a re-extracted match based on the complete road network edges. This still is possible, but now, the edges column can be added to the output columns instead, to export both results simultaneously.
  • We reworked the candidates export setting. Previously, all candidates were exported, which polluted the file. Now only the candidates that are part of the resulting match are exported. The new candidates-export-all setting allows for the old behavior but has to be opted in now when all candidates are of interest. Also, the from and to columns are now off by default, but can still be enabled, as well as the is_result column that is only automatically enabled when candidates-export-all is on.
  • We have a new time-interpolation for the match times that interpolates the timings based on the prepared track (the track that is actually matched after trajectory-simplification has been applied). By default, the times are interpolated based on geometric distances, but the interpolation can also be set to points for interpolating based on the number of points, or none for no interpolation. The interpolated times are only outputted when the new match_times column is specified and for every point in the match WKT line, a corresponding time is given in the list. This works similar to the track_times and prepared_times. The trajectory-simplification can also be disabled so that the original track times are used for interpolating the match times, which improves time accuracy but reduces matching accuracy at the same time.
  • We have a new concatenate-skips setting that concatenates partial matches (i.e., MultiLineString WKT lines) and makes them into LineString WKT lines again, when it is possible, i.e., when there exist routes between the partial matches. This setting also sets a new export-routing-max-distance-factor-override to disabled so that eventually, the partial matches can be connected, even when they have a very large distance. By default, the concatenate-skips setting is disabled and the export-routing-max-distance-factor-override is set to the same value as routing-max-distance-factor, which is used during optimization to limit routing distance. Be warned that this almost always makes the match less accurate, because there is generally a reason why a gap exists in the match. But if you need a complete line without gaps, this setting is for you. However, it also depends on the next point:
  • We have a new remove-oneway-dead-end setting on preparing road network graphs for removing parts of the road network that can only be routed into but not out of it, for example, oneways that lead somewhere but no returning edges exist. This can happen as part of map errors or when osm tags are filtered in such a way that such oneways remain whereas the returning roads are filtered out. This is best used in combination with remove-unconnected and concatenate-skips to make sure that all MultiLineStrings can be connected into one single LineString.

Full Changelog: v1.1.7...v1.2.0