Open yakra opened 5 years ago
For now, the existing tm-master.nmp is still written the old way, for comparison purposes, in logs/. The new one is written in graphs/, and is looking good. Only a few differences:
[LOOKS INTENTIONAL] pairs: fixed a bug where pairs were flagged LI inappropriately.
[MARKED FP] pairs are a little more robust. Originally,
nor.harvtv@+X381735 60.421426 7.210926
nor.harvtv@+X885397 60.421458 7.210937
was not flagged FP, because that would require an entry in nmpfps.log for nor.harvtv@+X381735
, which we don't have. The new way checks for FP entries for any colocated point at the first listed vertex (which we have for nor.rv007 +X381735
), yielding
nor.harvtv@+X381735 60.421426 7.210926 FP
nor.harvtv@+X885397 60.421458 7.210937 FP
Next up, replace the traditional "root@label" style point labels with vertex labels from the graph structure. More useful IMO.
ToDo: Small changes to Route::write_nmp_merged were required. Gotta make sure I didn't break anything.
The new graphs/tm.master.tmg has 3150 lines, compared to 8130 lines in the old logs/tm-master.tmg. Still a bit laggy, but considerably faster in the HDX.
C++ on BiggaTomato:
Edit: Total graph (including .nmp) generation time takes 4 - 7.3 s, 6 s average, longer. This is without a fix for missing border NMPs as described below.
Bug?
ME113Cha@NH113B_N&NH113B@ME113_N 44.201084 -71.00583 FP
ME113Fry/ME113Cha@ME/NH 44.20086 -71.00575 FP
is included in NH-region.nmp, but not ME-region.nmp.
This is because the "primary" point, the one whose vertex name comes 1st asciibetically, is in NH rather than in ME or on the border (IE, in both regions).
A workaround should be fairly easy, but could slow things down a tiny bit depending on how it's done.
Oh boy. I've spent a whole day working on this, before realizing that NMP pairs with both points only in devel systems won't be detected... :(
Edit: Stashing these changes on a separate branch. Going to leave this alone for a while until I can figure out a sensible way to be sure devel-only points are included.
It seems a little kludgey, but the beginnings of one idea are to set aside an unordered_set of devel-only points here, for processing later on...
Despite the mention in #285, this is still not a big priority for me.
simple_waypoint_name()
?
June 16, 2017, @michih wrote:
Bad redundancy.
1 pair of unique point locations
balloons out to 9 point pairs, because each location in this example has 3 colocated points:
Just having 2 lines in the NMP file would be cleaner and more usable, but that would break the nmpbyregion filter as it's used now. A solution is to create .nmp files during graph generation.
Advantages:
A few of the variables & functions already in place will be helpful; this shouldn't be too terribly difficult.
This would address part of #150.
nearmisspoints.log, nmpfps.log, and nmp_merged .wpt files can otherwise stay as they are, though there are possibilities for improving those in the future too.