[mkgmap-dev] Unit tests in trunk fail
From WanMil wmgcnfg at web.de on Sun Jan 5 14:53:28 GMT 2014
Hi Gerd, attached patch also contains fixes to the junit tests. The performance is at least the same using the patch. If you don't oppose the patch I want to commit it. WanMil > Hi Gerd, > > the SimpleTest also randomly fails because the number of resulting lines > is sometimes different. > > You are right that the roadmerger does not change the number of lines in > roundabouts. But there are other ways similar to roundabouts: > http://www.openstreetmap.org/?mlat=51.25946&mlon=6.74760&zoom=17#map=19/51.25990/6.74788 > > I guess such ways are responsible for different number of lines. > > Anyhow I have found a quite easy way to make the RoadMerger stable. > When creating the list of roads I copy all start and end points to a > list. This list is stable. Step by step I go through this list to find > merge candidates. No matter if we allow to merge ways to a closed way > this procedure is stable. > Sorting at the end is still required because the roads are copied from > the IdentityHashMap to the resulting list and this is not stable. > > Attached patch also contains the creation of a debugging file at the end > of the RoadMerger.merge procedure. The output contains informations > about the roads which makes it easy to compare two runs of mkgmap. > > Please give it a check if that solves your problem. I will have a look > on the tests and if the performance is still acceptable using the patch. > > WanMil > >> Hi WanMil, >> >> it's a unit test regarding the style finalizer section which fails and I >> don't know why. >> >> reg. RoadMerger: >> it makes no sense to create closed ways because we would split them >> again later in StyledConverter. >> I don't understand the idea about roundabouts. >> If one is divided into 4 parts you can do 2 merges without closing it, >> no matter which >> parts you connect first, and you should always get 2 remaining parts. >> Assumes part a,b,c and d: >> a+b and c+d or >> a+b and a_b + c or >> b+c and d+a or >> b+c and b_c + d or >> b+c and a + b_c or >> ... >> >> Gerd >> >> > Date: Sun, 5 Jan 2014 12:37:09 +0100 >> > From: wmgcnfg at web.de >> > To: mkgmap-dev at lists.mkgmap.org.uk >> > Subject: Re: [mkgmap-dev] Unit tests in trunk fail >> > >> > Hi Gerd, >> > >> > I think I found the problem: >> > >> > // check if merging would create a closed way - which should not >> > // be done (why? WanMil) >> > if (cStart == cOtherEnd) { >> > return false; >> > } >> > >> > The RoadMerger avoids to create closed roads. In case the roads are >> not >> > merged in exactly the same order this is the reason for different >> merge >> > results due to roundabouts. In case a roundabout is divided in >> multiple >> > ways the number of merged ways is random. >> > >> > At the moment I have no time to check that more in detail but I think >> > the code listed above can be removed. >> > >> > WanMil >> > >> > > Hi WanMil, >> > > >> > > please have a look, I don't fully understand why. >> > > >> > > Gerd >> > > >> > > >> > > _______________________________________________ >> > > mkgmap-dev mailing list >> > > mkgmap-dev at lists.mkgmap.org.uk >> > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> > > >> > >> > _______________________________________________ >> > mkgmap-dev mailing list >> > mkgmap-dev at lists.mkgmap.org.uk >> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> >> >> _______________________________________________ >> mkgmap-dev mailing list >> mkgmap-dev at lists.mkgmap.org.uk >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> > > > > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > -------------- next part -------------- A non-text attachment was scrubbed... Name: mergeroads_stable_v2.patch Type: text/x-patch Size: 9236 bytes Desc: not available URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20140105/3a8d94d5/attachment-0001.bin>
- Previous message: [mkgmap-dev] Unit tests in trunk fail
- Next message: [mkgmap-dev] Unit tests in trunk fail
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list