
Hi Steve, I think that means that the current code is not correct. HousenumberGenerator may create Numbers with O,1,x,N,0,0 When I change Numbers to set default -1 for the start and end values the resulting img file changes and NetDisplay followed by grep Numbers shows different numbers, e.g. | | | Numbers 43,O,1,1,N,-1,-1 | | | Numbers 44,N,-1,-1,E,36,36 instead of the trunk result: | | | Numbers 43,O,-31,-31,N,-1,-1 | | | Numbers 44,N,-1,-1,E,6,4 Besides that the img file with defaults -1 is a bit smaller, so I think we should change that in trunk (with the attached patch) Gerd
Date: Wed, 22 Apr 2015 00:06:56 +0100 From: steve@parabola.me.uk To: mkgmap-dev@lists.mkgmap.org.uk Subject: Re: [mkgmap-dev] error in NumberPreparer?
Hi Gerd
In normal processing, the fields are 0 when style is NONE, but NumberRangeTest.java sets them to -1 and this really produces different bit streams in some cases, e.g. when iter == 306 the following test case is generated: [0,O,9,7,O,7,5, 1,B,8,2,O,3,5, 2,O,1,1,N,-1,-1]
I had time to look into this. The ones that go wrong are where there is 'O' on the left beginning with 1, and 'N' on the right. As in your example above.
It turns out that using -1 as the default value of getRightStart() is required or else the value of zero must be treated specially in equalizeBases() by adding 'if (right.targetStart == 0) return false;'
..Steve
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev